Unstable 0.17.1.0
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
using System;
|
||||
using Barotrauma.Items.Components;
|
||||
using Barotrauma.Networking;
|
||||
using Microsoft.Xna.Framework;
|
||||
|
||||
namespace Barotrauma
|
||||
{
|
||||
partial class Item
|
||||
{
|
||||
public enum EventType
|
||||
{
|
||||
ComponentState = 0,
|
||||
InventoryState = 1,
|
||||
Treatment = 2,
|
||||
ChangeProperty = 3,
|
||||
Combine = 4,
|
||||
Status = 5,
|
||||
AssignCampaignInteraction = 6,
|
||||
ApplyStatusEffect = 7,
|
||||
Upgrade = 8,
|
||||
|
||||
MinValue = 0,
|
||||
MaxValue = 6
|
||||
}
|
||||
|
||||
public interface IEventData : NetEntityEvent.IData
|
||||
{
|
||||
public EventType EventType { get; }
|
||||
}
|
||||
|
||||
public struct ComponentStateEventData : IEventData
|
||||
{
|
||||
public EventType EventType => EventType.ComponentState;
|
||||
public readonly ItemComponent Component;
|
||||
public readonly ItemComponent.IEventData ComponentData;
|
||||
|
||||
public ComponentStateEventData(ItemComponent component, ItemComponent.IEventData componentData)
|
||||
{
|
||||
Component = component;
|
||||
ComponentData = componentData;
|
||||
}
|
||||
}
|
||||
|
||||
public readonly struct InventoryStateEventData : IEventData
|
||||
{
|
||||
public EventType EventType => EventType.InventoryState;
|
||||
public readonly ItemContainer Component;
|
||||
|
||||
public InventoryStateEventData(ItemContainer component)
|
||||
{
|
||||
Component = component;
|
||||
}
|
||||
}
|
||||
|
||||
public readonly struct ChangePropertyEventData : IEventData
|
||||
{
|
||||
public EventType EventType => EventType.ChangeProperty;
|
||||
public readonly SerializableProperty SerializableProperty;
|
||||
|
||||
public ChangePropertyEventData(SerializableProperty serializableProperty)
|
||||
{
|
||||
SerializableProperty = serializableProperty;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly struct StatusEventData : IEventData
|
||||
{
|
||||
public EventType EventType => EventType.Status;
|
||||
}
|
||||
|
||||
private readonly struct AssignCampaignInteractionEventData : IEventData
|
||||
{
|
||||
public EventType EventType => EventType.AssignCampaignInteraction;
|
||||
}
|
||||
|
||||
public readonly struct ApplyStatusEffectEventData : IEventData
|
||||
{
|
||||
public EventType EventType => EventType.ApplyStatusEffect;
|
||||
public readonly ActionType ActionType;
|
||||
public readonly ItemComponent TargetItemComponent;
|
||||
public readonly Character TargetCharacter;
|
||||
public readonly Limb TargetLimb;
|
||||
public readonly Entity UseTarget;
|
||||
public readonly Vector2? WorldPosition;
|
||||
|
||||
public ApplyStatusEffectEventData(
|
||||
ActionType actionType,
|
||||
ItemComponent targetItemComponent = null,
|
||||
Character targetCharacter = null,
|
||||
Limb targetLimb = null,
|
||||
Entity useTarget = null,
|
||||
Vector2? worldPosition = null)
|
||||
{
|
||||
ActionType = actionType;
|
||||
TargetItemComponent = targetItemComponent;
|
||||
TargetCharacter = targetCharacter;
|
||||
TargetLimb = targetLimb;
|
||||
UseTarget = useTarget;
|
||||
WorldPosition = worldPosition;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly struct UpgradeEventData : IEventData
|
||||
{
|
||||
public EventType EventType => EventType.Upgrade;
|
||||
public readonly Upgrade Upgrade;
|
||||
|
||||
public UpgradeEventData(Upgrade upgrade)
|
||||
{
|
||||
Upgrade = upgrade;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user