summaryrefslogtreecommitdiff
path: root/Assembly_CSharp/TileManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assembly_CSharp/TileManager.cs')
-rw-r--r--Assembly_CSharp/TileManager.cs236
1 files changed, 0 insertions, 236 deletions
diff --git a/Assembly_CSharp/TileManager.cs b/Assembly_CSharp/TileManager.cs
deleted file mode 100644
index 592d861..0000000
--- a/Assembly_CSharp/TileManager.cs
+++ /dev/null
@@ -1,236 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-
-public class TileManager : MonoBehaviour
-{
- public static TileManager instance;
-
- [SerializeField]
- private GameObject tilePlacementFXObject;
-
- [SerializeField]
- private GameObject[] deadEndTiles;
-
- [SerializeField]
- private GameObject[] Ltiles;
-
- [SerializeField]
- private GameObject[] Ttiles;
-
- [SerializeField]
- private GameObject[] Rtiles;
-
- [SerializeField]
- private GameObject[] LTtiles;
-
- [SerializeField]
- private GameObject[] LRtiles;
-
- [SerializeField]
- private GameObject[] TRtiles;
-
- [SerializeField]
- private GameObject[] LTRtiles;
-
- public TerrainTile startTile;
-
- [SerializeField]
- private GameObject tileSpawnLocation;
-
- private int[,] intArray = new int[99, 99];
-
- private TerrainTile[,] tileArray = new TerrainTile[99, 99];
-
- private void Awake()
- {
- instance = this;
- }
-
- private void Start()
- {
- intArray[50, 50] = 1;
- tileArray[50, 50] = startTile;
- for (int i = 0; i < 99; i++)
- {
- intArray[0, i] = 1;
- intArray[i, 0] = 1;
- intArray[98, i] = 1;
- intArray[i, 98] = 1;
- }
- UpdateIntArrayFromTile(startTile, 50, 50);
- }
-
- private void UpdateIntArrayFromTile(TerrainTile tile, int posX, int posY)
- {
- if (tile.south != null && tile.south != tile.last && intArray[posX, posY - 1] == 0)
- {
- intArray[posX, posY - 1] = 2;
- TileSpawnLocation component = Object.Instantiate(tileSpawnLocation, new Vector3(posX - 50, 0f, posY - 1 - 50) * 7f, Quaternion.identity).GetComponent<TileSpawnLocation>();
- component.eulerAngle = 180;
- component.posX = posX;
- component.posY = posY - 1;
- }
- if (tile.west != null && tile.west != tile.last && intArray[posX - 1, posY] == 0)
- {
- intArray[posX - 1, posY] = 2;
- TileSpawnLocation component2 = Object.Instantiate(tileSpawnLocation, new Vector3(posX - 1 - 50, 0f, posY - 50) * 7f, Quaternion.identity).GetComponent<TileSpawnLocation>();
- component2.eulerAngle = 270;
- component2.posX = posX - 1;
- component2.posY = posY;
- }
- if (tile.north != null && tile.north != tile.last && intArray[posX, posY + 1] == 0)
- {
- intArray[posX, posY + 1] = 2;
- TileSpawnLocation component3 = Object.Instantiate(tileSpawnLocation, new Vector3(posX - 50, 0f, posY + 1 - 50) * 7f, Quaternion.identity).GetComponent<TileSpawnLocation>();
- component3.eulerAngle = 0;
- component3.posX = posX;
- component3.posY = posY + 1;
- }
- if (tile.east != null && tile.east != tile.last && intArray[posX + 1, posY] == 0)
- {
- intArray[posX + 1, posY] = 2;
- TileSpawnLocation component4 = Object.Instantiate(tileSpawnLocation, new Vector3(posX + 1 - 50, 0f, posY - 50) * 7f, Quaternion.identity).GetComponent<TileSpawnLocation>();
- component4.eulerAngle = 90;
- component4.posX = posX + 1;
- component4.posY = posY;
- }
- }
-
- public void SpawnNewTile(int posX, int posY, int eulerAngle)
- {
- bool flag = false;
- bool flag2 = false;
- bool flag3 = false;
- bool flag4 = false;
- if (intArray[posX, posY - 1] == 0)
- {
- flag = true;
- }
- if (intArray[posX - 1, posY] == 0)
- {
- flag2 = true;
- }
- if (intArray[posX, posY + 1] == 0)
- {
- flag3 = true;
- }
- if (intArray[posX + 1, posY] == 0)
- {
- flag4 = true;
- }
- bool flag5 = false;
- bool flag6 = false;
- bool flag7 = false;
- switch (eulerAngle)
- {
- case 0:
- flag5 = flag2;
- flag6 = flag3;
- flag7 = flag4;
- break;
- case 90:
- flag5 = flag3;
- flag6 = flag4;
- flag7 = flag;
- break;
- case 180:
- flag5 = flag4;
- flag6 = flag;
- flag7 = flag2;
- break;
- case 270:
- flag5 = flag;
- flag6 = flag2;
- flag7 = flag3;
- break;
- default:
- Debug.LogError("Trying to spawn a tile at an invalid eulerAngle" + eulerAngle);
- break;
- }
- List<GameObject> list = new List<GameObject>();
- int num = SpawnManager.instance.lastLevel - SpawnManager.instance.level;
- int count = SpawnManager.instance.tileSpawnUis.Count;
- bool flag8 = false;
- bool flag9 = false;
- if (count + 3 >= num || SpawnManager.instance.level < 3)
- {
- flag8 = true;
- }
- if (count == num)
- {
- flag9 = true;
- }
- if (!flag9)
- {
- if (flag5)
- {
- list.AddRange(Ltiles);
- }
- if (flag6)
- {
- list.AddRange(Ttiles);
- }
- if (flag7)
- {
- list.AddRange(Rtiles);
- }
- if (flag5 && flag6 && !flag8)
- {
- list.AddRange(LTtiles);
- }
- if (flag5 && flag7 && !flag8)
- {
- list.AddRange(LRtiles);
- }
- if (flag6 && flag7 && !flag8)
- {
- list.AddRange(TRtiles);
- }
- if (flag5 && flag6 && flag7 && !flag8)
- {
- list.AddRange(LTRtiles);
- }
- }
- if (list.Count == 0)
- {
- list.AddRange(deadEndTiles);
- }
- GameObject original = list[Random.Range(0, list.Count)];
- Vector3 vector = new Vector3(posX - 50, 0f, posY - 50) * 7f;
- GameObject obj = Object.Instantiate(original, vector, Quaternion.identity);
- obj.transform.eulerAngles = new Vector3(0f, eulerAngle, 0f);
- intArray[posX, posY] = 1;
- TerrainTile component = obj.GetComponent<TerrainTile>();
- tileArray[posX, posY] = component;
- component.SetCardinalDirections();
- UpdateIntArrayFromTile(component, posX, posY);
- TerrainTile terrainTile = null;
- switch (eulerAngle)
- {
- case 0:
- terrainTile = tileArray[posX, posY - 1];
- break;
- case 90:
- terrainTile = tileArray[posX - 1, posY];
- break;
- case 180:
- terrainTile = tileArray[posX, posY + 1];
- break;
- case 270:
- terrainTile = tileArray[posX + 1, posY];
- break;
- default:
- Debug.LogError("Trying to spawn a tile at an invalid eulerAngle" + eulerAngle);
- break;
- }
- if (terrainTile == null)
- {
- Debug.LogError("Unable to find previous tile");
- }
- component.ConnectToTile(terrainTile);
- if (tilePlacementFXObject != null)
- {
- Object.Instantiate(tilePlacementFXObject, vector + Vector3.up, Quaternion.identity).transform.localScale = Vector3.one * 7f;
- }
- }
-}