public PlayerCombatResult SimulatePlayerCombat()
    {
        unit1 = player1Units.RandomlySelectUnit();
        unit2 = player2Units.RandomlySelectUnit();

        // while both players have units
        while (unit1 != null && unit2 != null)
        {
            UnitCombatResult unitResult = SimulateUnitCombat();

            ReinforceBattle(unitResult);
        }

        if (unit1 == null && unit2 == null)
        {
            return(PlayerCombatResult.DRAW);
        }
        else if (unit1 == null)
        {
            // ADD unit2 back to player2units!
            player2Units.AddUnit(unit2.unitType);
            return(PlayerCombatResult.PLAYER2_WIN);
        }
        else
        {
            // ADD unit1 back to player2units!
            player1Units.AddUnit(unit1.unitType);
            return(PlayerCombatResult.PLAYER1_WIN);
        }
    }
    public void ReinforceBattle(UnitCombatResult unitCombatResult)
    {
        if (unitCombatResult == UnitCombatResult.UNIT1_DEAD || unitCombatResult == UnitCombatResult.BOTH_DEAD)
        {
            unit1 = player1Units.RandomlySelectUnit();
        }

        if (unitCombatResult == UnitCombatResult.UNIT2_DEAD || unitCombatResult == UnitCombatResult.BOTH_DEAD)
        {
            unit2 = player2Units.RandomlySelectUnit();
        }
    }