Esempio n. 1
0
 private void OnBattleFound(ConnectedClient combatant, NewBattleData data)
 {
     if (this.BattleFoundEvent != null)
     {
         this.BattleFoundEvent(combatant, new BattleCreatedEventData(combatant, data));
     }
 }
Esempio n. 2
0
        private void HandleBattleFound(ServerResponse response)
        {
            this.BattleStatus = BattleStatus.Battle;

            var opHandler = new OperationDataHandler();

            NewBattleData battleData = opHandler.TranslateObject <NewBattleData>(response.ResponseData);

            this.BattleId = battleData.BattleId;
            this.OnBatteStatusChanged(new BattleStatusData()
            {
                BattleStatus  = BattleStatus.Battle,
                NewBattleData = battleData
            });
        }
Esempio n. 3
0
        public void FindBattle(ConnectedClient client)
        {
            if (!this.BattleQueue.Any())
            {
                this.BattleQueue.Enqueue(client);
                Console.WriteLine(string.Format("{0} added to the battle queue", client.ClientName));
                return;
            }

            //
            // If someone already looks for battle then match them in queue order.
            //

            var enemy = this.BattleQueue.Dequeue();

            var firstPlayer  = new CombatantInfo(client);
            var secondPlayer = new CombatantInfo(enemy);

            Guid battleId = Guid.NewGuid();

            var battle = new Battle(firstPlayer, secondPlayer, battleId);

            this.ActiveBattles.Add(battle);

            NewBattleData data = new NewBattleData()
            {
                OponentName = enemy.ClientName,
                BattleId    = battleId
            };

            this.OnBattleFound(client, data);

            data = new NewBattleData()
            {
                BattleId    = battleId,
                OponentName = client.ClientName
            };

            this.OnBattleFound(enemy, data);
        }
 public BattleCreatedEventData(ConnectedClient combatant, NewBattleData battleData)
 {
     this.BattleData = battleData;
 }