// <auto-generated />
#nullable enable
#pragma warning disable CS1591

using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;

namespace CounterStrikeSharp.API.Core;

public partial class CBasePlayerWeapon : CEconEntity
{
    public CBasePlayerWeapon (IntPtr pointer) : base(pointer) {}

	// m_nNextPrimaryAttackTick
	[SchemaMember("CBasePlayerWeapon", "m_nNextPrimaryAttackTick")]
	public ref Int32 NextPrimaryAttackTick => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeapon", "m_nNextPrimaryAttackTick");

	// m_flNextPrimaryAttackTickRatio
	[SchemaMember("CBasePlayerWeapon", "m_flNextPrimaryAttackTickRatio")]
	public ref float NextPrimaryAttackTickRatio => ref Schema.GetRef<float>(this.Handle, "CBasePlayerWeapon", "m_flNextPrimaryAttackTickRatio");

	// m_nNextSecondaryAttackTick
	[SchemaMember("CBasePlayerWeapon", "m_nNextSecondaryAttackTick")]
	public ref Int32 NextSecondaryAttackTick => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeapon", "m_nNextSecondaryAttackTick");

	// m_flNextSecondaryAttackTickRatio
	[SchemaMember("CBasePlayerWeapon", "m_flNextSecondaryAttackTickRatio")]
	public ref float NextSecondaryAttackTickRatio => ref Schema.GetRef<float>(this.Handle, "CBasePlayerWeapon", "m_flNextSecondaryAttackTickRatio");

	// m_iClip1
	[SchemaMember("CBasePlayerWeapon", "m_iClip1")]
	public ref Int32 Clip1 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeapon", "m_iClip1");

	// m_iClip2
	[SchemaMember("CBasePlayerWeapon", "m_iClip2")]
	public ref Int32 Clip2 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeapon", "m_iClip2");

	// m_pReserveAmmo
	[SchemaMember("CBasePlayerWeapon", "m_pReserveAmmo")]
	public Span<Int32> ReserveAmmo => Schema.GetFixedArray<Int32>(this.Handle, "CBasePlayerWeapon", "m_pReserveAmmo", 2);

	// m_OnPlayerUse
	[SchemaMember("CBasePlayerWeapon", "m_OnPlayerUse")]
	public CEntityIOOutput OnPlayerUse => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePlayerWeapon", "m_OnPlayerUse");

}
