* Fix namespaces and optimize imports * Cleanup fixes * Merge conflict fixes * Merge conflict fixes * Merge conflict fixes
73 lines
2.2 KiB
C#
73 lines
2.2 KiB
C#
using System;
|
|
using Robust.Shared.GameObjects;
|
|
using Robust.Shared.GameObjects.Systems;
|
|
using Robust.Shared.Map;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared.GameObjects.EntitySystems
|
|
{
|
|
public abstract class SharedGasTileOverlaySystem : EntitySystem
|
|
{
|
|
[Serializable, NetSerializable]
|
|
public struct GasData
|
|
{
|
|
public int Index { get; set; }
|
|
public float Opacity { get; set; }
|
|
|
|
public GasData(int gasId, float opacity)
|
|
{
|
|
Index = gasId;
|
|
Opacity = opacity;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public readonly struct GasOverlayData
|
|
{
|
|
public readonly int FireState;
|
|
public readonly float FireTemperature;
|
|
public readonly GasData[] Gas;
|
|
|
|
public GasOverlayData(int fireState, float fireTemperature, GasData[] gas)
|
|
{
|
|
FireState = fireState;
|
|
FireTemperature = fireTemperature;
|
|
Gas = gas;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public readonly struct GasTileOverlayData
|
|
{
|
|
public readonly GridId GridIndex;
|
|
public readonly MapIndices GridIndices;
|
|
public readonly GasOverlayData Data;
|
|
|
|
public GasTileOverlayData(GridId gridIndex, MapIndices gridIndices, GasOverlayData data)
|
|
{
|
|
GridIndex = gridIndex;
|
|
GridIndices = gridIndices;
|
|
Data = data;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return GridIndex.GetHashCode() ^ GridIndices.GetHashCode() ^ Data.GetHashCode();
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public class GasTileOverlayMessage : EntitySystemMessage
|
|
{
|
|
public GasTileOverlayData[] OverlayData { get; }
|
|
public bool ClearAllOtherOverlays { get; }
|
|
|
|
public GasTileOverlayMessage(GasTileOverlayData[] overlayData, bool clearAllOtherOverlays = false)
|
|
{
|
|
OverlayData = overlayData;
|
|
ClearAllOtherOverlays = clearAllOtherOverlays;
|
|
}
|
|
}
|
|
}
|
|
}
|