EntitySystemMessage Removal & InteractionSystem directed events (#3572)
* Removed obsolete EntitySystemMessage, now everything uses the base EntityEventArgs or the derived HandledEntityEventArgs. Setup InteractionSystem to use new directed events. * Update Submodule.
This commit is contained in:
@@ -73,6 +73,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
if (!interactionArgs.InRangeUnobstructed(ignoreInsideBlocker: true, popup: true)) return;
|
||||
|
||||
// trigger dragdrops on the dropped entity
|
||||
RaiseLocalEvent(dropped.Uid, interactionArgs);
|
||||
foreach (var dragDrop in dropped.GetAllComponents<IDraggable>())
|
||||
{
|
||||
if (dragDrop.CanDrop(interactionArgs) &&
|
||||
@@ -83,6 +84,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
}
|
||||
|
||||
// trigger dragdropons on the targeted entity
|
||||
RaiseLocalEvent(target.Uid, interactionArgs, false);
|
||||
foreach (var dragDropOn in target.GetAllComponents<IDragDropOn>())
|
||||
{
|
||||
if (dragDropOn.CanDragDropOn(interactionArgs) &&
|
||||
@@ -408,7 +410,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
private async void InteractAfter(IEntity user, IEntity weapon, EntityCoordinates clickLocation, bool canReach)
|
||||
{
|
||||
var message = new AfterInteractMessage(user, weapon, null, clickLocation, canReach);
|
||||
RaiseLocalEvent(message);
|
||||
RaiseLocalEvent(weapon.Uid, message);
|
||||
if (message.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -425,11 +427,9 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public async Task Interaction(IEntity user, IEntity weapon, IEntity attacked, EntityCoordinates clickLocation)
|
||||
{
|
||||
var attackMsg = new InteractUsingMessage(user, weapon, attacked, clickLocation);
|
||||
RaiseLocalEvent(attackMsg);
|
||||
RaiseLocalEvent(attacked.Uid, attackMsg);
|
||||
if (attackMsg.Handled)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var attackBys = attacked.GetAllComponents<IInteractUsing>().OrderByDescending(x => x.Priority);
|
||||
var attackByEventArgs = new InteractUsingEventArgs
|
||||
@@ -451,7 +451,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
}
|
||||
|
||||
var afterAtkMsg = new AfterInteractMessage(user, weapon, attacked, clickLocation, true);
|
||||
RaiseLocalEvent(afterAtkMsg);
|
||||
RaiseLocalEvent(weapon.Uid, afterAtkMsg, false);
|
||||
if (afterAtkMsg.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -470,18 +470,16 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void Interaction(IEntity user, IEntity attacked)
|
||||
{
|
||||
var message = new AttackHandMessage(user, attacked);
|
||||
RaiseLocalEvent(message);
|
||||
RaiseLocalEvent(attacked.Uid, message);
|
||||
if (message.Handled)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var attackHands = attacked.GetAllComponents<IInteractHand>().ToList();
|
||||
var attackHandEventArgs = new InteractHandEventArgs { User = user, Target = attacked };
|
||||
|
||||
// all attackHands should only fire when in range / unobstructed
|
||||
if (attackHandEventArgs.InRangeUnobstructed(ignoreInsideBlocker: true, popup: true))
|
||||
{
|
||||
var attackHands = attacked.GetAllComponents<IInteractHand>().ToList();
|
||||
foreach (var attackHand in attackHands)
|
||||
{
|
||||
if (attackHand.InteractHand(attackHandEventArgs))
|
||||
@@ -525,7 +523,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
}
|
||||
|
||||
var useMsg = new UseInHandMessage(user, used);
|
||||
RaiseLocalEvent(useMsg);
|
||||
RaiseLocalEvent(used.Uid, useMsg);
|
||||
if (useMsg.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -563,7 +561,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void ThrownInteraction(IEntity user, IEntity thrown)
|
||||
{
|
||||
var throwMsg = new ThrownMessage(user, thrown);
|
||||
RaiseLocalEvent(throwMsg);
|
||||
RaiseLocalEvent(thrown.Uid, throwMsg);
|
||||
if (throwMsg.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -586,7 +584,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void EquippedInteraction(IEntity user, IEntity equipped, EquipmentSlotDefines.Slots slot)
|
||||
{
|
||||
var equipMsg = new EquippedMessage(user, equipped, slot);
|
||||
RaiseLocalEvent(equipMsg);
|
||||
RaiseLocalEvent(equipped.Uid, equipMsg);
|
||||
if (equipMsg.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -608,7 +606,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void UnequippedInteraction(IEntity user, IEntity equipped, EquipmentSlotDefines.Slots slot)
|
||||
{
|
||||
var unequipMsg = new UnequippedMessage(user, equipped, slot);
|
||||
RaiseLocalEvent(unequipMsg);
|
||||
RaiseLocalEvent(equipped.Uid, unequipMsg);
|
||||
if (unequipMsg.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -630,7 +628,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void EquippedHandInteraction(IEntity user, IEntity item, SharedHand hand)
|
||||
{
|
||||
var equippedHandMessage = new EquippedHandMessage(user, item, hand);
|
||||
RaiseLocalEvent(equippedHandMessage);
|
||||
RaiseLocalEvent(item.Uid, equippedHandMessage);
|
||||
if (equippedHandMessage.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -651,7 +649,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void UnequippedHandInteraction(IEntity user, IEntity item, SharedHand hand)
|
||||
{
|
||||
var unequippedHandMessage = new UnequippedHandMessage(user, item, hand);
|
||||
RaiseLocalEvent(unequippedHandMessage);
|
||||
RaiseLocalEvent(item.Uid, unequippedHandMessage);
|
||||
if (unequippedHandMessage.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -684,7 +682,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void DroppedInteraction(IEntity user, IEntity item, bool intentional)
|
||||
{
|
||||
var dropMsg = new DroppedMessage(user, item, intentional);
|
||||
RaiseLocalEvent(dropMsg);
|
||||
RaiseLocalEvent(item.Uid, dropMsg);
|
||||
if (dropMsg.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -706,7 +704,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void HandSelectedInteraction(IEntity user, IEntity item)
|
||||
{
|
||||
var handSelectedMsg = new HandSelectedMessage(user, item);
|
||||
RaiseLocalEvent(handSelectedMsg);
|
||||
RaiseLocalEvent(item.Uid, handSelectedMsg);
|
||||
if (handSelectedMsg.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -728,7 +726,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public void HandDeselectedInteraction(IEntity user, IEntity item)
|
||||
{
|
||||
var handDeselectedMsg = new HandDeselectedMessage(user, item);
|
||||
RaiseLocalEvent(handDeselectedMsg);
|
||||
RaiseLocalEvent(item.Uid, handDeselectedMsg);
|
||||
if (handDeselectedMsg.Handled)
|
||||
{
|
||||
return;
|
||||
@@ -750,7 +748,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
public async void RangedInteraction(IEntity user, IEntity weapon, IEntity attacked, EntityCoordinates clickLocation)
|
||||
{
|
||||
var rangedMsg = new RangedInteractMessage(user, weapon, attacked, clickLocation);
|
||||
RaiseLocalEvent(rangedMsg);
|
||||
RaiseLocalEvent(attacked.Uid, rangedMsg);
|
||||
if (rangedMsg.Handled)
|
||||
return;
|
||||
|
||||
@@ -771,7 +769,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
}
|
||||
|
||||
var afterAtkMsg = new AfterInteractMessage(user, weapon, attacked, clickLocation, false);
|
||||
RaiseLocalEvent(afterAtkMsg);
|
||||
RaiseLocalEvent(weapon.Uid, afterAtkMsg);
|
||||
if (afterAtkMsg.Handled)
|
||||
return;
|
||||
|
||||
@@ -820,6 +818,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
|
||||
if (item != null)
|
||||
{
|
||||
RaiseLocalEvent(item.Uid, eventArgs, false);
|
||||
foreach (var attackComponent in item.GetAllComponents<IAttack>())
|
||||
{
|
||||
if (wideAttack ? attackComponent.WideAttack(eventArgs) : attackComponent.ClickAttack(eventArgs))
|
||||
@@ -840,6 +839,7 @@ namespace Content.Server.GameObjects.EntitySystems.Click
|
||||
}
|
||||
}
|
||||
|
||||
RaiseLocalEvent(player.Uid, eventArgs);
|
||||
foreach (var attackComponent in player.GetAllComponents<IAttack>())
|
||||
{
|
||||
if (wideAttack)
|
||||
|
||||
Reference in New Issue
Block a user