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