private void ResolveCombat(UnitController attacker, UnitController defender) { int powerDifference = attacker.powerLevel - defender.powerLevel; attacker.SetAttacking(); soundeffects[0].Play(); if (powerDifference >= 0) { soundeffects [2].Play(); AddPlayerSacrificePoints(currentPlayer, 1); waitingForAnim = true; if (powerDifference > 0) { StartCoroutine(kill_tank_and_move(defender, attacker)); } else { StartCoroutine(kill_tank(defender)); } } else { defender.AddPower(-attacker.powerLevel); soundeffects [1].Play(); defender.SetHit(); } attacker.SetMoved(true); DeselectUnit(); }
private void UpgradeUnit() { if (sacrifice [currentPlayer - 1] == 0) { return; } selectedUnit.AddPower(1); sacrifice[currentPlayer - 1] -= 1; UpdatePlayerSacrificeCounter(currentPlayer); HighlightSelectedUnitMoves(); }