Remove hands component reference (#15197)

This commit is contained in:
DrSmugleaf
2023-04-07 11:21:12 -07:00
committed by GitHub
parent c54ee5290b
commit b947856431
73 changed files with 277 additions and 328 deletions

View File

@@ -1,5 +1,5 @@
using Content.Shared.Hands.Components;
using System.Diagnostics.CodeAnalysis;
using Content.Shared.Hands.Components;
namespace Content.Shared.Hands.EntitySystems;
@@ -8,7 +8,7 @@ namespace Content.Shared.Hands.EntitySystems;
public abstract partial class SharedHandsSystem : EntitySystem
{
public bool TrySelect(EntityUid uid, EntityUid? entity, SharedHandsComponent? handsComp = null)
public bool TrySelect(EntityUid uid, EntityUid? entity, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp, false))
return false;
@@ -20,7 +20,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
return true;
}
public bool TrySelect<TComponent>(EntityUid uid, [NotNullWhen(true)] out TComponent? component, SharedHandsComponent? handsComp = null) where TComponent : Component
public bool TrySelect<TComponent>(EntityUid uid, [NotNullWhen(true)] out TComponent? component, HandsComponent? handsComp = null) where TComponent : Component
{
component = null;
if (!Resolve(uid, ref handsComp, false))
@@ -35,5 +35,5 @@ public abstract partial class SharedHandsSystem : EntitySystem
return false;
}
public bool TrySelectEmptyHand(EntityUid uid, SharedHandsComponent? handsComp = null) => TrySelect(uid, null, handsComp);
public bool TrySelectEmptyHand(EntityUid uid, HandsComponent? handsComp = null) => TrySelect(uid, null, handsComp);
}

View File

@@ -27,7 +27,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Attempts to drop the item in the currently active hand.
/// </summary>
public bool TryDrop(EntityUid uid, EntityCoordinates? targetDropLocation = null, bool checkActionBlocker = true, bool doDropInteraction = true, SharedHandsComponent? handsComp = null)
public bool TryDrop(EntityUid uid, EntityCoordinates? targetDropLocation = null, bool checkActionBlocker = true, bool doDropInteraction = true, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp))
return false;
@@ -41,7 +41,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Drops an item at the target location.
/// </summary>
public bool TryDrop(EntityUid uid, EntityUid entity, EntityCoordinates? targetDropLocation = null, bool checkActionBlocker = true, bool doDropInteraction = true, SharedHandsComponent? handsComp = null)
public bool TryDrop(EntityUid uid, EntityUid entity, EntityCoordinates? targetDropLocation = null, bool checkActionBlocker = true, bool doDropInteraction = true, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp))
return false;
@@ -55,7 +55,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Drops a hands contents at the target location.
/// </summary>
public bool TryDrop(EntityUid uid, Hand hand, EntityCoordinates? targetDropLocation = null, bool checkActionBlocker = true, bool doDropInteraction = true, SharedHandsComponent? handsComp = null)
public bool TryDrop(EntityUid uid, Hand hand, EntityCoordinates? targetDropLocation = null, bool checkActionBlocker = true, bool doDropInteraction = true, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp))
return false;
@@ -90,7 +90,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Attempts to move a held item from a hand into a container that is not another hand, without dropping it on the floor in-between.
/// </summary>
public bool TryDropIntoContainer(EntityUid uid, EntityUid entity, IContainer targetContainer, bool checkActionBlocker = true, SharedHandsComponent? handsComp = null)
public bool TryDropIntoContainer(EntityUid uid, EntityUid entity, IContainer targetContainer, bool checkActionBlocker = true, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp))
return false;
@@ -133,7 +133,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Removes the contents of a hand from its container. Assumes that the removal is allowed. In general, you should not be calling this directly.
/// </summary>
public virtual void DoDrop(EntityUid uid, Hand hand, bool doDropInteraction = true, SharedHandsComponent? handsComp = null)
public virtual void DoDrop(EntityUid uid, Hand hand, bool doDropInteraction = true, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp))
return;

View File

