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 (string line in rules) { string[] 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; }
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; }