Files
2024-04-24 18:09:05 +03:00

67 lines
1.8 KiB
C#

using Barotrauma.MapCreatures.Behavior;
using Barotrauma.Networking;
using System;
namespace Barotrauma
{
partial class Hull
{
[Flags]
public enum EventType
{
Status = 0,
Decal = 1,
BackgroundSections = 2,
BallastFlora = 3,
MinValue = 0,
MaxValue = 3
}
public interface IEventData : NetEntityEvent.IData
{
public EventType EventType { get; }
}
private readonly struct StatusEventData : IEventData
{
public EventType EventType => EventType.Status;
}
private readonly struct DecalEventData : IEventData
{
public EventType EventType => EventType.Decal;
public readonly Decal Decal;
public DecalEventData(Decal decal)
{
Decal = decal;
}
}
private readonly struct BackgroundSectionsEventData : IEventData
{
public EventType EventType => EventType.BackgroundSections;
public readonly int SectorStartIndex;
public BackgroundSectionsEventData(int sectorStartIndex)
{
SectorStartIndex = sectorStartIndex;
}
}
public readonly struct BallastFloraEventData : IEventData
{
public EventType EventType => EventType.BallastFlora;
public readonly BallastFloraBehavior Behavior;
public readonly BallastFloraBehavior.IEventData SubEventData;
public BallastFloraEventData(BallastFloraBehavior behavior, BallastFloraBehavior.IEventData subEventData)
{
Behavior = behavior;
SubEventData = subEventData;
}
}
}
}