@@ -19,7 +19,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
SubscribeAllEvent<RequestMoveHandItemEvent>(HandleMoveItemFromHand);
SubscribeAllEvent<RequestHandAltInteractEvent>(HandleHandAltInteract);
SubscribeLocalEvent<SharedHandsComponent, ExaminedEvent>(HandleExamined);
SubscribeLocalEvent<HandsComponent, ExaminedEvent>(HandleExamined);
CommandBinds.Builder
.Bind(ContentKeyFunctions.UseItemInHand, InputCmdHandler.FromDelegate(HandleUseItem, handle: false, outsidePrediction: false))
@@ -74,7 +74,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
private void SwapHandsPressed(ICommonSession? session)
{
if (!TryComp(session?.AttachedEntity, out SharedHandsComponent? component))
if (!TryComp(session?.AttachedEntity, out HandsComponent? component))
return;
if (!_actionBlocker.CanInteract(session.AttachedEntity.Value, null))
@@ -91,7 +91,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
private bool DropPressed(ICommonSession? session, EntityCoordinates coords, EntityUid uid)
{
if (TryComp(session?.AttachedEntity, out SharedHandsComponent? hands) && hands.ActiveHand != null)
if (TryComp(session?.AttachedEntity, out HandsComponent? hands) && hands.ActiveHand != null)
TryDrop(session.AttachedEntity!.Value, hands.ActiveHand, coords, handsComp: hands);
// always send to server.
@@ -99,7 +99,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
}
#endregion
public bool TryActivateItemInHand(EntityUid uid, SharedHandsComponent? handsComp = null, string? handName = null)
public bool TryActivateItemInHand(EntityUid uid, HandsComponent? handsComp = null, string? handName = null)
{
if (!Resolve(uid, ref handsComp, false))
return false;
@@ -114,7 +114,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
return _interactionSystem.InteractionActivate(uid, held);
}
public bool TryInteractHandWithActiveHand(EntityUid uid, string handName, SharedHandsComponent? handsComp = null)
public bool TryInteractHandWithActiveHand(EntityUid uid, string handName, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp, false))
return false;
@@ -132,7 +132,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
return true;
}
public bool TryUseItemInHand(EntityUid uid, bool altInteract = false, SharedHandsComponent? handsComp = null, string? handName = null)
public bool TryUseItemInHand(EntityUid uid, bool altInteract = false, HandsComponent? handsComp = null, string? handName = null)
{
if (!Resolve(uid, ref handsComp, false))
return false;
@@ -153,7 +153,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Moves an entity from one hand to the active hand.
/// </summary>
public bool TryMoveHeldEntityToActiveHand(EntityUid uid, string handName, bool checkActionBlocker = true, SharedHandsComponent? handsComp = null)
public bool TryMoveHeldEntityToActiveHand(EntityUid uid, string handName, bool checkActionBlocker = true, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp))
return false;
@@ -178,7 +178,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
}
//TODO: Actually shows all items/clothing/etc.
private void HandleExamined(EntityUid uid, SharedHandsComponent handsComp, ExaminedEvent args)
private void HandleExamined(EntityUid uid, HandsComponent handsComp, ExaminedEvent args)
{
foreach (var inhand in EnumerateHeld(uid, handsComp))
{

View File

@@ -25,7 +25,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
bool checkActionBlocker = true,
bool animateUser = false,
bool animate = true,
SharedHandsComponent? handsComp = null,
HandsComponent? handsComp = null,
ItemComponent? item = null)
{
if (!Resolve(uid, ref handsComp, false))
@@ -54,7 +54,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
bool checkActionBlocker = true,
bool animateUser = false,
bool animate = true,
SharedHandsComponent? handsComp = null,
HandsComponent? handsComp = null,
ItemComponent? item = null)
{
if (!Resolve(uid, ref handsComp, false))
@@ -73,7 +73,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
bool checkActionBlocker = true,
bool animateUser = false,
bool animate = true,
SharedHandsComponent? handsComp = null,
HandsComponent? handsComp = null,
ItemComponent? item = null)
{
if (!Resolve(uid, ref handsComp, false))
@@ -104,7 +104,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
return true;
}
public bool CanPickupAnyHand(EntityUid uid, EntityUid entity, bool checkActionBlocker = true, SharedHandsComponent? handsComp = null, ItemComponent? item = null)
public bool CanPickupAnyHand(EntityUid uid, EntityUid entity, bool checkActionBlocker = true, HandsComponent? handsComp = null, ItemComponent? item = null)
{
if (!Resolve(uid, ref handsComp, false))
return false;
@@ -118,7 +118,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Checks whether a given item will fit into a specific user's hand. Unless otherwise specified, this will also check the general CanPickup action blocker.
/// </summary>
public bool CanPickupToHand(EntityUid uid, EntityUid entity, Hand hand, bool checkActionBlocker = true, SharedHandsComponent? handsComp = null, ItemComponent? item = null)
public bool CanPickupToHand(EntityUid uid, EntityUid entity, Hand hand, bool checkActionBlocker = true, HandsComponent? handsComp = null, ItemComponent? item = null)
{
if (!Resolve(uid, ref handsComp, false))
return false;
@@ -149,7 +149,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
bool checkActionBlocker = true,
bool animateUser = false,
bool animate = true,
SharedHandsComponent? handsComp = null,
HandsComponent? handsComp = null,
ItemComponent? item = null)
{
if (uid == null
@@ -166,7 +166,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Puts an entity into the player's hand, assumes that the insertion is allowed. In general, you should not be calling this function directly.
/// </summary>
public virtual void DoPickup(EntityUid uid, Hand hand, EntityUid entity, SharedHandsComponent? hands = null)
public virtual void DoPickup(EntityUid uid, Hand hand, EntityUid entity, HandsComponent? hands = null)
{
if (!Resolve(uid, ref hands))
return;

View File

@@ -16,7 +16,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
[Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
protected event Action<SharedHandsComponent?>? OnHandSetActive;
protected event Action<HandsComponent?>? OnHandSetActive;
public override void Initialize()
{
@@ -31,7 +31,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
CommandBinds.Unregister<SharedHandsSystem>();
}
public virtual void AddHand(EntityUid uid, string handName, HandLocation handLocation, SharedHandsComponent? handsComp = null)
public virtual void AddHand(EntityUid uid, string handName, HandLocation handLocation, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp, false))
return;
@@ -53,7 +53,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
Dirty(handsComp);
}
public virtual void RemoveHand(EntityUid uid, string handName, SharedHandsComponent? handsComp = null)
public virtual void RemoveHand(EntityUid uid, string handName, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp, false))
return;
@@ -83,7 +83,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Get any empty hand. Prioritizes the currently active hand.
/// </summary>
public bool TryGetEmptyHand(EntityUid uid, [NotNullWhen(true)] out Hand? emptyHand, SharedHandsComponent? handComp = null)
public bool TryGetEmptyHand(EntityUid uid, [NotNullWhen(true)] out Hand? emptyHand, HandsComponent? handComp = null)
{
emptyHand = null;
if (!Resolve(uid, ref handComp, false))
@@ -104,7 +104,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Enumerate over hands, starting with the currently active hand.
/// </summary>
public IEnumerable<Hand> EnumerateHands(EntityUid uid, SharedHandsComponent? handsComp = null)
public IEnumerable<Hand> EnumerateHands(EntityUid uid, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp, false))
yield break;
@@ -122,7 +122,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// <summary>
/// Enumerate over held items, starting with the item in the currently active hand (if there is one).
/// </summary>
public IEnumerable<EntityUid> EnumerateHeld(EntityUid uid, SharedHandsComponent? handsComp = null)
public IEnumerable<EntityUid> EnumerateHeld(EntityUid uid, HandsComponent? handsComp = null)
{
if (!Resolve(uid, ref handsComp, false))
yield break;
@@ -145,7 +145,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// </summary>
/// <returns>True if the active hand was set to a NEW value. Setting it to the same value returns false and does
/// not trigger interactions.</returns>
public virtual bool TrySetActiveHand(EntityUid uid, string? name, SharedHandsComponent? handComp = null)
public virtual bool TrySetActiveHand(EntityUid uid, string? name, HandsComponent? handComp = null)
{
if (!Resolve(uid, ref handComp))
return false;
@@ -164,7 +164,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
/// </summary>
/// <returns>True if the active hand was set to a NEW value. Setting it to the same value returns false and does
/// not trigger interactions.</returns>
public bool SetActiveHand(EntityUid uid, Hand? hand, SharedHandsComponent? handComp = null)
public bool SetActiveHand(EntityUid uid, Hand? hand, HandsComponent? handComp = null)
{
if (!Resolve(uid, ref handComp))
return false;
@@ -190,7 +190,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
return true;
}
public bool IsHolding(EntityUid uid, EntityUid? entity, [NotNullWhen(true)] out Hand? inHand, SharedHandsComponent? handsComp = null)
public bool IsHolding(EntityUid uid, EntityUid? entity, [NotNullWhen(true)] out Hand? inHand, HandsComponent? handsComp = null)
{
inHand = null;
if (!Resolve(uid, ref handsComp, false))
@@ -207,4 +207,15 @@ public abstract partial class SharedHandsSystem : EntitySystem
return false;
}
public bool TryGetHand(EntityUid handsUid, string handId, [NotNullWhen(true)] out Hand? hand,
HandsComponent? hands = null)
{
hand = null;
if (!Resolve(handsUid, ref hands))
return false;
return hands.Hands.TryGetValue(handId, out hand);
}
}