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

	// m_CPropDataComponent
	[SchemaMember("CBreakable", "m_CPropDataComponent")]
	public CPropDataComponent CPropDataComponent => Schema.GetDeclaredClass<CPropDataComponent>(this.Handle, "CBreakable", "m_CPropDataComponent");

	// m_Material
	[SchemaMember("CBreakable", "m_Material")]
	public ref Materials Material => ref Schema.GetRef<Materials>(this.Handle, "CBreakable", "m_Material");

	// m_hBreaker
	[SchemaMember("CBreakable", "m_hBreaker")]
	public CHandle<CBaseEntity> Breaker => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBreakable", "m_hBreaker");

	// m_Explosion
	[SchemaMember("CBreakable", "m_Explosion")]
	public ref Explosions Explosion => ref Schema.GetRef<Explosions>(this.Handle, "CBreakable", "m_Explosion");

	// m_iszSpawnObject
	[SchemaMember("CBreakable", "m_iszSpawnObject")]
	public string SpawnObject
	{
		get { return Schema.GetUtf8String(this.Handle, "CBreakable", "m_iszSpawnObject"); }
		set { Schema.SetString(this.Handle, "CBreakable", "m_iszSpawnObject", value); }
	}

	// m_flPressureDelay
	[SchemaMember("CBreakable", "m_flPressureDelay")]
	public ref float PressureDelay => ref Schema.GetRef<float>(this.Handle, "CBreakable", "m_flPressureDelay");

	// m_iMinHealthDmg
	[SchemaMember("CBreakable", "m_iMinHealthDmg")]
	public ref Int32 MinHealthDmg => ref Schema.GetRef<Int32>(this.Handle, "CBreakable", "m_iMinHealthDmg");

	// m_iszPropData
	[SchemaMember("CBreakable", "m_iszPropData")]
	public string PropData
	{
		get { return Schema.GetUtf8String(this.Handle, "CBreakable", "m_iszPropData"); }
		set { Schema.SetString(this.Handle, "CBreakable", "m_iszPropData", value); }
	}

	// m_impactEnergyScale
	[SchemaMember("CBreakable", "m_impactEnergyScale")]
	public ref float ImpactEnergyScale => ref Schema.GetRef<float>(this.Handle, "CBreakable", "m_impactEnergyScale");

	// m_nOverrideBlockLOS
	[SchemaMember("CBreakable", "m_nOverrideBlockLOS")]
	public ref EOverrideBlockLOS_t OverrideBlockLOS => ref Schema.GetRef<EOverrideBlockLOS_t>(this.Handle, "CBreakable", "m_nOverrideBlockLOS");

	// m_OnBreak
	[SchemaMember("CBreakable", "m_OnBreak")]
	public CEntityIOOutput OnBreak => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBreakable", "m_OnBreak");

	// m_PerformanceMode
	[SchemaMember("CBreakable", "m_PerformanceMode")]
	public ref PerformanceMode_t PerformanceMode => ref Schema.GetRef<PerformanceMode_t>(this.Handle, "CBreakable", "m_PerformanceMode");

	// m_hPhysicsAttacker
	[SchemaMember("CBreakable", "m_hPhysicsAttacker")]
	public CHandle<CBasePlayerPawn> PhysicsAttacker => Schema.GetDeclaredClass<CHandle<CBasePlayerPawn>>(this.Handle, "CBreakable", "m_hPhysicsAttacker");

	// m_flLastPhysicsInfluenceTime
	[SchemaMember("CBreakable", "m_flLastPhysicsInfluenceTime")]
	public ref float LastPhysicsInfluenceTime => ref Schema.GetRef<float>(this.Handle, "CBreakable", "m_flLastPhysicsInfluenceTime");

}
