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)); }
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); }
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); }
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); }
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); }
public MsgClientStartBattle(EBattleMode mode) : base(EMsgNetClient.startBattle) { this.mode = mode; }