Skip to content

Game.Objects.TransformFlags

Assembly:
Assembly-CSharp (game code / modding assembly)

Namespace:
Game.Objects

Type:
public enum (with [Flags]) — underlying type: System.UInt32

Base:
System.Enum (underlying type System.UInt32)

Summary:
Bitmask enum used to represent a set of transform/visual/animation states for in-game objects (typically vehicles/units). Each enum value represents a single flag (light states, turn signals, braking, boarding doors, aircraft states, etc.). The [Flags] attribute indicates values can be combined using bitwise operations to represent multiple simultaneous states. This enum is intended for efficient state checks and combined state storage.


Fields

  • MainLights = 1u
    Main/front headlights or primary vehicle lights.

  • ExtraLights = 2u
    Additional auxiliary lights (fog lights, extra front lights).

  • TurningLeft = 4u
    Left turn signal/animation active.

  • TurningRight = 8u
    Right turn signal/animation active.

  • Braking = 0x10u
    Brake lights / braking state.

  • RearLights = 0x20u
    Rear lights (tail lights) on.

  • BoardingLeft = 0x40u
    Left boarding/door animation (e.g., passenger entry/exit) active.

  • BoardingRight = 0x80u
    Right boarding/door animation active.

  • InteriorLights = 0x100u
    Interior cabin lights enabled.

  • Pantograph = 0x200u
    Pantograph raised (electric rail vehicles).

  • WarningLights = 0x400u
    Warning or hazard lights active.

  • Reversing = 0x800u
    Reverse gear / reversing lights active.

  • WorkLights = 0x1000u
    Work lights (scene-specific utility lights) active.

  • SignalAnimation1 = 0x2000u
    First signal/animation bit (game-specific animation flag).

  • SignalAnimation2 = 0x4000u
    Second signal/animation bit (game-specific animation flag).

  • TakingOff = 0x8000u
    Aircraft taking off animation/state.

  • Landing = 0x10000u
    Aircraft landing animation/state.

  • Flying = 0x20000u
    Aircraft in-flight state.

Properties

  • This enum type defines flags only and exposes no properties.

Constructors

  • Enums in .NET do not declare explicit constructors in user code. Instances are created by assignment/casting. Example: TransformFlags flags = TransformFlags.MainLights;

Methods

  • No instance methods defined on the enum. Use standard bitwise operations or System.Enum helpers:
  • Bitwise checks and manipulation (recommended for performance).
  • Enum.HasFlag is available but slower; prefer (flags & TransformFlags.X) != 0 in hot code paths.

Usage Example

// Combine flags
TransformFlags flags = TransformFlags.MainLights | TransformFlags.RearLights;

// Set a flag
flags |= TransformFlags.Braking;

// Clear a flag
flags &= ~TransformFlags.Braking;

// Toggle a flag
flags ^= TransformFlags.ExtraLights;

// Test a flag (fast)
bool isTurningLeft = (flags & TransformFlags.TurningLeft) != 0;

// Test a flag (convenience, slower)
bool isFlying = flags.HasFlag(TransformFlags.Flying);

// Casting to underlying numeric type
uint raw = (uint)flags;

// Example usage in update/render logic
if ((flags & (TransformFlags.TurningLeft | TransformFlags.TurningRight)) != 0)
{
    // play turn-signal animation
}

{{ This enum is typically used by vehicle/object transform/animation systems to drive visual states (lights, doors, pantograph, flight states, etc.). Because it is a bitmask, it is efficient to store multiple boolean states in a single 32-bit value. When writing performance-sensitive mod code that checks these flags frequently, prefer bitwise operations over Enum.HasFlag. }}