Ejemplo n.º 1
0
        public void BattleEncounterListener(BattleEncounterEvent battleEncounterEvent)
        {
            var battleRunner = new SimpleBattleRunner(battleEncounterEvent.Attacker.GetComponent <Army>(),
                                                      battleEncounterEvent.Defender.GetComponent <Army>());

            battleRunner.Run();

            if (battleRunner.BattleWinner == SimpleBattleRunner.Winner.Attacker)
            {
                ArmyLoseEvent armyLoseEvent =
                    new ArmyLoseEvent(battleEncounterEvent.Defender, battleEncounterEvent.Position);
                _eventBus.Post(armyLoseEvent);
            }
            else if (battleRunner.BattleWinner == SimpleBattleRunner.Winner.Defender)
            {
                ArmyLoseEvent armyLoseEvent =
                    new ArmyLoseEvent(battleEncounterEvent.Attacker, battleEncounterEvent.Position);
                _eventBus.Post(armyLoseEvent);
            }
            else
            {
                ArmyLoseEvent armyLoseEvent =
                    new ArmyLoseEvent(battleEncounterEvent.Attacker, battleEncounterEvent.Position);
                _eventBus.Post(armyLoseEvent);

                armyLoseEvent =
                    new ArmyLoseEvent(battleEncounterEvent.Defender, battleEncounterEvent.Position);
                _eventBus.Post(armyLoseEvent);
            }
        }
Ejemplo n.º 2
0
 public void ArmyLoseListener(ArmyLoseEvent armyLoseEvent)
 {
     counter--;
     if (counter <= 1)
     {
         EndGame();
     }
 }
Ejemplo n.º 3
0
 public void ArmyLoseListener(ArmyLoseEvent armyLoseEvent)
 {
     entityWorld.DeleteEntity(armyLoseEvent.Army);
 }
 public void ArmyLoseListener(ArmyLoseEvent armyLoseEvent)
 {
     _armies.Remove(armyLoseEvent.Army);
 }