void Start() { difficultyManager = new DifficultyManager(); new ServiceLocator (); ServiceLocator.addService<IProcessorFSM> (new ProcessorFSM ()); ServiceLocator.addService<IProcessorPatternConfiguration> (new ProcessorPatternConfigurator ()); ServiceLocator.addService<IBladeSectionDifficulty>(difficultyManager); levelData = new LevelData(); poolManager = new GameObjectPoolManager(); testSectionBuilderConfigurator = new SectionBuilderConfigurator(levelData) as ISectionBuilderConfiguration; testSectionBuilderSeclector = new SectionBuilderSelector(testSectionBuilderConfigurator, levelData) as ISectionBuilderSelection; SectionBuilderClear clearBuilder = new SectionBuilderClear(); SectionBuilderBlades bladesBuilder = new SectionBuilderBlades(levelData, poolManager); SectionBuilderProcessors processorsBuilder = new SectionBuilderProcessors (levelData, poolManager); testSectionBuilderSeclector.addSectionBuilder(clearBuilder); testSectionBuilderSeclector.addSectionBuilder(bladesBuilder); testSectionBuilderSeclector.addSectionBuilder(processorsBuilder); levelData.activeSectionBuilder = clearBuilder; testSectionDesigner = new SectionDesigner(testSectionBuilderSeclector, levelData) as ISectionDesigning; rowCleaner = new RowCleaner(poolManager); testLevelHandler = new LevelHandler(levelData, testSectionDesigner, rowCleaner); for (int i = 0; i < 50; ++i) { testLevelHandler.buildNewRow(); } }
public LevelHandler BuildGameFramework() { difficultyManager.levelData = levelData; SetupServiceLocator(); poolManager = new GameObjectPoolManager(poolParent); arenaBuilder.Setup(levelData, poolManager); sectionBuilderConfigurator = new SectionBuilderConfigurator(levelData) as ISectionBuilderConfiguration; sectionBuilderSeclector = new SectionBuilderSelector(sectionBuilderConfigurator, levelData) as ISectionBuilderSelection; SetupSectionBuilders(); sectionDesigner = new ArenaSectionDesigner(sectionBuilderSeclector, levelData, arenaBuilder) as ISectionDesigning; rowCleaner = new RowCleaner(poolManager); levelHandler = new LevelHandler(levelData, sectionDesigner, rowCleaner); return levelHandler; }
public SectionDesigner(ISectionBuilderSelection sectionBuilderSelector, LevelData levelData) { this.sectionBuilderSelector = sectionBuilderSelector; this.levelData = levelData; }