using TechbloxModdingAPI.Tests; namespace TechbloxModdingAPI.Blocks { using RobocraftX.Common; using Svelto.ECS; public class WheelRig : SignalingBlock { /// <summary> /// Constructs a(n) WheelRig object representing an existing block. /// </summary> public WheelRig(EGID egid) : base(egid) { } /// <summary> /// Constructs a(n) WheelRig object representing an existing block. /// </summary> public WheelRig(uint id) : base(new EGID(id, CommonExclusiveGroups.WHEELRIG_BLOCK_BUILD_GROUP)) { } /// <summary> /// Gets or sets the WheelRig's BrakingStrength property. Tweakable stat. /// </summary> public float BrakingStrength { get { return BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigTweakableStruct>(this).brakingStrength; } set { BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigTweakableStruct>(this).brakingStrength = value; } } /// <summary> /// Gets or sets the WheelRig's FlipDirection property. Tweakable stat. /// </summary> public bool FlipDirection { get { return BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigTweakableStruct>(this).flipDirection; } set { BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigTweakableStruct>(this).flipDirection = value; } } /// <summary> /// Gets or sets the WheelRig's MaxVelocity property. May not be saved. /// </summary> public float MaxVelocity { get { return BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigReadOnlyStruct>(this).maxVelocity; } set { BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigReadOnlyStruct>(this).maxVelocity = value; } } /// <summary> /// Gets or sets the WheelRig's SteerAngle property. Tweakable stat. /// </summary> [TestValue(0f)] // Can be 0 for no steer variant public float SteerAngle { get { return BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigSteerableTweakableStruct>(this).steerAngle; } set { BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigSteerableTweakableStruct>(this).steerAngle = value; } } /// <summary> /// Gets or sets the WheelRig's FlipSteering property. Tweakable stat. /// </summary> public bool FlipSteering { get { return BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigSteerableTweakableStruct>(this).flipSteering; } set { BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigSteerableTweakableStruct>(this).flipSteering = value; } } /// <summary> /// Gets or sets the WheelRig's VelocityForMinAngle property. May not be saved. /// </summary> [TestValue(0f)] public float VelocityForMinAngle { get { return BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigSteerableReadOnlyStruct>(this).velocityForMinAngle; } set { BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigSteerableReadOnlyStruct>(this).velocityForMinAngle = value; } } /// <summary> /// Gets or sets the WheelRig's MinSteerAngleFactor property. May not be saved. /// </summary> [TestValue(0f)] public float MinSteerAngleFactor { get { return BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigSteerableReadOnlyStruct>(this).minSteerAngleFactor; } set { BlockEngine.GetBlockInfo<Techblox.WheelRigBlock.WheelRigSteerableReadOnlyStruct>(this).minSteerAngleFactor = value; } } } }