public void ReturnToPool(RoadTile tile) { tile.ApplyReturnProcess(); if (tile.TileType != RoadTile.Type.Straight) { RotatorLink rotatorLink = tile.GetComponent <RotatorLink>(); Rotator rotator = rotatorLink.DetachRotator(); rotator.ApplyReturnProcess(); rotatorPool.ReturnToPool(rotator); } roadTilePool.ReturnToPool(tile.TileType, tile); activeTileMap.Remove(tile.MapPosition); }