Exemplo n.º 1
0
        public void OpenBattle(Battle nbattle)
        {
            LeaveBattle(); // leave current battle
            battleID    = -1;
            this.battle = (Battle)nbattle.Clone();

            List <Object> objList = new List <object>();

            objList.Add(0); // type = normal
            objList.Add((int)battle.Nat);
            objList.Add(battle.Password);
            objList.Add(battle.HostPort);
            objList.Add(battle.MaxPlayers);;
            battle.Details.AddToParamList(objList);
            objList.Add(battle.Mod.Checksum);
            objList.Add(battle.Rank);
            objList.Add(battle.Map.Checksum);
            objList.Add(battle.Map.Name);
            objList.Add('\t' + battle.Title);
            objList.Add('\t' + battle.Mod.Name);

            mapToChangeTo  = battle.Map;
            lockToChangeTo = false;

            con.SendCommand(0, "OPENBATTLE", objList.ToArray());

            lastSpectatorCount = -1;

            // send predefined starting rectangles
            foreach (KeyValuePair <int, BattleRect> v in battle.Rectangles)
            {
                con.SendCommand(0, "ADDSTARTRECT", v.Key, v.Value.Left, v.Value.Top, v.Value.Right, v.Value.Bottom);
            }
        }
Exemplo n.º 2
0
 public Battle GetBattle()
 {
     if (battle != null)
     {
         return((Battle)battle.Clone());
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 3
0
		public void OpenBattle(Battle nbattle)
		{
			LeaveBattle(); // leave current battle
			battleID = -1;
			battle = (Battle) nbattle.Clone();

			var objList = new List<object>();
			objList.Add(0); // type = normal
			objList.Add((int) battle.Nat);
			objList.Add(battle.Password);
			objList.Add(battle.HostPort);
			objList.Add(battle.MaxPlayers);
			;
			//battle.Details.AddToParamList(objList);
			objList.Add(battle.Mod.Checksum);
			objList.Add(battle.Rank);
			objList.Add(battle.Map.Checksum);
			objList.Add(battle.Map.Name);
			objList.Add('\t' + battle.Title);
			objList.Add('\t' + battle.Mod.Name);

			mapToChangeTo = battle.Map;
			lockToChangeTo = false;

			con.SendCommand(0, "OPENBATTLE", objList.ToArray());

			lastSpectatorCount = -1;

			// send predefined starting rectangles
			foreach (var v in battle.Rectangles) con.SendCommand(0, "ADDSTARTRECT", v.Key, v.Value.Left, v.Value.Top, v.Value.Right, v.Value.Bottom);
		}
Exemplo n.º 4
0
    public void OpenBattle(Battle nbattle)
    {
      LeaveBattle(); // leave current battle
      battleID = -1;
      this.battle = (Battle)nbattle.Clone();

      List<Object> objList = new List<object>();
      objList.Add(0); // type = normal
      objList.Add(Program.main.config.GargamelMode ? 2 : 0); // nat - fixed ports for gargamel otherwise 0
      objList.Add(battle.Password);
      objList.Add(battle.HostPort);
      objList.Add(battle.MaxPlayers); ;
      battle.Details.AddToParamList(objList);
      objList.Add(battle.Mod.Checksum);
      objList.Add(battle.Rank);
      objList.Add(battle.Map.Checksum);
      objList.Add(battle.Map.Name);
      objList.Add('\t' + battle.Title);
      objList.Add('\t' + battle.Mod.Name);

      mapToChangeTo = battle.Map;
      lockToChangeTo = false;
      
      con.SendCommand(0, "OPENBATTLE", objList.ToArray());

      lastSpectatorCount = -1;

      // send predefined starting rectangles
      foreach (KeyValuePair<int, BattleRect> v in battle.Rectangles) {
        con.SendCommand(0, "ADDSTARTRECT", v.Key, v.Value.Left, v.Value.Top, v.Value.Right, v.Value.Bottom);
      }

    }