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

	// m_OnStartTouch
	[SchemaMember("CBaseTrigger", "m_OnStartTouch")]
	public CEntityIOOutput OnStartTouch => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnStartTouch");

	// m_OnStartTouchAll
	[SchemaMember("CBaseTrigger", "m_OnStartTouchAll")]
	public CEntityIOOutput OnStartTouchAll => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnStartTouchAll");

	// m_OnEndTouch
	[SchemaMember("CBaseTrigger", "m_OnEndTouch")]
	public CEntityIOOutput OnEndTouch => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnEndTouch");

	// m_OnEndTouchAll
	[SchemaMember("CBaseTrigger", "m_OnEndTouchAll")]
	public CEntityIOOutput OnEndTouchAll => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnEndTouchAll");

	// m_OnTouching
	[SchemaMember("CBaseTrigger", "m_OnTouching")]
	public CEntityIOOutput OnTouching => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnTouching");

	// m_OnTouchingEachEntity
	[SchemaMember("CBaseTrigger", "m_OnTouchingEachEntity")]
	public CEntityIOOutput OnTouchingEachEntity => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnTouchingEachEntity");

	// m_OnNotTouching
	[SchemaMember("CBaseTrigger", "m_OnNotTouching")]
	public CEntityIOOutput OnNotTouching => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnNotTouching");

	// m_hTouchingEntities
	[SchemaMember("CBaseTrigger", "m_hTouchingEntities")]
	public NetworkedVector<CHandle<CBaseEntity>> TouchingEntities => Schema.GetDeclaredClass<NetworkedVector<CHandle<CBaseEntity>>>(this.Handle, "CBaseTrigger", "m_hTouchingEntities");

	// m_iFilterName
	[SchemaMember("CBaseTrigger", "m_iFilterName")]
	public string FilterName
	{
		get { return Schema.GetUtf8String(this.Handle, "CBaseTrigger", "m_iFilterName"); }
		set { Schema.SetString(this.Handle, "CBaseTrigger", "m_iFilterName", value); }
	}

	// m_hFilter
	[SchemaMember("CBaseTrigger", "m_hFilter")]
	public CHandle<CBaseFilter> Filter => Schema.GetDeclaredClass<CHandle<CBaseFilter>>(this.Handle, "CBaseTrigger", "m_hFilter");

	// m_bDisabled
	[SchemaMember("CBaseTrigger", "m_bDisabled")]
	public ref bool Disabled => ref Schema.GetRef<bool>(this.Handle, "CBaseTrigger", "m_bDisabled");

	// m_bUseAsyncQueries
	[SchemaMember("CBaseTrigger", "m_bUseAsyncQueries")]
	public ref bool UseAsyncQueries => ref Schema.GetRef<bool>(this.Handle, "CBaseTrigger", "m_bUseAsyncQueries");

}
