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

	// m_matPanelTransform
	[SchemaMember("CFuncShatterglass", "m_matPanelTransform")]
	public matrix3x4_t MatPanelTransform => Schema.GetDeclaredClass<matrix3x4_t>(this.Handle, "CFuncShatterglass", "m_matPanelTransform");

	// m_matPanelTransformWsTemp
	[SchemaMember("CFuncShatterglass", "m_matPanelTransformWsTemp")]
	public matrix3x4_t MatPanelTransformWsTemp => Schema.GetDeclaredClass<matrix3x4_t>(this.Handle, "CFuncShatterglass", "m_matPanelTransformWsTemp");

	// m_vecShatterGlassShards
	[SchemaMember("CFuncShatterglass", "m_vecShatterGlassShards")]
	public NetworkedVector<UInt32> ShatterGlassShards => Schema.GetDeclaredClass<NetworkedVector<UInt32>>(this.Handle, "CFuncShatterglass", "m_vecShatterGlassShards");

	// m_PanelSize
	[SchemaMember("CFuncShatterglass", "m_PanelSize")]
	public Vector2D PanelSize => Schema.GetDeclaredClass<Vector2D>(this.Handle, "CFuncShatterglass", "m_PanelSize");

	// m_flLastShatterSoundEmitTime
	[SchemaMember("CFuncShatterglass", "m_flLastShatterSoundEmitTime")]
	public ref float LastShatterSoundEmitTime => ref Schema.GetRef<float>(this.Handle, "CFuncShatterglass", "m_flLastShatterSoundEmitTime");

	// m_flLastCleanupTime
	[SchemaMember("CFuncShatterglass", "m_flLastCleanupTime")]
	public ref float LastCleanupTime => ref Schema.GetRef<float>(this.Handle, "CFuncShatterglass", "m_flLastCleanupTime");

	// m_flInitAtTime
	[SchemaMember("CFuncShatterglass", "m_flInitAtTime")]
	public ref float InitAtTime => ref Schema.GetRef<float>(this.Handle, "CFuncShatterglass", "m_flInitAtTime");

	// m_flGlassThickness
	[SchemaMember("CFuncShatterglass", "m_flGlassThickness")]
	public ref float GlassThickness => ref Schema.GetRef<float>(this.Handle, "CFuncShatterglass", "m_flGlassThickness");

	// m_flSpawnInvulnerability
	[SchemaMember("CFuncShatterglass", "m_flSpawnInvulnerability")]
	public ref float SpawnInvulnerability => ref Schema.GetRef<float>(this.Handle, "CFuncShatterglass", "m_flSpawnInvulnerability");

	// m_bBreakSilent
	[SchemaMember("CFuncShatterglass", "m_bBreakSilent")]
	public ref bool BreakSilent => ref Schema.GetRef<bool>(this.Handle, "CFuncShatterglass", "m_bBreakSilent");

	// m_bBreakShardless
	[SchemaMember("CFuncShatterglass", "m_bBreakShardless")]
	public ref bool BreakShardless => ref Schema.GetRef<bool>(this.Handle, "CFuncShatterglass", "m_bBreakShardless");

	// m_bBroken
	[SchemaMember("CFuncShatterglass", "m_bBroken")]
	public ref bool Broken => ref Schema.GetRef<bool>(this.Handle, "CFuncShatterglass", "m_bBroken");

	// m_bGlassNavIgnore
	[SchemaMember("CFuncShatterglass", "m_bGlassNavIgnore")]
	public ref bool GlassNavIgnore => ref Schema.GetRef<bool>(this.Handle, "CFuncShatterglass", "m_bGlassNavIgnore");

	// m_bGlassInFrame
	[SchemaMember("CFuncShatterglass", "m_bGlassInFrame")]
	public ref bool GlassInFrame => ref Schema.GetRef<bool>(this.Handle, "CFuncShatterglass", "m_bGlassInFrame");

	// m_bStartBroken
	[SchemaMember("CFuncShatterglass", "m_bStartBroken")]
	public ref bool StartBroken => ref Schema.GetRef<bool>(this.Handle, "CFuncShatterglass", "m_bStartBroken");

	// m_iInitialDamageType
	[SchemaMember("CFuncShatterglass", "m_iInitialDamageType")]
	public ref byte InitialDamageType => ref Schema.GetRef<byte>(this.Handle, "CFuncShatterglass", "m_iInitialDamageType");

	// m_szDamagePositioningEntityName01
	[SchemaMember("CFuncShatterglass", "m_szDamagePositioningEntityName01")]
	public string DamagePositioningEntityName01
	{
		get { return Schema.GetUtf8String(this.Handle, "CFuncShatterglass", "m_szDamagePositioningEntityName01"); }
		set { Schema.SetString(this.Handle, "CFuncShatterglass", "m_szDamagePositioningEntityName01", value); }
	}

	// m_szDamagePositioningEntityName02
	[SchemaMember("CFuncShatterglass", "m_szDamagePositioningEntityName02")]
	public string DamagePositioningEntityName02
	{
		get { return Schema.GetUtf8String(this.Handle, "CFuncShatterglass", "m_szDamagePositioningEntityName02"); }
		set { Schema.SetString(this.Handle, "CFuncShatterglass", "m_szDamagePositioningEntityName02", value); }
	}

	// m_szDamagePositioningEntityName03
	[SchemaMember("CFuncShatterglass", "m_szDamagePositioningEntityName03")]
	public string DamagePositioningEntityName03
	{
		get { return Schema.GetUtf8String(this.Handle, "CFuncShatterglass", "m_szDamagePositioningEntityName03"); }
		set { Schema.SetString(this.Handle, "CFuncShatterglass", "m_szDamagePositioningEntityName03", value); }
	}

	// m_szDamagePositioningEntityName04
	[SchemaMember("CFuncShatterglass", "m_szDamagePositioningEntityName04")]
	public string DamagePositioningEntityName04
	{
		get { return Schema.GetUtf8String(this.Handle, "CFuncShatterglass", "m_szDamagePositioningEntityName04"); }
		set { Schema.SetString(this.Handle, "CFuncShatterglass", "m_szDamagePositioningEntityName04", value); }
	}

	// m_vInitialDamagePositions
	[SchemaMember("CFuncShatterglass", "m_vInitialDamagePositions")]
	public NetworkedVector<Vector> InitialDamagePositions => Schema.GetDeclaredClass<NetworkedVector<Vector>>(this.Handle, "CFuncShatterglass", "m_vInitialDamagePositions");

	// m_vExtraDamagePositions
	[SchemaMember("CFuncShatterglass", "m_vExtraDamagePositions")]
	public NetworkedVector<Vector> ExtraDamagePositions => Schema.GetDeclaredClass<NetworkedVector<Vector>>(this.Handle, "CFuncShatterglass", "m_vExtraDamagePositions");

	// m_vInitialPanelVertices
	[SchemaMember("CFuncShatterglass", "m_vInitialPanelVertices")]
	public NetworkedVector<Vector4D> InitialPanelVertices => Schema.GetDeclaredClass<NetworkedVector<Vector4D>>(this.Handle, "CFuncShatterglass", "m_vInitialPanelVertices");

	// m_OnBroken
	[SchemaMember("CFuncShatterglass", "m_OnBroken")]
	public CEntityIOOutput OnBroken => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CFuncShatterglass", "m_OnBroken");

	// m_iSurfaceType
	[SchemaMember("CFuncShatterglass", "m_iSurfaceType")]
	public ref byte SurfaceType => ref Schema.GetRef<byte>(this.Handle, "CFuncShatterglass", "m_iSurfaceType");

	// m_hMaterialDamageBase
	[SchemaMember("CFuncShatterglass", "m_hMaterialDamageBase")]
	public CStrongHandle<InfoForResourceTypeIMaterial2> MaterialDamageBase => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "CFuncShatterglass", "m_hMaterialDamageBase");

}
