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

	// m_nModelID
	[SchemaMember("shard_model_desc_t", "m_nModelID")]
	public ref Int32 ModelID => ref Schema.GetRef<Int32>(this.Handle, "shard_model_desc_t", "m_nModelID");

	// m_hMaterialBase
	[SchemaMember("shard_model_desc_t", "m_hMaterialBase")]
	public CStrongHandle<InfoForResourceTypeIMaterial2> MaterialBase => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "shard_model_desc_t", "m_hMaterialBase");

	// m_hMaterialDamageOverlay
	[SchemaMember("shard_model_desc_t", "m_hMaterialDamageOverlay")]
	public CStrongHandle<InfoForResourceTypeIMaterial2> MaterialDamageOverlay => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "shard_model_desc_t", "m_hMaterialDamageOverlay");

	// m_solid
	[SchemaMember("shard_model_desc_t", "m_solid")]
	public ref ShardSolid_t Solid => ref Schema.GetRef<ShardSolid_t>(this.Handle, "shard_model_desc_t", "m_solid");

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

	// m_vecStressPositionA
	[SchemaMember("shard_model_desc_t", "m_vecStressPositionA")]
	public Vector2D StressPositionA => Schema.GetDeclaredClass<Vector2D>(this.Handle, "shard_model_desc_t", "m_vecStressPositionA");

	// m_vecStressPositionB
	[SchemaMember("shard_model_desc_t", "m_vecStressPositionB")]
	public Vector2D StressPositionB => Schema.GetDeclaredClass<Vector2D>(this.Handle, "shard_model_desc_t", "m_vecStressPositionB");

	// m_vecPanelVertices
	[SchemaMember("shard_model_desc_t", "m_vecPanelVertices")]
	public NetworkedVector<Vector2D> PanelVertices => Schema.GetDeclaredClass<NetworkedVector<Vector2D>>(this.Handle, "shard_model_desc_t", "m_vecPanelVertices");

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

	// m_flGlassHalfThickness
	[SchemaMember("shard_model_desc_t", "m_flGlassHalfThickness")]
	public ref float GlassHalfThickness => ref Schema.GetRef<float>(this.Handle, "shard_model_desc_t", "m_flGlassHalfThickness");

	// m_bHasParent
	[SchemaMember("shard_model_desc_t", "m_bHasParent")]
	public ref bool HasParent => ref Schema.GetRef<bool>(this.Handle, "shard_model_desc_t", "m_bHasParent");

	// m_bParentFrozen
	[SchemaMember("shard_model_desc_t", "m_bParentFrozen")]
	public ref bool ParentFrozen => ref Schema.GetRef<bool>(this.Handle, "shard_model_desc_t", "m_bParentFrozen");

	// m_SurfacePropStringToken
	[SchemaMember("shard_model_desc_t", "m_SurfacePropStringToken")]
	public CUtlStringToken SurfacePropStringToken => Schema.GetDeclaredClass<CUtlStringToken>(this.Handle, "shard_model_desc_t", "m_SurfacePropStringToken");

}
