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

	// m_trackTop
	[SchemaMember("CFuncTrackChange", "m_trackTop")]
	public CPathTrack? TrackTop => Schema.GetPointer<CPathTrack>(this.Handle, "CFuncTrackChange", "m_trackTop");

	// m_trackBottom
	[SchemaMember("CFuncTrackChange", "m_trackBottom")]
	public CPathTrack? TrackBottom => Schema.GetPointer<CPathTrack>(this.Handle, "CFuncTrackChange", "m_trackBottom");

	// m_train
	[SchemaMember("CFuncTrackChange", "m_train")]
	public CFuncTrackTrain? Train => Schema.GetPointer<CFuncTrackTrain>(this.Handle, "CFuncTrackChange", "m_train");

	// m_trackTopName
	[SchemaMember("CFuncTrackChange", "m_trackTopName")]
	public string TrackTopName
	{
		get { return Schema.GetUtf8String(this.Handle, "CFuncTrackChange", "m_trackTopName"); }
		set { Schema.SetString(this.Handle, "CFuncTrackChange", "m_trackTopName", value); }
	}

	// m_trackBottomName
	[SchemaMember("CFuncTrackChange", "m_trackBottomName")]
	public string TrackBottomName
	{
		get { return Schema.GetUtf8String(this.Handle, "CFuncTrackChange", "m_trackBottomName"); }
		set { Schema.SetString(this.Handle, "CFuncTrackChange", "m_trackBottomName", value); }
	}

	// m_trainName
	[SchemaMember("CFuncTrackChange", "m_trainName")]
	public string TrainName
	{
		get { return Schema.GetUtf8String(this.Handle, "CFuncTrackChange", "m_trainName"); }
		set { Schema.SetString(this.Handle, "CFuncTrackChange", "m_trainName", value); }
	}

	// m_code
	[SchemaMember("CFuncTrackChange", "m_code")]
	public ref TRAIN_CODE Code => ref Schema.GetRef<TRAIN_CODE>(this.Handle, "CFuncTrackChange", "m_code");

	// m_targetState
	[SchemaMember("CFuncTrackChange", "m_targetState")]
	public ref Int32 TargetState => ref Schema.GetRef<Int32>(this.Handle, "CFuncTrackChange", "m_targetState");

	// m_use
	[SchemaMember("CFuncTrackChange", "m_use")]
	public ref Int32 Use => ref Schema.GetRef<Int32>(this.Handle, "CFuncTrackChange", "m_use");

}
