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

	// m_hModel
	[SchemaMember("CModelState", "m_hModel")]
	public CStrongHandle<InfoForResourceTypeCModel> Model => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeCModel>>(this.Handle, "CModelState", "m_hModel");

	// m_ModelName
	[SchemaMember("CModelState", "m_ModelName")]
	public string ModelName
	{
		get { return Schema.GetUtf8String(this.Handle, "CModelState", "m_ModelName"); }
		set { Schema.SetString(this.Handle, "CModelState", "m_ModelName", value); }
	}

	// m_bClientClothCreationSuppressed
	[SchemaMember("CModelState", "m_bClientClothCreationSuppressed")]
	public ref bool ClientClothCreationSuppressed => ref Schema.GetRef<bool>(this.Handle, "CModelState", "m_bClientClothCreationSuppressed");

	// m_MeshGroupMask
	[SchemaMember("CModelState", "m_MeshGroupMask")]
	public ref UInt64 MeshGroupMask => ref Schema.GetRef<UInt64>(this.Handle, "CModelState", "m_MeshGroupMask");

	// m_nBodyGroupChoices
	[SchemaMember("CModelState", "m_nBodyGroupChoices")]
	public NetworkedVector<Int32> BodyGroupChoices => Schema.GetDeclaredClass<NetworkedVector<Int32>>(this.Handle, "CModelState", "m_nBodyGroupChoices");

	// m_nIdealMotionType
	[SchemaMember("CModelState", "m_nIdealMotionType")]
	public ref sbyte IdealMotionType => ref Schema.GetRef<sbyte>(this.Handle, "CModelState", "m_nIdealMotionType");

	// m_nForceLOD
	[SchemaMember("CModelState", "m_nForceLOD")]
	public ref sbyte ForceLOD => ref Schema.GetRef<sbyte>(this.Handle, "CModelState", "m_nForceLOD");

	// m_nClothUpdateFlags
	[SchemaMember("CModelState", "m_nClothUpdateFlags")]
	public ref sbyte ClothUpdateFlags => ref Schema.GetRef<sbyte>(this.Handle, "CModelState", "m_nClothUpdateFlags");

}
