LevelPartPicker.LevelPart GetRandomLevelPart(Vector2 position) { LevelPartPicker.LevelPart levelPart = levelPartPicker.random; levelPart.GameObject = (GameObject)Instantiate(levelPart.GameObject, position, Quaternion.identity); return(levelPart); }
void InitializeLevel() { levelWidth = 0; for (int i = 0; i < startingPieces.Length; i++) { LevelPartPicker.LevelPart?levelPartMaybe = levelPartPicker.FindByName(startingPieces[i]); if (!levelPartMaybe.HasValue) { continue; } LevelPartPicker.LevelPart levelPart = levelPartMaybe.Value; Debug.Log("Spawning initial object at " + (levelWidth - levelPart.Left) + ": " + levelPart.GameObject.name); GameObject section = (GameObject)Instantiate(levelPart.GameObject, Vector2.right * (levelWidth - levelPart.Left), Quaternion.identity); levelPart.GameObject = section; indexedGameObjects.Add(i, levelPart); levelWidth += indexedGameObjects[i].Right + levelPart.GameObject.GetComponent <PrefabProperties>().distanceBetweenOtherParts; } StartCoroutine(GenerateSections(startingPieces.Length)); }