private void Awake() { //Get main camera; camera = Camera.main; List <RoadTile> tilePrefabs = new List <RoadTile>(); activeTileMap = new Dictionary <Vector2, RoadTile>(); prefabObjects.RemoveAll((t) => { RoadTile tile = t.GetComponent <RoadTile>(); if (tile != null) { tilePrefabs.Add(tile); } return(tile == null); } ); Dictionary <RoadTile.Type, RoadTile> tileCatalogue = new Dictionary <RoadTile.Type, RoadTile>(); foreach (RoadTile tile in tilePrefabs) { if (!tileCatalogue.ContainsKey(tile.TileType)) { tileCatalogue.Add(tile.TileType, tile); } } roadTilePool = new CataloguePool <RoadTile.Type, RoadTile>(initialCountFromEach, transform, tileCatalogue); foreach (RoadTile tile in roadTilePool.InitializePool()) { tile.InitializeAsPoolItem(); } Rotator rotator = rotatorPrefab.GetComponent <Rotator>(); rotatorPool = new SingularPool <Rotator>(initialCountFromEach, transform, rotator); foreach (Rotator item in rotatorPool.InitializePool()) { item.InitializeAsPoolItem(); } InstallTile(RoadTile.Type.Straight, Vector3.zero, Vector3.forward); standingTilePosition = lastOutDirection; lastOutDirection = GetNewOutDirection(RoadTile.Type.Straight, lastOutDirection); Generate(); }
private void Start() { //Get main camera; camera = Camera.main; List <BallPlatformTile> tilePrefabs = new List <BallPlatformTile>(); prefabTiles.RemoveAll((t) => { BallPlatformTile tile = t.GetComponent <BallPlatformTile>(); if (tile != null) { tilePrefabs.Add(tile); } return(tile == null); } ); Dictionary <int, BallPlatformTile> tileCatalogue = new Dictionary <int, BallPlatformTile>(); foreach (BallPlatformTile tile in tilePrefabs) { if (!tileCatalogue.ContainsKey(tile.Type)) { tileCatalogue.Add(tile.Type, tile); } } tilePool = new CataloguePool <int, BallPlatformTile>(initialCountFromEach, transform, tileCatalogue); foreach (BallPlatformTile tile in tilePool.InitializePool()) { tile.InitializeAsPoolItem(true); } Pickup pickup = prefabPickup.GetComponent <Pickup>(); pickupPool = new SingularPool <Pickup>(initialCountFromEach, transform, pickup); foreach (Pickup item in pickupPool.InitializePool()) { item.InitializeAsPoolItem(); } GenerateTiles(); }