public BattleDetails CheckBattleDetails(BattleDetails battleDetailsOriginal, out int minTeamPlayers, out int maxTeamPlayers) { minTeamPlayers = 1; maxTeamPlayers = 8; BattleDetails battleDetails; if (battleDetailsOriginal != null) { battleDetails = (BattleDetails)battleDetailsOriginal.Clone(); } else { battleDetails = new BattleDetails(); } foreach (var line in rules) { var args = line.Split(' '); string key = args[0]; string val = Utils.Glue(args, 1); if (key == "min_players_per_allyteam") { minTeamPlayers = int.Parse(val); } if (key == "max_players_per_allyteam") { maxTeamPlayers = int.Parse(val); } if (key == "startpos") { if (val != "any") { battleDetails.StartPos = (BattleStartPos)int.Parse(val); } } } return(battleDetails); }
public BattleDetails CheckBattleDetails(BattleDetails battleDetailsOriginal, out int minTeamPlayers, out int maxTeamPlayers) { minTeamPlayers = 1; maxTeamPlayers = 8; BattleDetails battleDetails; if (battleDetailsOriginal != null) { battleDetails = (BattleDetails)battleDetailsOriginal.Clone(); } else { battleDetails = new BattleDetails(); } foreach (var line in rules) { var args = line.Split(' '); string key = args[0]; string val = Utils.Glue(args, 1); if (key == "min_players_per_allyteam") { minTeamPlayers = int.Parse(val); } if (key == "max_players_per_allyteam") { maxTeamPlayers = int.Parse(val); } if (key == "startpos") { if (val != "any") { battleDetails.StartPos = (BattleStartPos)int.Parse(val); } } if (key == "gamemode") { if (val != "any") { battleDetails.EndCondition = (BattleEndCondition)int.Parse(val); } } if (key == "dgun") { if (val != "any") { battleDetails.LimitDgun = int.Parse(val); } } if (key == "ghost") { if (val != "any") { battleDetails.GhostedBuildings = int.Parse(val); } } if (key == "diminish") { if (val != "any") { battleDetails.DiminishingMM = int.Parse(val); } } if (key == "metal") { if (val != "any") { int min = int.Parse(args[1]); int max = int.Parse(args[2]); if (battleDetails.StartingMetal < min) { battleDetails.StartingMetal = min; } if (battleDetails.StartingMetal > max) { battleDetails.StartingMetal = max; } } } if (key == "energy") { if (val != "any") { int min = int.Parse(args[1]); int max = int.Parse(args[2]); if (battleDetails.StartingEnergy < min) { battleDetails.StartingEnergy = min; } if (battleDetails.StartingEnergy > max) { battleDetails.StartingEnergy = max; } } } if (key == "units") { if (val != "any") { int min = int.Parse(args[1]); int max = int.Parse(args[2]); if (battleDetails.MaxUnits < min) { battleDetails.MaxUnits = min; } if (battleDetails.MaxUnits > max) { battleDetails.MaxUnits = max; } } } } return(battleDetails); }