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); } }