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

	// m_nameAttach1
	[SchemaMember("CPhysConstraint", "m_nameAttach1")]
	public string NameAttach1
	{
		get { return Schema.GetUtf8String(this.Handle, "CPhysConstraint", "m_nameAttach1"); }
		set { Schema.SetString(this.Handle, "CPhysConstraint", "m_nameAttach1", value); }
	}

	// m_nameAttach2
	[SchemaMember("CPhysConstraint", "m_nameAttach2")]
	public string NameAttach2
	{
		get { return Schema.GetUtf8String(this.Handle, "CPhysConstraint", "m_nameAttach2"); }
		set { Schema.SetString(this.Handle, "CPhysConstraint", "m_nameAttach2", value); }
	}

	// m_hAttach1
	[SchemaMember("CPhysConstraint", "m_hAttach1")]
	public CHandle<CBaseEntity> Attach1 => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CPhysConstraint", "m_hAttach1");

	// m_hAttach2
	[SchemaMember("CPhysConstraint", "m_hAttach2")]
	public CHandle<CBaseEntity> Attach2 => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CPhysConstraint", "m_hAttach2");

	// m_nameAttachment1
	[SchemaMember("CPhysConstraint", "m_nameAttachment1")]
	public string NameAttachment1
	{
		get { return Schema.GetUtf8String(this.Handle, "CPhysConstraint", "m_nameAttachment1"); }
		set { Schema.SetString(this.Handle, "CPhysConstraint", "m_nameAttachment1", value); }
	}

	// m_nameAttachment2
	[SchemaMember("CPhysConstraint", "m_nameAttachment2")]
	public string NameAttachment2
	{
		get { return Schema.GetUtf8String(this.Handle, "CPhysConstraint", "m_nameAttachment2"); }
		set { Schema.SetString(this.Handle, "CPhysConstraint", "m_nameAttachment2", value); }
	}

	// m_breakSound
	[SchemaMember("CPhysConstraint", "m_breakSound")]
	public string BreakSound
	{
		get { return Schema.GetUtf8String(this.Handle, "CPhysConstraint", "m_breakSound"); }
		set { Schema.SetString(this.Handle, "CPhysConstraint", "m_breakSound", value); }
	}

	// m_forceLimit
	[SchemaMember("CPhysConstraint", "m_forceLimit")]
	public ref float ForceLimit => ref Schema.GetRef<float>(this.Handle, "CPhysConstraint", "m_forceLimit");

	// m_torqueLimit
	[SchemaMember("CPhysConstraint", "m_torqueLimit")]
	public ref float TorqueLimit => ref Schema.GetRef<float>(this.Handle, "CPhysConstraint", "m_torqueLimit");

	// m_minTeleportDistance
	[SchemaMember("CPhysConstraint", "m_minTeleportDistance")]
	public ref float MinTeleportDistance => ref Schema.GetRef<float>(this.Handle, "CPhysConstraint", "m_minTeleportDistance");

	// m_bSnapObjectPositions
	[SchemaMember("CPhysConstraint", "m_bSnapObjectPositions")]
	public ref bool SnapObjectPositions => ref Schema.GetRef<bool>(this.Handle, "CPhysConstraint", "m_bSnapObjectPositions");

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

}
