public LevelGameObjectsHolder Create(LevelGameObjectsHolder oldHolder, LevelInfo levelInfo) { cleanUp(oldHolder); LevelGameObjectsHolder holder = create(levelInfo); return(holder); }
public void goToNextLevel() { _level++; Debug.Log("Loading level " + _level.ToString()); LevelInfo levelInfo = _levelGeneratorSerivce.generate(_seed + _level); _holder = _sceneCreatorService.Create(_holder, levelInfo); setPlayerToStartPos(_holder.startPos); LevelChanged(this, _level); }
private LevelGameObjectsHolder create(LevelInfo levelInfo) { LevelGameObjectsHolder holder = new LevelGameObjectsHolder(); holder.tiles = _tilesSpawner.spawn(levelInfo.tiles); holder.items = _itemsSpawner.spawn(levelInfo.itemsOnTiles); holder.enemies = _enemiesSpanwer.spawn(levelInfo.itemsOnTiles); List <Marker> markers = _itemsMarker.getMarkers(levelInfo.itemsOnTiles); holder.startPos = markers.Where <Marker>(m => ItemOnTileEnum.STARTPOS.Equals(m.itemType)).First(); return(holder); }
private void cleanUp(LevelGameObjectsHolder oldHolder) { removeGameObjects(oldHolder.tiles); removeGameObjects(oldHolder.items); removeGameObjects(oldHolder.enemies); }