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

	// m_bHasTriggerRadius
	[SchemaMember("CItemGeneric", "m_bHasTriggerRadius")]
	public ref bool HasTriggerRadius => ref Schema.GetRef<bool>(this.Handle, "CItemGeneric", "m_bHasTriggerRadius");

	// m_bHasPickupRadius
	[SchemaMember("CItemGeneric", "m_bHasPickupRadius")]
	public ref bool HasPickupRadius => ref Schema.GetRef<bool>(this.Handle, "CItemGeneric", "m_bHasPickupRadius");

	// m_flPickupRadiusSqr
	[SchemaMember("CItemGeneric", "m_flPickupRadiusSqr")]
	public ref float PickupRadiusSqr => ref Schema.GetRef<float>(this.Handle, "CItemGeneric", "m_flPickupRadiusSqr");

	// m_flTriggerRadiusSqr
	[SchemaMember("CItemGeneric", "m_flTriggerRadiusSqr")]
	public ref float TriggerRadiusSqr => ref Schema.GetRef<float>(this.Handle, "CItemGeneric", "m_flTriggerRadiusSqr");

	// m_flLastPickupCheck
	[SchemaMember("CItemGeneric", "m_flLastPickupCheck")]
	public ref float LastPickupCheck => ref Schema.GetRef<float>(this.Handle, "CItemGeneric", "m_flLastPickupCheck");

	// m_bPlayerCounterListenerAdded
	[SchemaMember("CItemGeneric", "m_bPlayerCounterListenerAdded")]
	public ref bool PlayerCounterListenerAdded => ref Schema.GetRef<bool>(this.Handle, "CItemGeneric", "m_bPlayerCounterListenerAdded");

	// m_bPlayerInTriggerRadius
	[SchemaMember("CItemGeneric", "m_bPlayerInTriggerRadius")]
	public ref bool PlayerInTriggerRadius => ref Schema.GetRef<bool>(this.Handle, "CItemGeneric", "m_bPlayerInTriggerRadius");

	// m_hSpawnParticleEffect
	[SchemaMember("CItemGeneric", "m_hSpawnParticleEffect")]
	public CStrongHandle<InfoForResourceTypeIParticleSystemDefinition> SpawnParticleEffect => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>>(this.Handle, "CItemGeneric", "m_hSpawnParticleEffect");

	// m_pAmbientSoundEffect
	[SchemaMember("CItemGeneric", "m_pAmbientSoundEffect")]
	public string AmbientSoundEffect
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pAmbientSoundEffect"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pAmbientSoundEffect", value); }
	}

	// m_bAutoStartAmbientSound
	[SchemaMember("CItemGeneric", "m_bAutoStartAmbientSound")]
	public ref bool AutoStartAmbientSound => ref Schema.GetRef<bool>(this.Handle, "CItemGeneric", "m_bAutoStartAmbientSound");

	// m_pSpawnScriptFunction
	[SchemaMember("CItemGeneric", "m_pSpawnScriptFunction")]
	public string SpawnScriptFunction
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pSpawnScriptFunction"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pSpawnScriptFunction", value); }
	}

	// m_hPickupParticleEffect
	[SchemaMember("CItemGeneric", "m_hPickupParticleEffect")]
	public CStrongHandle<InfoForResourceTypeIParticleSystemDefinition> PickupParticleEffect => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>>(this.Handle, "CItemGeneric", "m_hPickupParticleEffect");

	// m_pPickupSoundEffect
	[SchemaMember("CItemGeneric", "m_pPickupSoundEffect")]
	public string PickupSoundEffect
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pPickupSoundEffect"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pPickupSoundEffect", value); }
	}

	// m_pPickupScriptFunction
	[SchemaMember("CItemGeneric", "m_pPickupScriptFunction")]
	public string PickupScriptFunction
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pPickupScriptFunction"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pPickupScriptFunction", value); }
	}

	// m_hTimeoutParticleEffect
	[SchemaMember("CItemGeneric", "m_hTimeoutParticleEffect")]
	public CStrongHandle<InfoForResourceTypeIParticleSystemDefinition> TimeoutParticleEffect => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>>(this.Handle, "CItemGeneric", "m_hTimeoutParticleEffect");

	// m_pTimeoutSoundEffect
	[SchemaMember("CItemGeneric", "m_pTimeoutSoundEffect")]
	public string TimeoutSoundEffect
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pTimeoutSoundEffect"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pTimeoutSoundEffect", value); }
	}

	// m_pTimeoutScriptFunction
	[SchemaMember("CItemGeneric", "m_pTimeoutScriptFunction")]
	public string TimeoutScriptFunction
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pTimeoutScriptFunction"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pTimeoutScriptFunction", value); }
	}

	// m_pPickupFilterName
	[SchemaMember("CItemGeneric", "m_pPickupFilterName")]
	public string PickupFilterName
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pPickupFilterName"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pPickupFilterName", value); }
	}

	// m_hPickupFilter
	[SchemaMember("CItemGeneric", "m_hPickupFilter")]
	public CHandle<CBaseFilter> PickupFilter => Schema.GetDeclaredClass<CHandle<CBaseFilter>>(this.Handle, "CItemGeneric", "m_hPickupFilter");

	// m_OnPickup
	[SchemaMember("CItemGeneric", "m_OnPickup")]
	public CEntityIOOutput OnPickup => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CItemGeneric", "m_OnPickup");

	// m_OnTimeout
	[SchemaMember("CItemGeneric", "m_OnTimeout")]
	public CEntityIOOutput OnTimeout => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CItemGeneric", "m_OnTimeout");

	// m_OnTriggerStartTouch
	[SchemaMember("CItemGeneric", "m_OnTriggerStartTouch")]
	public CEntityIOOutput OnTriggerStartTouch => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CItemGeneric", "m_OnTriggerStartTouch");

	// m_OnTriggerTouch
	[SchemaMember("CItemGeneric", "m_OnTriggerTouch")]
	public CEntityIOOutput OnTriggerTouch => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CItemGeneric", "m_OnTriggerTouch");

	// m_OnTriggerEndTouch
	[SchemaMember("CItemGeneric", "m_OnTriggerEndTouch")]
	public CEntityIOOutput OnTriggerEndTouch => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CItemGeneric", "m_OnTriggerEndTouch");

	// m_pAllowPickupScriptFunction
	[SchemaMember("CItemGeneric", "m_pAllowPickupScriptFunction")]
	public string AllowPickupScriptFunction
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pAllowPickupScriptFunction"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pAllowPickupScriptFunction", value); }
	}

	// m_flPickupRadius
	[SchemaMember("CItemGeneric", "m_flPickupRadius")]
	public ref float PickupRadius => ref Schema.GetRef<float>(this.Handle, "CItemGeneric", "m_flPickupRadius");

	// m_flTriggerRadius
	[SchemaMember("CItemGeneric", "m_flTriggerRadius")]
	public ref float TriggerRadius => ref Schema.GetRef<float>(this.Handle, "CItemGeneric", "m_flTriggerRadius");

	// m_pTriggerSoundEffect
	[SchemaMember("CItemGeneric", "m_pTriggerSoundEffect")]
	public string TriggerSoundEffect
	{
		get { return Schema.GetUtf8String(this.Handle, "CItemGeneric", "m_pTriggerSoundEffect"); }
		set { Schema.SetString(this.Handle, "CItemGeneric", "m_pTriggerSoundEffect", value); }
	}

	// m_bGlowWhenInTrigger
	[SchemaMember("CItemGeneric", "m_bGlowWhenInTrigger")]
	public ref bool GlowWhenInTrigger => ref Schema.GetRef<bool>(this.Handle, "CItemGeneric", "m_bGlowWhenInTrigger");

	// m_glowColor
	[SchemaMember("CItemGeneric", "m_glowColor")]
	public Color GlowColor
	{
		get { return Schema.GetCustomMarshalledType<Color>(this.Handle, "CItemGeneric", "m_glowColor"); }
		set { Schema.SetCustomMarshalledType<Color>(this.Handle, "CItemGeneric", "m_glowColor", value); }
	}

	// m_bUseable
	[SchemaMember("CItemGeneric", "m_bUseable")]
	public ref bool Useable => ref Schema.GetRef<bool>(this.Handle, "CItemGeneric", "m_bUseable");

	// m_hTriggerHelper
	[SchemaMember("CItemGeneric", "m_hTriggerHelper")]
	public CHandle<CItemGenericTriggerHelper> TriggerHelper => Schema.GetDeclaredClass<CHandle<CItemGenericTriggerHelper>>(this.Handle, "CItemGeneric", "m_hTriggerHelper");

}
