Exemplo n.º 1
0
 private void ToggleCrafting()
 {
     if (UI.CraftingMode)
     {
         ResetCraftingEvent?.Invoke();
         UI.CraftingMode = false;
         LeaveCurrentDomain();
         // leave inventory open
     }
     else
     {
         if (GetCurrentDomain() != CommandDomain.Inventory)
         {
             ToggleInventory();
         }
         UI.CraftingMode = true;
         EnterDomain(CommandDomain.Crafting);
     }
 }
Exemplo n.º 2
0
        public void ExecuteCommand(Command command)
        {
            switch (command)
            {
            case Command.None:
                Log.Error("Command \"None\" cannot be executed!");
                break;

            // Movement -----------------------
            case Command.MoveN:
                MoveEntity(Direction.North);
                break;

            case Command.MoveNE:
                break;

            case Command.MoveE:
                MoveEntity(Direction.East);
                break;

            case Command.MoveSE:
                break;

            case Command.MoveS:
                MoveEntity(Direction.South);
                break;

            case Command.MoveSW:
                break;

            case Command.MoveW:
                MoveEntity(Direction.West);
                break;

            case Command.MoveNW:
                break;

            case Command.Wait:
                if (!Util.PlayerTurnOver)
                {
                    Util.TurnOver(Util.PlayerID);
                }
                break;
            // -------------------------------

            case Command.Interact:
                Interact();
                break;

            case Command.ToggleInv:
                ToggleInventory();
                break;

            case Command.MoveInvCursorUp:
                MoveInventoryCursor(Direction.North);
                break;

            case Command.MoveInvCursorRight:
                MoveInventoryCursor(Direction.East);
                break;

            case Command.MoveInvCursorDown:
                MoveInventoryCursor(Direction.South);
                break;

            case Command.MoveInvCursorLeft:
                MoveInventoryCursor(Direction.West);
                break;

            case Command.ToggleTargeting:
                ToggleTargetMode();
                break;

            case Command.ConfirmTarget:
                ConfirmTarget();
                break;

            case Command.UseItem:
                UseItem(ItemUsage.None);
                break;

            case Command.ConsumeItem:
                UseItem(ItemUsage.Consume);
                break;

            case Command.DropItem:
                break;

            case Command.ThrowItem:
                UseItem(ItemUsage.Throw);
                break;

            case Command.ToggleCrafting:
                ToggleCrafting();
                break;

            case Command.AddIngredient:
                AddItemAsCraftingIngredient();
                break;

            case Command.ResetCrafting:
                ResetCraftingEvent?.Invoke();
                break;

            case Command.CraftItem:
                CraftItemEvent?.Invoke();
                ToggleCrafting();
                break;

            default:
                Log.Error("Command not implemented! " + command);
                break;
            }
        }