Exemplo n.º 1
0
    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;
    }
Exemplo n.º 2
0
		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;
		}