Example #1
0
        private static void Main(string[] args)
        {
            MessageBroker.SetMessageBroker(new DefaultMessageBroker());
            EventAggregator.SetAggregator(new DefaultEventAggregator());

            CombatEncounterService.Create();

            EventAggregator
                .Subscribe<PlayerReadyForActionEvent>(OnPlayerReadyForAction)
                .Subscribe<DamageEvent>(OnDamage)
                .Subscribe<RoundBeganEvent>(OnRoundStart)
                .Subscribe<RoundEndEvent>(OnRoundEnd)
                .Subscribe<PlayersWinEvent>(OnPlayersWin)
                .Subscribe<MonstersWinEvent>(OnMonstersWin)
                .Subscribe<CombatStartedEvent>(OnCombatStarted);

            _party = new List<IPlayerCombatMember>();
            _party.Add(new PlayerCombatMember(100, "JB"));

            _monsters = new List<IMonsterCombatMember>();

            IMonsterCombatMember monster = new MonsterCombatMember(20, "Monster")
                .SetTargetStrategy(new RandomTargetStrategy())
                .SetCombatActionStrategy(new RegularAttackStrategy());
            _monsters.Add(monster);

            var message = new StartCombatMessage(_party, _monsters);
            MessageBroker.Send(message);

            while (true)
            {
            }
        }
        public override void Given()
        {
            base.Given();

            _player = new PlayerCombatMember(10, "player");
            _monster = new MonsterCombatMember(10, "monster")
                .SetTargetStrategy(new RandomTargetStrategy())
                .SetCombatActionStrategy(new RegularAttackStrategy()) as MonsterCombatMember;

            _combatEncounter.SetPlayers(new List<IPlayerCombatMember> {_player});
            _combatEncounter.AddMonsters(new List<IMonsterCombatMember> {_monster});
        }
Example #3
0
        public override void OnWhen()
        {
            base.OnWhen();

            _monster = new MonsterCombatMember(10, "monster");

            var monsters = new List<IMonsterCombatMember>
                               {
                                   _monster
                               };

            _combatEncounter.AddMonsters(monsters);
        }
Example #4
0
        public override void Given()
        {
            base.Given();

            _monster = new MonsterCombatMember(10, "monster");
        }