public void ItemMovementHandler(MoveItemInInventoryMessage message, Player player) { if (message.DestinationInventoryType == InventoryType.Invalid) { message.DestinationInventoryType = message.CurrentInventoryType; } if (message.Item.Inventory.ManagerComponent.GameObject != player) { return; } message.Item.Slot = (uint)message.NewSlot; }
public void ItemMovementHandler(MoveItemInInventoryMessage message, Player player) { var inventoryManager = message.Item.Inventory.ManagerComponent; if (inventoryManager.GameObject != player) { return; } var destinationInventory = message.DestinationInventoryType == InventoryType.Invalid ? message.CurrentInventoryType : message.DestinationInventoryType; // If the slot is occupied, switch the items var itemToSwap = inventoryManager[destinationInventory][(uint)message.NewSlot]; if (itemToSwap != null) { itemToSwap.Slot = message.Item.Slot; } message.Item.Slot = (uint)message.NewSlot; }