// <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 CCSWeaponBase : CBasePlayerWeapon
{
    public CCSWeaponBase (IntPtr pointer) : base(pointer) {}

	// m_bRemoveable
	[SchemaMember("CCSWeaponBase", "m_bRemoveable")]
	public ref bool Removeable => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bRemoveable");

	// m_thirdPersonFireSequences
	[SchemaMember("CCSWeaponBase", "m_thirdPersonFireSequences")]
	public NetworkedVector<Int32> ThirdPersonFireSequences => Schema.GetDeclaredClass<NetworkedVector<Int32>>(this.Handle, "CCSWeaponBase", "m_thirdPersonFireSequences");

	// m_hCurrentThirdPersonSequence
	[SchemaMember("CCSWeaponBase", "m_hCurrentThirdPersonSequence")]
	public ref Int32 CurrentThirdPersonSequence => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_hCurrentThirdPersonSequence");

	// m_thirdPersonSequences
	[SchemaMember("CCSWeaponBase", "m_thirdPersonSequences")]
	public Span<Int32> ThirdPersonSequences => Schema.GetFixedArray<Int32>(this.Handle, "CCSWeaponBase", "m_thirdPersonSequences", 7);

	// m_bPlayerAmmoStockOnPickup
	[SchemaMember("CCSWeaponBase", "m_bPlayerAmmoStockOnPickup")]
	public ref bool PlayerAmmoStockOnPickup => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bPlayerAmmoStockOnPickup");

	// m_bRequireUseToTouch
	[SchemaMember("CCSWeaponBase", "m_bRequireUseToTouch")]
	public ref bool RequireUseToTouch => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bRequireUseToTouch");

	// m_iWeaponGameplayAnimState
	[SchemaMember("CCSWeaponBase", "m_iWeaponGameplayAnimState")]
	public ref WeaponGameplayAnimState WeaponGameplayAnimState => ref Schema.GetRef<WeaponGameplayAnimState>(this.Handle, "CCSWeaponBase", "m_iWeaponGameplayAnimState");

	// m_flWeaponGameplayAnimStateTimestamp
	[SchemaMember("CCSWeaponBase", "m_flWeaponGameplayAnimStateTimestamp")]
	public ref float WeaponGameplayAnimStateTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flWeaponGameplayAnimStateTimestamp");

	// m_flInspectCancelCompleteTime
	[SchemaMember("CCSWeaponBase", "m_flInspectCancelCompleteTime")]
	public ref float InspectCancelCompleteTime => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flInspectCancelCompleteTime");

	// m_bInspectPending
	[SchemaMember("CCSWeaponBase", "m_bInspectPending")]
	public ref bool InspectPending => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bInspectPending");

	// m_bInspectShouldLoop
	[SchemaMember("CCSWeaponBase", "m_bInspectShouldLoop")]
	public ref bool InspectShouldLoop => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bInspectShouldLoop");

	// m_nLastEmptySoundCmdNum
	[SchemaMember("CCSWeaponBase", "m_nLastEmptySoundCmdNum")]
	public ref Int32 LastEmptySoundCmdNum => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_nLastEmptySoundCmdNum");

	// m_bFireOnEmpty
	[SchemaMember("CCSWeaponBase", "m_bFireOnEmpty")]
	public ref bool FireOnEmpty => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bFireOnEmpty");

	// m_OnPlayerPickup
	[SchemaMember("CCSWeaponBase", "m_OnPlayerPickup")]
	public CEntityIOOutput OnPlayerPickup => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CCSWeaponBase", "m_OnPlayerPickup");

	// m_weaponMode
	[SchemaMember("CCSWeaponBase", "m_weaponMode")]
	public ref CSWeaponMode WeaponMode => ref Schema.GetRef<CSWeaponMode>(this.Handle, "CCSWeaponBase", "m_weaponMode");

	// m_flTurningInaccuracyDelta
	[SchemaMember("CCSWeaponBase", "m_flTurningInaccuracyDelta")]
	public ref float TurningInaccuracyDelta => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flTurningInaccuracyDelta");

	// m_vecTurningInaccuracyEyeDirLast
	[SchemaMember("CCSWeaponBase", "m_vecTurningInaccuracyEyeDirLast")]
	public Vector TurningInaccuracyEyeDirLast => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSWeaponBase", "m_vecTurningInaccuracyEyeDirLast");

	// m_flTurningInaccuracy
	[SchemaMember("CCSWeaponBase", "m_flTurningInaccuracy")]
	public ref float TurningInaccuracy => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flTurningInaccuracy");

	// m_fAccuracyPenalty
	[SchemaMember("CCSWeaponBase", "m_fAccuracyPenalty")]
	public ref float AccuracyPenalty => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_fAccuracyPenalty");

	// m_flLastAccuracyUpdateTime
	[SchemaMember("CCSWeaponBase", "m_flLastAccuracyUpdateTime")]
	public ref float LastAccuracyUpdateTime => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flLastAccuracyUpdateTime");

	// m_fAccuracySmoothedForZoom
	[SchemaMember("CCSWeaponBase", "m_fAccuracySmoothedForZoom")]
	public ref float AccuracySmoothedForZoom => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_fAccuracySmoothedForZoom");

	// m_iRecoilIndex
	[SchemaMember("CCSWeaponBase", "m_iRecoilIndex")]
	public ref Int32 IRecoilIndex => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_iRecoilIndex");

	// m_flRecoilIndex
	[SchemaMember("CCSWeaponBase", "m_flRecoilIndex")]
	public ref float FlRecoilIndex => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flRecoilIndex");

	// m_bBurstMode
	[SchemaMember("CCSWeaponBase", "m_bBurstMode")]
	public ref bool BurstMode => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bBurstMode");

	// m_nPostponeFireReadyTicks
	[SchemaMember("CCSWeaponBase", "m_nPostponeFireReadyTicks")]
	public ref Int32 PostponeFireReadyTicks => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_nPostponeFireReadyTicks");

	// m_flPostponeFireReadyFrac
	[SchemaMember("CCSWeaponBase", "m_flPostponeFireReadyFrac")]
	public ref float PostponeFireReadyFrac => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flPostponeFireReadyFrac");

	// m_bInReload
	[SchemaMember("CCSWeaponBase", "m_bInReload")]
	public ref bool InReload => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bInReload");

	// m_flDroppedAtTime
	[SchemaMember("CCSWeaponBase", "m_flDroppedAtTime")]
	public ref float DroppedAtTime => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flDroppedAtTime");

	// m_bIsHauledBack
	[SchemaMember("CCSWeaponBase", "m_bIsHauledBack")]
	public ref bool IsHauledBack => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bIsHauledBack");

	// m_bSilencerOn
	[SchemaMember("CCSWeaponBase", "m_bSilencerOn")]
	public ref bool SilencerOn => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bSilencerOn");

	// m_flTimeSilencerSwitchComplete
	[SchemaMember("CCSWeaponBase", "m_flTimeSilencerSwitchComplete")]
	public ref float TimeSilencerSwitchComplete => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flTimeSilencerSwitchComplete");

	// m_iOriginalTeamNumber
	[SchemaMember("CCSWeaponBase", "m_iOriginalTeamNumber")]
	public ref Int32 OriginalTeamNumber => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_iOriginalTeamNumber");

	// m_iMostRecentTeamNumber
	[SchemaMember("CCSWeaponBase", "m_iMostRecentTeamNumber")]
	public ref Int32 MostRecentTeamNumber => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_iMostRecentTeamNumber");

	// m_bDroppedNearBuyZone
	[SchemaMember("CCSWeaponBase", "m_bDroppedNearBuyZone")]
	public ref bool DroppedNearBuyZone => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bDroppedNearBuyZone");

	// m_flNextAttackRenderTimeOffset
	[SchemaMember("CCSWeaponBase", "m_flNextAttackRenderTimeOffset")]
	public ref float NextAttackRenderTimeOffset => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flNextAttackRenderTimeOffset");

	// m_bCanBePickedUp
	[SchemaMember("CCSWeaponBase", "m_bCanBePickedUp")]
	public ref bool CanBePickedUp => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bCanBePickedUp");

	// m_bUseCanOverrideNextOwnerTouchTime
	[SchemaMember("CCSWeaponBase", "m_bUseCanOverrideNextOwnerTouchTime")]
	public ref bool UseCanOverrideNextOwnerTouchTime => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bUseCanOverrideNextOwnerTouchTime");

	// m_nextOwnerTouchTime
	[SchemaMember("CCSWeaponBase", "m_nextOwnerTouchTime")]
	public ref float NextOwnerTouchTime => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_nextOwnerTouchTime");

	// m_nextPrevOwnerTouchTime
	[SchemaMember("CCSWeaponBase", "m_nextPrevOwnerTouchTime")]
	public ref float NextPrevOwnerTouchTime => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_nextPrevOwnerTouchTime");

	// m_nextPrevOwnerUseTime
	[SchemaMember("CCSWeaponBase", "m_nextPrevOwnerUseTime")]
	public ref float NextPrevOwnerUseTime => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_nextPrevOwnerUseTime");

	// m_hPrevOwner
	[SchemaMember("CCSWeaponBase", "m_hPrevOwner")]
	public CHandle<CCSPlayerPawn> PrevOwner => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CCSWeaponBase", "m_hPrevOwner");

	// m_nDropTick
	[SchemaMember("CCSWeaponBase", "m_nDropTick")]
	public ref Int32 DropTick => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_nDropTick");

	// m_bWasActiveWeaponWhenDropped
	[SchemaMember("CCSWeaponBase", "m_bWasActiveWeaponWhenDropped")]
	public ref bool WasActiveWeaponWhenDropped => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bWasActiveWeaponWhenDropped");

	// m_donated
	[SchemaMember("CCSWeaponBase", "m_donated")]
	public ref bool Donated => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_donated");

	// m_fLastShotTime
	[SchemaMember("CCSWeaponBase", "m_fLastShotTime")]
	public ref float LastShotTime => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_fLastShotTime");

	// m_bWasOwnedByCT
	[SchemaMember("CCSWeaponBase", "m_bWasOwnedByCT")]
	public ref bool WasOwnedByCT => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bWasOwnedByCT");

	// m_bWasOwnedByTerrorist
	[SchemaMember("CCSWeaponBase", "m_bWasOwnedByTerrorist")]
	public ref bool WasOwnedByTerrorist => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBase", "m_bWasOwnedByTerrorist");

	// m_numRemoveUnownedWeaponThink
	[SchemaMember("CCSWeaponBase", "m_numRemoveUnownedWeaponThink")]
	public ref Int32 NumRemoveUnownedWeaponThink => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_numRemoveUnownedWeaponThink");

	// m_IronSightController
	[SchemaMember("CCSWeaponBase", "m_IronSightController")]
	public CIronSightController IronSightController => Schema.GetDeclaredClass<CIronSightController>(this.Handle, "CCSWeaponBase", "m_IronSightController");

	// m_iIronSightMode
	[SchemaMember("CCSWeaponBase", "m_iIronSightMode")]
	public ref Int32 IronSightMode => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBase", "m_iIronSightMode");

	// m_flLastLOSTraceFailureTime
	[SchemaMember("CCSWeaponBase", "m_flLastLOSTraceFailureTime")]
	public ref float LastLOSTraceFailureTime => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flLastLOSTraceFailureTime");

	// m_flWatTickOffset
	[SchemaMember("CCSWeaponBase", "m_flWatTickOffset")]
	public ref float WatTickOffset => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBase", "m_flWatTickOffset");

}
