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}); }
public override void OnWhen() { base.OnWhen(); _monster = new MonsterCombatMember(10, "monster"); var monsters = new List<IMonsterCombatMember> { _monster }; _combatEncounter.AddMonsters(monsters); }
public override void Given() { base.Given(); _monster = new MonsterCombatMember(10, "monster"); }