コード例 #1
0
        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;
        }
コード例 #2
0
ファイル: InventoryHandler.cs プロジェクト: UchuServer/Uchu
        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;
        }