Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Map/Creatures/BallastFloraEventData.cs
Markus Isberg 6e38444fc4 Build 0.17.14.0
2022-04-27 07:44:37 +09:00

80 lines
2.5 KiB
C#

using Barotrauma.Networking;
namespace Barotrauma.MapCreatures.Behavior
{
internal partial class BallastFloraBehavior
{
public interface IEventData : NetEntityEvent.IData
{
public NetworkHeader NetworkHeader { get; }
}
public readonly struct SpawnEventData : IEventData
{
public NetworkHeader NetworkHeader => NetworkHeader.Spawn;
}
private readonly struct KillEventData : IEventData
{
public NetworkHeader NetworkHeader => NetworkHeader.Kill;
}
private readonly struct RemoveEventData : IEventData
{
public NetworkHeader NetworkHeader => NetworkHeader.Remove;
}
private readonly struct BranchCreateEventData : IEventData
{
public NetworkHeader NetworkHeader => NetworkHeader.BranchCreate;
public readonly BallastFloraBranch NewBranch;
public readonly BallastFloraBranch Parent;
public BranchCreateEventData(BallastFloraBranch newBranch, BallastFloraBranch parent)
{
NewBranch = newBranch;
Parent = parent;
}
}
private readonly struct BranchRemoveEventData : IEventData
{
public NetworkHeader NetworkHeader => NetworkHeader.BranchRemove;
public readonly BallastFloraBranch Branch;
public BranchRemoveEventData(BallastFloraBranch branch)
{
Branch = branch;
}
}
private readonly struct BranchDamageEventData : IEventData
{
public NetworkHeader NetworkHeader => NetworkHeader.BranchDamage;
public readonly BallastFloraBranch Branch;
public BranchDamageEventData(BallastFloraBranch branch)
{
Branch = branch;
}
}
private readonly struct InfectEventData : IEventData
{
public enum InfectState { Yes, No }
public NetworkHeader NetworkHeader => NetworkHeader.Infect;
public readonly Item Item;
public readonly InfectState Infect;
public readonly BallastFloraBranch Infector;
public InfectEventData(Item item, InfectState infect, BallastFloraBranch infector)
{
Item = item;
Infect = infect;
Infector = infector;
}
}
}
}