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

	// m_nodeToWorld
	[SchemaMember("CGameSceneNode", "m_nodeToWorld")]
	public CTransform NodeToWorld => Schema.GetDeclaredClass<CTransform>(this.Handle, "CGameSceneNode", "m_nodeToWorld");

	// m_pOwner
	[SchemaMember("CGameSceneNode", "m_pOwner")]
	public CEntityInstance? Owner => Schema.GetPointer<CEntityInstance>(this.Handle, "CGameSceneNode", "m_pOwner");

	// m_pParent
	[SchemaMember("CGameSceneNode", "m_pParent")]
	public CGameSceneNode? PParent => Schema.GetPointer<CGameSceneNode>(this.Handle, "CGameSceneNode", "m_pParent");

	// m_pChild
	[SchemaMember("CGameSceneNode", "m_pChild")]
	public CGameSceneNode? Child => Schema.GetPointer<CGameSceneNode>(this.Handle, "CGameSceneNode", "m_pChild");

	// m_pNextSibling
	[SchemaMember("CGameSceneNode", "m_pNextSibling")]
	public CGameSceneNode? NextSibling => Schema.GetPointer<CGameSceneNode>(this.Handle, "CGameSceneNode", "m_pNextSibling");

	// m_vecOrigin
	[SchemaMember("CGameSceneNode", "m_vecOrigin")]
	public CNetworkOriginCellCoordQuantizedVector Origin => Schema.GetDeclaredClass<CNetworkOriginCellCoordQuantizedVector>(this.Handle, "CGameSceneNode", "m_vecOrigin");

	// m_angRotation
	[SchemaMember("CGameSceneNode", "m_angRotation")]
	public QAngle Rotation => Schema.GetDeclaredClass<QAngle>(this.Handle, "CGameSceneNode", "m_angRotation");

	// m_flScale
	[SchemaMember("CGameSceneNode", "m_flScale")]
	public ref float Scale => ref Schema.GetRef<float>(this.Handle, "CGameSceneNode", "m_flScale");

	// m_vecAbsOrigin
	[SchemaMember("CGameSceneNode", "m_vecAbsOrigin")]
	public Vector AbsOrigin => Schema.GetDeclaredClass<Vector>(this.Handle, "CGameSceneNode", "m_vecAbsOrigin");

	// m_angAbsRotation
	[SchemaMember("CGameSceneNode", "m_angAbsRotation")]
	public QAngle AbsRotation => Schema.GetDeclaredClass<QAngle>(this.Handle, "CGameSceneNode", "m_angAbsRotation");

	// m_flAbsScale
	[SchemaMember("CGameSceneNode", "m_flAbsScale")]
	public ref float AbsScale => ref Schema.GetRef<float>(this.Handle, "CGameSceneNode", "m_flAbsScale");

	// m_nParentAttachmentOrBone
	[SchemaMember("CGameSceneNode", "m_nParentAttachmentOrBone")]
	public ref Int16 ParentAttachmentOrBone => ref Schema.GetRef<Int16>(this.Handle, "CGameSceneNode", "m_nParentAttachmentOrBone");

	// m_bDebugAbsOriginChanges
	[SchemaMember("CGameSceneNode", "m_bDebugAbsOriginChanges")]
	public ref bool DebugAbsOriginChanges => ref Schema.GetRef<bool>(this.Handle, "CGameSceneNode", "m_bDebugAbsOriginChanges");

	// m_bDormant
	[SchemaMember("CGameSceneNode", "m_bDormant")]
	public ref bool Dormant => ref Schema.GetRef<bool>(this.Handle, "CGameSceneNode", "m_bDormant");

	// m_bForceParentToBeNetworked
	[SchemaMember("CGameSceneNode", "m_bForceParentToBeNetworked")]
	public ref bool ForceParentToBeNetworked => ref Schema.GetRef<bool>(this.Handle, "CGameSceneNode", "m_bForceParentToBeNetworked");

	// m_nHierarchicalDepth
	[SchemaMember("CGameSceneNode", "m_nHierarchicalDepth")]
	public ref byte HierarchicalDepth => ref Schema.GetRef<byte>(this.Handle, "CGameSceneNode", "m_nHierarchicalDepth");

	// m_nHierarchyType
	[SchemaMember("CGameSceneNode", "m_nHierarchyType")]
	public ref byte HierarchyType => ref Schema.GetRef<byte>(this.Handle, "CGameSceneNode", "m_nHierarchyType");

	// m_nDoNotSetAnimTimeInInvalidatePhysicsCount
	[SchemaMember("CGameSceneNode", "m_nDoNotSetAnimTimeInInvalidatePhysicsCount")]
	public ref byte DoNotSetAnimTimeInInvalidatePhysicsCount => ref Schema.GetRef<byte>(this.Handle, "CGameSceneNode", "m_nDoNotSetAnimTimeInInvalidatePhysicsCount");

	// m_name
	[SchemaMember("CGameSceneNode", "m_name")]
	public CUtlStringToken Name => Schema.GetDeclaredClass<CUtlStringToken>(this.Handle, "CGameSceneNode", "m_name");

	// m_hierarchyAttachName
	[SchemaMember("CGameSceneNode", "m_hierarchyAttachName")]
	public CUtlStringToken HierarchyAttachName => Schema.GetDeclaredClass<CUtlStringToken>(this.Handle, "CGameSceneNode", "m_hierarchyAttachName");

	// m_flZOffset
	[SchemaMember("CGameSceneNode", "m_flZOffset")]
	public ref float ZOffset => ref Schema.GetRef<float>(this.Handle, "CGameSceneNode", "m_flZOffset");

	// m_flClientLocalScale
	[SchemaMember("CGameSceneNode", "m_flClientLocalScale")]
	public ref float ClientLocalScale => ref Schema.GetRef<float>(this.Handle, "CGameSceneNode", "m_flClientLocalScale");

	// m_vRenderOrigin
	[SchemaMember("CGameSceneNode", "m_vRenderOrigin")]
	public Vector RenderOrigin => Schema.GetDeclaredClass<Vector>(this.Handle, "CGameSceneNode", "m_vRenderOrigin");

}
