Make more network-events check EntitySessionEventArgs. (#6612)
This commit is contained in:
@@ -256,7 +256,7 @@ namespace Content.Client.Inventory
|
|||||||
if (e.Function != EngineKeyFunctions.UIClick &&
|
if (e.Function != EngineKeyFunctions.UIClick &&
|
||||||
e.Function != ContentKeyFunctions.ActivateItemInWorld)
|
e.Function != ContentKeyFunctions.ActivateItemInWorld)
|
||||||
return;
|
return;
|
||||||
RaiseNetworkEvent(new OpenSlotStorageNetworkMessage(entityUid, definition.Name));
|
RaiseNetworkEvent(new OpenSlotStorageNetworkMessage(definition.Name));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
btn.OnHover = (_) =>
|
btn.OnHover = (_) =>
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ namespace Content.Client.Tabletop
|
|||||||
/// <param name="viewport">The viewport in which we are dragging.</param>
|
/// <param name="viewport">The viewport in which we are dragging.</param>
|
||||||
private void StartDragging(EntityUid draggedEntity, ScalingViewport viewport)
|
private void StartDragging(EntityUid draggedEntity, ScalingViewport viewport)
|
||||||
{
|
{
|
||||||
RaiseNetworkEvent(new TabletopDraggingPlayerChangedEvent(draggedEntity, _playerManager.LocalPlayer?.UserId));
|
RaiseNetworkEvent(new TabletopDraggingPlayerChangedEvent(draggedEntity, true));
|
||||||
|
|
||||||
if (EntityManager.TryGetComponent<AppearanceComponent>(draggedEntity, out var appearance))
|
if (EntityManager.TryGetComponent<AppearanceComponent>(draggedEntity, out var appearance))
|
||||||
{
|
{
|
||||||
@@ -246,7 +246,7 @@ namespace Content.Client.Tabletop
|
|||||||
// Set the dragging player on the component to noone
|
// Set the dragging player on the component to noone
|
||||||
if (broadcast && _draggedEntity != null && EntityManager.HasComponent<TabletopDraggableComponent>(_draggedEntity.Value))
|
if (broadcast && _draggedEntity != null && EntityManager.HasComponent<TabletopDraggableComponent>(_draggedEntity.Value))
|
||||||
{
|
{
|
||||||
RaiseNetworkEvent(new TabletopDraggingPlayerChangedEvent(_draggedEntity.Value, null));
|
RaiseNetworkEvent(new TabletopDraggingPlayerChangedEvent(_draggedEntity.Value, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
_draggedEntity = null;
|
_draggedEntity = null;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ using InventoryComponent = Content.Shared.Inventory.InventoryComponent;
|
|||||||
|
|
||||||
namespace Content.Server.Inventory
|
namespace Content.Server.Inventory
|
||||||
{
|
{
|
||||||
class ServerInventorySystem : InventorySystem
|
sealed class ServerInventorySystem : InventorySystem
|
||||||
{
|
{
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
@@ -20,11 +20,14 @@ namespace Content.Server.Inventory
|
|||||||
SubscribeNetworkEvent<OpenSlotStorageNetworkMessage>(OnOpenSlotStorage);
|
SubscribeNetworkEvent<OpenSlotStorageNetworkMessage>(OnOpenSlotStorage);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnOpenSlotStorage(OpenSlotStorageNetworkMessage ev)
|
private void OnOpenSlotStorage(OpenSlotStorageNetworkMessage ev, EntitySessionEventArgs args)
|
||||||
{
|
{
|
||||||
if (TryGetSlotEntity(ev.Uid, ev.Slot, out var entityUid) && TryComp<ServerStorageComponent>(entityUid, out var storageComponent))
|
if (args.SenderSession.AttachedEntity is not EntityUid { Valid: true } uid)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (TryGetSlotEntity(uid, ev.Slot, out var entityUid) && TryComp<ServerStorageComponent>(entityUid, out var storageComponent))
|
||||||
{
|
{
|
||||||
storageComponent.OpenStorageUI(ev.Uid);
|
storageComponent.OpenStorageUI(uid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,13 +56,13 @@ namespace Content.Server.Tabletop
|
|||||||
transform.Coordinates = entityCoordinates;
|
transform.Coordinates = entityCoordinates;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDraggingPlayerChanged(TabletopDraggingPlayerChangedEvent msg)
|
private void OnDraggingPlayerChanged(TabletopDraggingPlayerChangedEvent msg, EntitySessionEventArgs args)
|
||||||
{
|
{
|
||||||
var dragged = msg.DraggedEntityUid;
|
var dragged = msg.DraggedEntityUid;
|
||||||
|
|
||||||
if (!EntityManager.TryGetComponent<TabletopDraggableComponent?>(dragged, out var draggableComponent)) return;
|
if (!EntityManager.TryGetComponent<TabletopDraggableComponent?>(dragged, out var draggableComponent)) return;
|
||||||
|
|
||||||
draggableComponent.DraggingPlayer = msg.DraggingPlayer;
|
draggableComponent.DraggingPlayer = msg.IsDragging ? args.SenderSession.UserId : null;
|
||||||
|
|
||||||
if (!EntityManager.TryGetComponent<AppearanceComponent?>(dragged, out var appearance)) return;
|
if (!EntityManager.TryGetComponent<AppearanceComponent?>(dragged, out var appearance)) return;
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,14 @@
|
|||||||
using System;
|
|
||||||
using Robust.Shared.GameObjects;
|
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
namespace Content.Shared.Inventory.Events;
|
namespace Content.Shared.Inventory.Events;
|
||||||
|
|
||||||
[NetSerializable, Serializable]
|
[NetSerializable, Serializable]
|
||||||
public class OpenSlotStorageNetworkMessage : EntityEventArgs
|
public sealed class OpenSlotStorageNetworkMessage : EntityEventArgs
|
||||||
{
|
{
|
||||||
public readonly EntityUid Uid;
|
|
||||||
public readonly string Slot;
|
public readonly string Slot;
|
||||||
|
|
||||||
public OpenSlotStorageNetworkMessage(EntityUid uid, string slot)
|
public OpenSlotStorageNetworkMessage(string slot)
|
||||||
{
|
{
|
||||||
Uid = uid;
|
|
||||||
Slot = slot;
|
Slot = slot;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
using System;
|
|
||||||
using Robust.Shared.GameObjects;
|
|
||||||
using Robust.Shared.Network;
|
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
namespace Content.Shared.Tabletop.Events
|
namespace Content.Shared.Tabletop.Events
|
||||||
@@ -10,22 +7,19 @@ namespace Content.Shared.Tabletop.Events
|
|||||||
/// trying to move a single item at the same time.
|
/// trying to move a single item at the same time.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
public class TabletopDraggingPlayerChangedEvent : EntityEventArgs
|
public sealed class TabletopDraggingPlayerChangedEvent : EntityEventArgs
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The UID of the entity being dragged.
|
/// The UID of the entity being dragged.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public EntityUid DraggedEntityUid;
|
public EntityUid DraggedEntityUid;
|
||||||
|
|
||||||
/// <summary>
|
public bool IsDragging;
|
||||||
/// The NetUserID of the player that is now dragging the item.
|
|
||||||
/// </summary>
|
|
||||||
public NetUserId? DraggingPlayer;
|
|
||||||
|
|
||||||
public TabletopDraggingPlayerChangedEvent(EntityUid draggedEntityUid, NetUserId? draggingPlayer)
|
public TabletopDraggingPlayerChangedEvent(EntityUid draggedEntityUid, bool isDragging)
|
||||||
{
|
{
|
||||||
DraggedEntityUid = draggedEntityUid;
|
DraggedEntityUid = draggedEntityUid;
|
||||||
DraggingPlayer = draggingPlayer;
|
IsDragging = isDragging;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user