67 lines
1.8 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|