public void Init(EntityType type) { _entitySelection = new EntitySelection { Type = type, Battlefield = Battlefield }; _userDecisionSelection = new UserDecisionSelection { EntitySelection = _entitySelection, InputSelection = InputSelection }; _userDecisionSelection.Init(); _entityMovement = new EntityMovement { Type = type, EntitySelection = _entitySelection, BreadcrumbsHandler = BreadcrumbsHandler, MovementResolver = MovementResolver, InputSelection = InputSelection, LevelDataProvider = LevelDataProvider }; _entityMovement.Init(); _attackResolver = new AttackResolver { EntitySelection = _entitySelection, Battlefield = Battlefield }; _attackResolver.Init(); _turnResolver = new TurnResolver { Type = type, Battlefield = Battlefield }; _turnResolver.Init(); _turnResolver.TurnEnded += TurnResolverdEnded; }