| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using Content.Shared.Atmos;
- namespace Content.Server.Atmos
- {
- public struct MonstermosInfo
- {
- [ViewVariables]
- public int LastCycle;
- [ViewVariables]
- public long LastQueueCycle;
- [ViewVariables]
- public long LastSlowQueueCycle;
- [ViewVariables]
- public float MoleDelta;
- [ViewVariables]
- public float TransferDirectionEast;
- [ViewVariables]
- public float TransferDirectionWest;
- [ViewVariables]
- public float TransferDirectionNorth;
- [ViewVariables]
- public float TransferDirectionSouth;
- [ViewVariables]
- public float CurrentTransferAmount;
- [ViewVariables]
- public AtmosDirection CurrentTransferDirection;
- [ViewVariables]
- public bool FastDone;
- public float this[AtmosDirection direction]
- {
- get =>
- direction switch
- {
- AtmosDirection.East => TransferDirectionEast,
- AtmosDirection.West => TransferDirectionWest,
- AtmosDirection.North => TransferDirectionNorth,
- AtmosDirection.South => TransferDirectionSouth,
- _ => throw new ArgumentOutOfRangeException(nameof(direction))
- };
- set
- {
- switch (direction)
- {
- case AtmosDirection.East:
- TransferDirectionEast = value;
- break;
- case AtmosDirection.West:
- TransferDirectionWest = value;
- break;
- case AtmosDirection.North:
- TransferDirectionNorth = value;
- break;
- case AtmosDirection.South:
- TransferDirectionSouth = value;
- break;
- default:
- throw new ArgumentOutOfRangeException(nameof(direction));
- }
- }
- }
- public float this[int index]
- {
- get => this[(AtmosDirection) (1 << index)];
- set => this[(AtmosDirection) (1 << index)] = value;
- }
- }
- }
|