using System.Collections.Generic; using Content.Shared.Shuttles.Components; using Robust.Shared.GameObjects; using Robust.Shared.Maths; using Robust.Shared.ViewVariables; namespace Content.Server.Shuttles.Components { [RegisterComponent] public sealed class ShuttleComponent : SharedShuttleComponent { /// /// The cached thrust available for each cardinal direction /// [ViewVariables] public readonly float[] LinearThrust = new float[4]; /// /// The thrusters contributing to each direction for impulse. /// public readonly List[] LinearThrusters = new List[4]; /// /// The thrusters contributing to the angular impulse of the shuttle. /// public readonly List AngularThrusters = new List(); [ViewVariables] public float AngularThrust = 0f; /// /// A bitmask of all the directions we are considered thrusting. /// [ViewVariables] public DirectionFlag ThrustDirections = DirectionFlag.None; } }