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

	// m_bBuiltRightHanded
	[SchemaMember("CBasePlayerWeaponVData", "m_bBuiltRightHanded")]
	public ref bool BuiltRightHanded => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bBuiltRightHanded");

	// m_bAllowFlipping
	[SchemaMember("CBasePlayerWeaponVData", "m_bAllowFlipping")]
	public ref bool AllowFlipping => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bAllowFlipping");

	// m_szMuzzleFlashParticleConfig
	[SchemaMember("CBasePlayerWeaponVData", "m_szMuzzleFlashParticleConfig")]
	public string MuzzleFlashParticleConfig
	{
		get { return Schema.GetUtf8String(this.Handle, "CBasePlayerWeaponVData", "m_szMuzzleFlashParticleConfig"); }
		set { Schema.SetString(this.Handle, "CBasePlayerWeaponVData", "m_szMuzzleFlashParticleConfig", value); }
	}

	// m_nMuzzleSmokeShotThreshold
	[SchemaMember("CBasePlayerWeaponVData", "m_nMuzzleSmokeShotThreshold")]
	public ref byte MuzzleSmokeShotThreshold => ref Schema.GetRef<byte>(this.Handle, "CBasePlayerWeaponVData", "m_nMuzzleSmokeShotThreshold");

	// m_flMuzzleSmokeTimeout
	[SchemaMember("CBasePlayerWeaponVData", "m_flMuzzleSmokeTimeout")]
	public ref float MuzzleSmokeTimeout => ref Schema.GetRef<float>(this.Handle, "CBasePlayerWeaponVData", "m_flMuzzleSmokeTimeout");

	// m_flMuzzleSmokeDecrementRate
	[SchemaMember("CBasePlayerWeaponVData", "m_flMuzzleSmokeDecrementRate")]
	public ref float MuzzleSmokeDecrementRate => ref Schema.GetRef<float>(this.Handle, "CBasePlayerWeaponVData", "m_flMuzzleSmokeDecrementRate");

	// m_bLinkedCooldowns
	[SchemaMember("CBasePlayerWeaponVData", "m_bLinkedCooldowns")]
	public ref bool LinkedCooldowns => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bLinkedCooldowns");

	// m_iFlags
	[SchemaMember("CBasePlayerWeaponVData", "m_iFlags")]
	public ref ItemFlagTypes_t Flags => ref Schema.GetRef<ItemFlagTypes_t>(this.Handle, "CBasePlayerWeaponVData", "m_iFlags");

	// m_nPrimaryAmmoType
	[SchemaMember("CBasePlayerWeaponVData", "m_nPrimaryAmmoType")]
	public ref byte PrimaryAmmoType => ref Schema.GetRef<byte>(this.Handle, "CBasePlayerWeaponVData", "m_nPrimaryAmmoType");

	// m_nSecondaryAmmoType
	[SchemaMember("CBasePlayerWeaponVData", "m_nSecondaryAmmoType")]
	public ref byte SecondaryAmmoType => ref Schema.GetRef<byte>(this.Handle, "CBasePlayerWeaponVData", "m_nSecondaryAmmoType");

	// m_iMaxClip1
	[SchemaMember("CBasePlayerWeaponVData", "m_iMaxClip1")]
	public ref Int32 MaxClip1 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iMaxClip1");

	// m_iMaxClip2
	[SchemaMember("CBasePlayerWeaponVData", "m_iMaxClip2")]
	public ref Int32 MaxClip2 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iMaxClip2");

	// m_iDefaultClip1
	[SchemaMember("CBasePlayerWeaponVData", "m_iDefaultClip1")]
	public ref Int32 DefaultClip1 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iDefaultClip1");

	// m_iDefaultClip2
	[SchemaMember("CBasePlayerWeaponVData", "m_iDefaultClip2")]
	public ref Int32 DefaultClip2 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iDefaultClip2");

	// m_bReserveAmmoAsClips
	[SchemaMember("CBasePlayerWeaponVData", "m_bReserveAmmoAsClips")]
	public ref bool ReserveAmmoAsClips => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bReserveAmmoAsClips");

	// m_bTreatAsSingleClip
	[SchemaMember("CBasePlayerWeaponVData", "m_bTreatAsSingleClip")]
	public ref bool TreatAsSingleClip => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bTreatAsSingleClip");

	// m_iWeight
	[SchemaMember("CBasePlayerWeaponVData", "m_iWeight")]
	public ref Int32 Weight => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iWeight");

	// m_bAutoSwitchTo
	[SchemaMember("CBasePlayerWeaponVData", "m_bAutoSwitchTo")]
	public ref bool AutoSwitchTo => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bAutoSwitchTo");

	// m_bAutoSwitchFrom
	[SchemaMember("CBasePlayerWeaponVData", "m_bAutoSwitchFrom")]
	public ref bool AutoSwitchFrom => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bAutoSwitchFrom");

	// m_iRumbleEffect
	[SchemaMember("CBasePlayerWeaponVData", "m_iRumbleEffect")]
	public ref RumbleEffect_t RumbleEffect => ref Schema.GetRef<RumbleEffect_t>(this.Handle, "CBasePlayerWeaponVData", "m_iRumbleEffect");

	// m_flDropSpeed
	[SchemaMember("CBasePlayerWeaponVData", "m_flDropSpeed")]
	public ref float DropSpeed => ref Schema.GetRef<float>(this.Handle, "CBasePlayerWeaponVData", "m_flDropSpeed");

	// m_iSlot
	[SchemaMember("CBasePlayerWeaponVData", "m_iSlot")]
	public ref Int32 Slot => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iSlot");

	// m_iPosition
	[SchemaMember("CBasePlayerWeaponVData", "m_iPosition")]
	public ref Int32 Position => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iPosition");

}
