示例#1
0
        public GameController GetGameController(IOutputter outputter)
        {
            var randomiser         = new Randomiser(new System.Random());
            var scheduleController = new ScheduleController();
            var renderController   = new RenderController(outputter);
            var inputController    = new InputController();
            var saveController     = new SaveController();
            var levelController    = new LevelController();
            var levelFactory       = new LevelFactory(randomiser);
            var itemFactory        = new ItemFactory();
            var stringFormatter    = new StringFormatterSmartFormat();
            var assetBank          = new AssetBank(stringFormatter);
            var eventBus           = new EventBus();
            var eventKeeper        = new EventKeeper(eventBus, assetBank);
            var screenFactory      = new ScreenFactory(eventKeeper);
            var playerFactory      = new PlayerFactory(levelController, eventBus, randomiser, scheduleController);
            var enemyFactory       = new EnemyFactory(eventBus, randomiser, scheduleController);

            return(new GameController(
                       renderController,
                       inputController,
                       saveController,
                       levelController,
                       levelFactory,
                       itemFactory,
                       screenFactory,
                       playerFactory,
                       enemyFactory,
                       eventBus,
                       scheduleController
                       ));
        }
示例#2
0
 public ScreenFactory(EventKeeper eventKeeper)
 {
     _eventKeeper = eventKeeper;
 }