AttackHand with an EventArg object for a parameter
This commit is contained in:
@@ -41,7 +41,7 @@ namespace Content.Server.GameObjects
|
||||
base.OnRemove();
|
||||
}
|
||||
|
||||
public bool Attackhand(IEntity user)
|
||||
public bool AttackHand(AttackHandEventArgs eventArgs)
|
||||
{
|
||||
if (_state == DoorState.Open)
|
||||
{
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
using SS14.Server.Interfaces.GameObjects;
|
||||
using Content.Shared.GameObjects;
|
||||
using SS14.Shared.Interfaces.GameObjects;
|
||||
using Content.Server.GameObjects.EntitySystems;
|
||||
|
||||
namespace Content.Server.GameObjects
|
||||
{
|
||||
public class ItemComponent : StoreableComponent, EntitySystems.IAttackHand
|
||||
public class ItemComponent : StoreableComponent, IAttackHand
|
||||
{
|
||||
public override string Name => "Item";
|
||||
|
||||
@@ -26,9 +27,9 @@ namespace Content.Server.GameObjects
|
||||
}
|
||||
}
|
||||
|
||||
public bool Attackhand(IEntity user)
|
||||
public bool AttackHand(AttackHandEventArgs eventArgs)
|
||||
{
|
||||
var hands = user.GetComponent<IHandsComponent>();
|
||||
var hands = eventArgs.User.GetComponent<IHandsComponent>();
|
||||
hands.PutInHand(this, hands.ActiveIndex, fallback: false);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -106,9 +106,9 @@ namespace Content.Server.GameObjects.Components.Power
|
||||
return net.Lack > 0 ? ApcExternalPowerState.Low : ApcExternalPowerState.Good;
|
||||
}
|
||||
|
||||
bool IAttackHand.Attackhand(IEntity user)
|
||||
bool IAttackHand.AttackHand(AttackHandEventArgs eventArgs)
|
||||
{
|
||||
if (!user.TryGetComponent(out IActorComponent actor))
|
||||
if (!eventArgs.User.TryGetComponent(out IActorComponent actor))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -55,16 +55,16 @@ namespace Content.Server.GameObjects.Components.Power
|
||||
return InsertBulb(eventArgs.AttackWith);
|
||||
}
|
||||
|
||||
bool IAttackHand.Attackhand(IEntity user)
|
||||
bool IAttackHand.AttackHand(AttackHandEventArgs eventArgs)
|
||||
{
|
||||
if (user.GetComponent<InventoryComponent>().GetSlotItem(EquipmentSlotDefines.Slots.GLOVES) != null)
|
||||
if (eventArgs.User.GetComponent<InventoryComponent>().GetSlotItem(EquipmentSlotDefines.Slots.GLOVES) != null)
|
||||
{
|
||||
EjectBulb(user);
|
||||
EjectBulb(eventArgs.User);
|
||||
UpdateLight();
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!user.TryGetComponent(out DamageableComponent damageableComponent)) return false;
|
||||
if (!eventArgs.User.TryGetComponent(out DamageableComponent damageableComponent)) return false;
|
||||
damageableComponent.TakeDamage(DamageType.Heat, 20);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -30,9 +30,8 @@ namespace Content.Server.GameObjects.EntitySystems
|
||||
bool AttackBy(AttackByEventArgs eventArgs);
|
||||
}
|
||||
|
||||
public class AttackByEventArgs : EventArgs
|
||||
public class AttackByEventArgs : AttackHandEventArgs
|
||||
{
|
||||
public IEntity User { get; set; }
|
||||
public IEntity AttackWith { get; set; }
|
||||
}
|
||||
|
||||
@@ -46,7 +45,12 @@ namespace Content.Server.GameObjects.EntitySystems
|
||||
/// </summary>
|
||||
/// <param name="user"></param>
|
||||
/// <returns></returns>
|
||||
bool Attackhand(IEntity user);
|
||||
bool AttackHand(AttackHandEventArgs eventArgs);
|
||||
}
|
||||
|
||||
public class AttackHandEventArgs : EventArgs
|
||||
{
|
||||
public IEntity User { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -301,7 +305,7 @@ namespace Content.Server.GameObjects.EntitySystems
|
||||
|
||||
for (var i = 0; i < interactables.Count; i++)
|
||||
{
|
||||
if (interactables[i].Attackhand(user)) //If an attackby returns a status completion we finish our attack
|
||||
if (interactables[i].AttackHand(new AttackHandEventArgs { User = user})) //If an attackby returns a status completion we finish our attack
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user