Exemplo n.º 1
0
    public void AddCommandQueue(UnitEntity caster, int index)
    {
        UnitEntity[] playerTarget = null;
        if (battleContext.playerCurrentTarget != null)
        {
            playerTarget = new UnitEntity[] { battleContext.playerCurrentTarget };
        }
        Command command = new Command(caster, playerTarget, caster.data.abilities[index], this);

        if (command.costData != null)
        {
            if (caster.CheckCost(command.costData))
            {
                caster.LoseCost(command.costData);
                battleContext.AddCommand(command);
                BattleUI.Instance.AddCommandToStack(null, command);
            }
            else
            {
                Debug.Log("Not enough cost");
            }
        }
        else
        {
            battleContext.AddCommand(command);
            BattleUI.Instance.AddCommandToStack(null, command);
        }
    }