Files
tbd-station-14/Content.Server/Interfaces/GameObjects/Components/Interactable/IInteractableComponent.cs
Pieter-Jan Briers 7597cd9172 Interactable component system. (#9)
* InteractableComponent v1. Broken edition

* It works!
2017-10-06 21:05:21 +02:00

49 lines
1.3 KiB
C#

using SS14.Shared.Interfaces.GameObjects;
using System;
namespace Content.Server.Interfaces.GameObjects
{
public interface IInteractableComponent : IComponent
{
/// <summary>
/// Invoked when an entity is clicked with an empty hand.
/// </summary>
event EventHandler<AttackHandEventArgs> OnAttackHand;
/// <summary>
/// Invoked when an entity is clicked with an item.
/// </summary>
event EventHandler<AttackByEventArgs> OnAttackBy;
}
public class AttackByEventArgs : EventArgs
{
public readonly IEntity Target;
public readonly IEntity User;
public readonly IItemComponent Item;
public readonly string HandIndex;
public AttackByEventArgs(IEntity target, IEntity user, IItemComponent item, string handIndex)
{
Target = target;
User = user;
Item = item;
HandIndex = handIndex;
}
}
public class AttackHandEventArgs : EventArgs
{
public readonly IEntity Target;
public readonly IEntity User;
public readonly string HandIndex;
public AttackHandEventArgs(IEntity target, IEntity user, string handIndex)
{
Target = target;
User = user;
HandIndex = handIndex;
}
}
}