Exemple #1
0
        public void AddUserPrepareBattle(User user, EBattleMode mode)
        {
            PrepareBattle prepareBattle = GetPrepareBattle(mode);

            if (prepareBattle == null)
            {
                uint id = CreatePrepareBattle(user, mode);
                Data.t.netMsg.Add(new MsgServerPrepareBattle(user.id, prepareBattles[id]));
                return;
            }
            Data.t.netMsg.Add(new MsgServerPrepareBattle(user.id, prepareBattle));
        }
Exemple #2
0
        public uint CreatePrepareBattle(User user, EBattleMode mode)
        {
            uint          id     = GetPrepareBattleId();
            PrepareBattle battle = new PrepareBattle()
            {
                id = id, time = 10, mode = mode
            };

            battle.users.Add(new PrepareBattleItem(user.id, user.name));
            prepareBattles.Add(battle.id, battle);
            return(id);
        }
Exemple #3
0
 private PrepareBattle GetPrepareBattle(EBattleMode mode)
 {
     for (int i = 2; i < 5; i++)
     {
         foreach (KeyValuePair <uint, PrepareBattle> it in prepareBattles)
         {
             if (it.Value.mode == mode && it.Value.users.Count < i)
             {
                 return(it.Value);
             }
         }
     }
     return(null);
 }
Exemple #4
0
        public void Create(PrepareBattle prepareBattle, int seed)
        {
            mode      = prepareBattle.mode;
            this.seed = seed;

            MapGenerator generator = new MapGenerator();
            int          s         = 24;

            if (prepareBattle.users.Count > 2)
            {
                s = 32;
            }
            size = new Vector2w(s, s);
            map  = generator.Create(seed, size, GameData.blockInfo);

            data = new BattleData();
            data.Init(prepareBattle);

            findRoad = new FindRoad(size);
        }
Exemple #5
0
        private void StartPrepareBattle(uint userId, EBattleMode mode)
        {
            User user = d.GetUser(userId);

            if (user == null)
            {
                return;
            }

            Unit unit = user.GetSelectUnit();

            if (unit == null)
            {
                Data.t.netMsg.Add(new MsgServerNotification(userId, "no_select_unit"));
                return;
            }
            //TODO проверка полного здоровья юнита и наличия зарядов

            d.AddUserPrepareBattle(user, mode);
        }
Exemple #6
0
 public MsgClientStartBattle(EBattleMode mode)
     : base(EMsgNetClient.startBattle)
 {
     this.mode = mode;
 }