public void Setup() { player = new Player("Player"); var players = new[] { player }; dice = new ControlledDice(); var realEstateHandler = FakeHandlerFactory.CreateEmptyRealEstateHandler(players); landableSpaces = new Dictionary <Int32, UnownableSpace>(); for (var i = 0; i < BoardConstants.BOARD_SIZE; i++) { landableSpaces.Add(i, new LandableSpace()); } space6 = landableSpaces[6] as LandableSpace; space10 = landableSpaces[10] as LandableSpace; var spaceHandler = new UnownableHandler(landableSpaces); banker = new Banker(players); boardHandler = new BoardHandler(players, realEstateHandler, spaceHandler, banker); jailHandler = new JailHandler(dice, boardHandler, banker); turnHandler = new TurnHandler(dice, boardHandler, jailHandler, realEstateHandler, banker); }
public Game() { // По-хорошему здесь должен применяться механизм // внедрения зависимостей, но так как приложение // учебное, то объекты создаются явно _turnHandler = new DefaultTurnHandler(new TurnValidator()); _reporter = new DefaultReporter(new DefaultGameOverAnalyst()); }
public Game(IEnumerable<IPlayer> newPlayers, ITurnHandler turnHandler, IBanker banker) { CheckNumberOfPlayers(newPlayers); var randomizer = new PlayerOrderRandomizer(); var randomizedPlayers = randomizer.Execute(newPlayers); players = new LinkedList<IPlayer>(randomizedPlayers); this.turnHandler = turnHandler; this.banker = banker; currentPlayerPointer = players.First; Round = 1; }
public Game(IEnumerable <IPlayer> newPlayers, ITurnHandler turnHandler, IBanker banker) { CheckNumberOfPlayers(newPlayers); var randomizer = new PlayerOrderRandomizer(); var randomizedPlayers = randomizer.Execute(newPlayers); players = new LinkedList <IPlayer>(randomizedPlayers); this.turnHandler = turnHandler; this.banker = banker; currentPlayerPointer = players.First; Round = 1; }
public void InjectDependencies( Hero hero, ITurnHandler turnHandler, IHeroActionController moveActionSimulator, IEventDispatcher eventDispatcher) { _hero = hero; _turnHandler = turnHandler; _actionSimulator = moveActionSimulator; _eventDispatcher = eventDispatcher; _actionSimulator.OnActionStartSimulation += SetAsNotSelectable; _actionSimulator.OnActionSimulationFinished += UpdateGuiOnActionSimulated; _turnHandler.OnTurnStart += SetAsSelectable; }
public TurnDealer( ITurnHandler player1TurnHandler, ITurnHandler player2TurnHandler, IEventDispatcher eventDispatcher) { _player1TurnHandler = player1TurnHandler; _player2TurnHandler = player2TurnHandler; _eventDispatcher = eventDispatcher; _player1TurnHandler.InjectDependencies(this); _player2TurnHandler.InjectDependencies(this); _player1TurnHandler.OnTurnFinished += ChangeTurnToPlayer2; _player2TurnHandler.OnTurnFinished += ChangeTurnToCPU; _eventDispatcher.Subscribe <GameActionsExecutedSignal>(HandleAllActionsExecuted); }
private void Start() { NotificationSystem.RegisterListener(Visit); CommandDispatcher = new CombatEventDispatcher(NotificationSystem); TurnDispatcher = new TurnEventDispatcher(NotificationSystem); SelectionSystem = new SelectionSystem(CombatController); PlayerTurnHandler = new PlayerTurnHandler(OnTurnStart); TurnSystem.SetPlayerTurnHandler(PlayerTurnHandler); PlayerInfo = PlayerInfo.CreateFromPersistence(); PlayerCharacter = PlayerInfo.PlayerCharacter.DecorateWithEquipmentDecorator(); CombatController.ActiveAllies = new List <ICharacter> { PlayerCharacter }; TurnDispatcher.DispatchEndTurn(); }
public void InjectDependencies( int heroInstanceId, ITurnHandler turnHandler, IEventDispatcher eventDispatcher, IGameActionsExecutioner gameActionsExecutioner) { InitializeHeroEntity(heroInstanceId); _turnHandler = turnHandler; _heroSelector.InjectDependencies( _hero, turnHandler, _heroActionController, eventDispatcher ); _heroActionController.InjectDependencies(_hero, gameActionsExecutioner); _heroMovementController.InjectDependencies(_hero); _guiView.InjectDependencies(_hero, HeroHealth); _heroHealthController.InjectDependencies(_hero, HeroHealth); _heroAttackController.InjectDependencies(_hero); _heroAbilityController.InjectDependencies(_hero); }
public void Init() { var fixture = new Fixture().Customize(new AutoMoqCustomization()); mockDeck = fixture.Create<Mock<IDeck>>(); mockDice = fixture.Create<Mock<Dice>>(); mockDeckFactory = fixture.Create<Mock<IDeckFactory>>(); mockPlayer = fixture.Create<Mock<IPlayer>>(); ninject = new StandardKernel(new BindingsModule()); ninject.Rebind<IDice>().ToConstant(mockDice.Object).InSingletonScope(); ninject.Rebind<IDeckFactory>().ToConstant(mockDeckFactory.Object).InSingletonScope(); ninject.Rebind<ITaskHandler>().To<TaskHandler>().WithConstructorArgument(PlayerFactory.BuildPlayers(6)); // register six OTHER players mockDeckFactory.Setup(x => x.BuildChanceDeck()).Returns(mockDeck.Object); mockDeckFactory.Setup(x => x.BuildCommunitiyChestDeck()).Returns(mockDeck.Object); turnHandler = ninject.Get<ITurnHandler>(); player = ninject.Get<IPlayer>(); realtor = ninject.Get<IRealtor>(); jailer = ninject.Get<IJailer>(); taskHandler = ninject.Get<ITaskHandler>(); }
public void SetPlayerTurnHandler(ITurnHandler playerTurnHandler) { TurnHandlers.Add(TurnType.Player, playerTurnHandler); }
private void InjectHeroControllerDependencies(IEnumerable <HeroController> heroControllers, ITurnHandler turnHandler) { foreach (var heroController in heroControllers) { heroController.InjectDependencies(_counterHeroesInstalled, turnHandler, _eventDispatcher, _gameActionsExecutioner); ++_counterHeroesInstalled; } }
private void InstallTurnDependencies() { _player1TurnHandler = new TurnHandler(TurnTypes.Turn.Player_1, _player1Heroes); _player2TurnHandler = new TurnHandler(TurnTypes.Turn.Player_2, _player2Heroes); _turnDealer = new TurnDealer(_player1TurnHandler, _player2TurnHandler, _eventDispatcher); }
public RoundHandler(ITurnHandler turnHandler) { this.turnHandler = turnHandler; }
public void Setup() { player = new Player("Player"); var players = new[] { player }; dice = new ControlledDice(); var realEstateHandler = FakeHandlerFactory.CreateEmptyRealEstateHandler(players); landableSpaces = new Dictionary<Int32, UnownableSpace>(); for (var i = 0; i < BoardConstants.BOARD_SIZE; i++) landableSpaces.Add(i, new LandableSpace()); space6 = landableSpaces[6] as LandableSpace; space10 = landableSpaces[10] as LandableSpace; var spaceHandler = new UnownableHandler(landableSpaces); banker = new Banker(players); boardHandler = new BoardHandler(players, realEstateHandler, spaceHandler, banker); jailHandler = new JailHandler(dice, boardHandler, banker); turnHandler = new TurnHandler(dice, boardHandler, jailHandler, realEstateHandler, banker); }