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

	// m_hTrain
	[SchemaMember("CTankTrainAI", "m_hTrain")]
	public CHandle<CFuncTrackTrain> Train => Schema.GetDeclaredClass<CHandle<CFuncTrackTrain>>(this.Handle, "CTankTrainAI", "m_hTrain");

	// m_hTargetEntity
	[SchemaMember("CTankTrainAI", "m_hTargetEntity")]
	public CHandle<CBaseEntity> TargetEntity => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CTankTrainAI", "m_hTargetEntity");

	// m_soundPlaying
	[SchemaMember("CTankTrainAI", "m_soundPlaying")]
	public ref Int32 SoundPlaying => ref Schema.GetRef<Int32>(this.Handle, "CTankTrainAI", "m_soundPlaying");

	// m_startSoundName
	[SchemaMember("CTankTrainAI", "m_startSoundName")]
	public string StartSoundName
	{
		get { return Schema.GetUtf8String(this.Handle, "CTankTrainAI", "m_startSoundName"); }
		set { Schema.SetString(this.Handle, "CTankTrainAI", "m_startSoundName", value); }
	}

	// m_engineSoundName
	[SchemaMember("CTankTrainAI", "m_engineSoundName")]
	public string EngineSoundName
	{
		get { return Schema.GetUtf8String(this.Handle, "CTankTrainAI", "m_engineSoundName"); }
		set { Schema.SetString(this.Handle, "CTankTrainAI", "m_engineSoundName", value); }
	}

	// m_movementSoundName
	[SchemaMember("CTankTrainAI", "m_movementSoundName")]
	public string MovementSoundName
	{
		get { return Schema.GetUtf8String(this.Handle, "CTankTrainAI", "m_movementSoundName"); }
		set { Schema.SetString(this.Handle, "CTankTrainAI", "m_movementSoundName", value); }
	}

	// m_targetEntityName
	[SchemaMember("CTankTrainAI", "m_targetEntityName")]
	public string TargetEntityName
	{
		get { return Schema.GetUtf8String(this.Handle, "CTankTrainAI", "m_targetEntityName"); }
		set { Schema.SetString(this.Handle, "CTankTrainAI", "m_targetEntityName", value); }
	}

}
