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

	// m_hRotatorTarget
	[SchemaMember("CFuncRotator", "m_hRotatorTarget")]
	public CHandle<CBaseEntity> RotatorTarget => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CFuncRotator", "m_hRotatorTarget");

	// m_bIsRotating
	[SchemaMember("CFuncRotator", "m_bIsRotating")]
	public ref bool IsRotating => ref Schema.GetRef<bool>(this.Handle, "CFuncRotator", "m_bIsRotating");

	// m_bIsReversing
	[SchemaMember("CFuncRotator", "m_bIsReversing")]
	public ref bool IsReversing => ref Schema.GetRef<bool>(this.Handle, "CFuncRotator", "m_bIsReversing");

	// m_flTimeToReachMaxSpeed
	[SchemaMember("CFuncRotator", "m_flTimeToReachMaxSpeed")]
	public ref float TimeToReachMaxSpeed => ref Schema.GetRef<float>(this.Handle, "CFuncRotator", "m_flTimeToReachMaxSpeed");

	// m_flTimeToReachZeroSpeed
	[SchemaMember("CFuncRotator", "m_flTimeToReachZeroSpeed")]
	public ref float TimeToReachZeroSpeed => ref Schema.GetRef<float>(this.Handle, "CFuncRotator", "m_flTimeToReachZeroSpeed");

	// m_flDistanceAlongArcTraveled
	[SchemaMember("CFuncRotator", "m_flDistanceAlongArcTraveled")]
	public ref float DistanceAlongArcTraveled => ref Schema.GetRef<float>(this.Handle, "CFuncRotator", "m_flDistanceAlongArcTraveled");

	// m_flTimeToWaitOscillate
	[SchemaMember("CFuncRotator", "m_flTimeToWaitOscillate")]
	public ref float TimeToWaitOscillate => ref Schema.GetRef<float>(this.Handle, "CFuncRotator", "m_flTimeToWaitOscillate");

	// m_flTimeRotationStart
	[SchemaMember("CFuncRotator", "m_flTimeRotationStart")]
	public ref float TimeRotationStart => ref Schema.GetRef<float>(this.Handle, "CFuncRotator", "m_flTimeRotationStart");

	// m_qLSPrevChange
	[SchemaMember("CFuncRotator", "m_qLSPrevChange")]
	public Quaternion LSPrevChange => Schema.GetDeclaredClass<Quaternion>(this.Handle, "CFuncRotator", "m_qLSPrevChange");

	// m_qWSPrev
	[SchemaMember("CFuncRotator", "m_qWSPrev")]
	public Quaternion WSPrev => Schema.GetDeclaredClass<Quaternion>(this.Handle, "CFuncRotator", "m_qWSPrev");

	// m_qWSInit
	[SchemaMember("CFuncRotator", "m_qWSInit")]
	public Quaternion WSInit => Schema.GetDeclaredClass<Quaternion>(this.Handle, "CFuncRotator", "m_qWSInit");

	// m_qLSInit
	[SchemaMember("CFuncRotator", "m_qLSInit")]
	public Quaternion LSInit => Schema.GetDeclaredClass<Quaternion>(this.Handle, "CFuncRotator", "m_qLSInit");

	// m_qLSOrientation
	[SchemaMember("CFuncRotator", "m_qLSOrientation")]
	public Quaternion LSOrientation => Schema.GetDeclaredClass<Quaternion>(this.Handle, "CFuncRotator", "m_qLSOrientation");

	// m_OnRotationStarted
	[SchemaMember("CFuncRotator", "m_OnRotationStarted")]
	public CEntityIOOutput OnRotationStarted => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CFuncRotator", "m_OnRotationStarted");

	// m_OnRotationCompleted
	[SchemaMember("CFuncRotator", "m_OnRotationCompleted")]
	public CEntityIOOutput OnRotationCompleted => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CFuncRotator", "m_OnRotationCompleted");

	// m_OnOscillate
	[SchemaMember("CFuncRotator", "m_OnOscillate")]
	public CEntityIOOutput OnOscillate => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CFuncRotator", "m_OnOscillate");

	// m_OnOscillateStartArrive
	[SchemaMember("CFuncRotator", "m_OnOscillateStartArrive")]
	public CEntityIOOutput OnOscillateStartArrive => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CFuncRotator", "m_OnOscillateStartArrive");

	// m_OnOscillateStartDepart
	[SchemaMember("CFuncRotator", "m_OnOscillateStartDepart")]
	public CEntityIOOutput OnOscillateStartDepart => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CFuncRotator", "m_OnOscillateStartDepart");

	// m_OnOscillateEndArrive
	[SchemaMember("CFuncRotator", "m_OnOscillateEndArrive")]
	public CEntityIOOutput OnOscillateEndArrive => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CFuncRotator", "m_OnOscillateEndArrive");

	// m_OnOscillateEndDepart
	[SchemaMember("CFuncRotator", "m_OnOscillateEndDepart")]
	public CEntityIOOutput OnOscillateEndDepart => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CFuncRotator", "m_OnOscillateEndDepart");

	// m_bOscillateDepart
	[SchemaMember("CFuncRotator", "m_bOscillateDepart")]
	public ref bool OscillateDepart => ref Schema.GetRef<bool>(this.Handle, "CFuncRotator", "m_bOscillateDepart");

	// m_nOscillateCount
	[SchemaMember("CFuncRotator", "m_nOscillateCount")]
	public ref Int32 OscillateCount => ref Schema.GetRef<Int32>(this.Handle, "CFuncRotator", "m_nOscillateCount");

	// m_eRotateType
	[SchemaMember("CFuncRotator", "m_eRotateType")]
	public ref CFuncRotatorRotate_t RotateType => ref Schema.GetRef<CFuncRotatorRotate_t>(this.Handle, "CFuncRotator", "m_eRotateType");

	// m_ePrevRotateType
	[SchemaMember("CFuncRotator", "m_ePrevRotateType")]
	public ref CFuncRotatorRotate_t PrevRotateType => ref Schema.GetRef<CFuncRotatorRotate_t>(this.Handle, "CFuncRotator", "m_ePrevRotateType");

	// m_bHasTargetOverride
	[SchemaMember("CFuncRotator", "m_bHasTargetOverride")]
	public ref bool HasTargetOverride => ref Schema.GetRef<bool>(this.Handle, "CFuncRotator", "m_bHasTargetOverride");

	// m_qOrientationOverride
	[SchemaMember("CFuncRotator", "m_qOrientationOverride")]
	public Quaternion OrientationOverride => Schema.GetDeclaredClass<Quaternion>(this.Handle, "CFuncRotator", "m_qOrientationOverride");

	// m_eSpaceOverride
	[SchemaMember("CFuncRotator", "m_eSpaceOverride")]
	public ref RotatorTargetSpace_t SpaceOverride => ref Schema.GetRef<RotatorTargetSpace_t>(this.Handle, "CFuncRotator", "m_eSpaceOverride");

	// m_qAngularVelocity
	[SchemaMember("CFuncRotator", "m_qAngularVelocity")]
	public QAngle AngularVelocity => Schema.GetDeclaredClass<QAngle>(this.Handle, "CFuncRotator", "m_qAngularVelocity");

	// m_vLookAtForcedUp
	[SchemaMember("CFuncRotator", "m_vLookAtForcedUp")]
	public Vector LookAtForcedUp => Schema.GetDeclaredClass<Vector>(this.Handle, "CFuncRotator", "m_vLookAtForcedUp");

	// m_strRotatorTarget
	[SchemaMember("CFuncRotator", "m_strRotatorTarget")]
	public string StrRotatorTarget
	{
		get { return Schema.GetUtf8String(this.Handle, "CFuncRotator", "m_strRotatorTarget"); }
		set { Schema.SetString(this.Handle, "CFuncRotator", "m_strRotatorTarget", value); }
	}

	// m_bRecordHistory
	[SchemaMember("CFuncRotator", "m_bRecordHistory")]
	public ref bool RecordHistory => ref Schema.GetRef<bool>(this.Handle, "CFuncRotator", "m_bRecordHistory");

	// m_vecRotatorHistory
	[SchemaMember("CFuncRotator", "m_vecRotatorHistory")]
	public NetworkedVector<RotatorHistoryEntry_t> RotatorHistory => Schema.GetDeclaredClass<NetworkedVector<RotatorHistoryEntry_t>>(this.Handle, "CFuncRotator", "m_vecRotatorHistory");

	// m_bReturningToPreviousOrientation
	[SchemaMember("CFuncRotator", "m_bReturningToPreviousOrientation")]
	public ref bool ReturningToPreviousOrientation => ref Schema.GetRef<bool>(this.Handle, "CFuncRotator", "m_bReturningToPreviousOrientation");

	// m_vecRotatorQueue
	[SchemaMember("CFuncRotator", "m_vecRotatorQueue")]
	public NetworkedVector<RotatorQueueEntry_t> RotatorQueue => Schema.GetDeclaredClass<NetworkedVector<RotatorQueueEntry_t>>(this.Handle, "CFuncRotator", "m_vecRotatorQueue");

	// m_vecRotatorQueueHistory
	[SchemaMember("CFuncRotator", "m_vecRotatorQueueHistory")]
	public NetworkedVector<RotatorHistoryEntry_t> RotatorQueueHistory => Schema.GetDeclaredClass<NetworkedVector<RotatorHistoryEntry_t>>(this.Handle, "CFuncRotator", "m_vecRotatorQueueHistory");

}
