public override void OnInspectorGUI() { base.OnInspectorGUI(); SquareGridCreator creator = (SquareGridCreator)target; if (GUILayout.Button("Create Grid")) { CreateGrid(); } if (GUILayout.Button("Clear Grid")) { ClearGrid(); } if (GUILayout.Button("Refresh Grid")) { RefreshGrid(); } GUILayout.Label(creator.GridArray == null ? "Grid Needs Refreshing" : "Grid Reference is Fine"); if (creator.GridArray == null) { RefreshGrid(); } if (GUILayout.Button("Rename Grid")) { RenameChildren(); } }
// Use this for initialization void Start() { //Grid Creator, Clear, Create, Rename GameObject[] rootObjects = SceneManager.GetActiveScene().GetRootGameObjects(); //loadedScene.GetRootGameObjects(); GameObject SquareGridRef = null; for (int i = 0; i < rootObjects.Length; i++) { if (rootObjects[i].name == "SquareGrid") { SquareGridRef = rootObjects[i]; break; } } SquareGridCreator creator = SquareGridRef.GetComponent <SquareGridCreator>(); creator.ClearGrid(); creator.CreateGrid(); creator.RenameGrid(); //Get Level Editor, Get Level of Index LevelEditor tempEditor = SquareGridRef.GetComponent <LevelEditor>(); Debug.Log("Load Level Index: " + levelIndex); tempEditor.getLevel(levelIndex); }
void GameLevelLoaded(Scene loadedScene, LoadSceneMode loadMode) { if (loadedScene.buildIndex == 1) { //Load Level if we have Reference to Scene //Grid Creator, Clear, Create, Rename GameObject[] rootObjects = loadedScene.GetRootGameObjects(); GameObject SquareGridRef = null; for (int i = 0; i < rootObjects.Length; i++) { if (rootObjects[i].name == "SquareGrid") { SquareGridRef = rootObjects[i]; break; } } SquareGridCreator creator = SquareGridRef.GetComponent <SquareGridCreator>(); creator.ClearGrid(); creator.CreateGrid(); creator.RenameGrid(); //Get Level Editor, Get Level of Index LevelEditor tempEditor = SquareGridRef.GetComponent <LevelEditor>(); Debug.Log("Load Level Index: " + levelIndex); tempEditor.getLevel(levelIndex); SceneManager.sceneLoaded -= GameLevelLoaded; creator.LevelComplete += LevelCompleted; } }
public override void AssignNewTile(Vector2Int arrayPosition, SquareGridCreator creator, Color tileColour) { base.AssignNewTile(arrayPosition, creator, Color.magenta); tileType = TileTypes.Asteroid; GameObject refPrefab = (GameObject)Resources.Load("AsteroidPrefab"); Instantiate(refPrefab, transform); }
public override void AssignNewTile(Vector2Int arrayPosition, SquareGridCreator creator, Color tileColour) { base.AssignNewTile(arrayPosition, creator, new Color(1.0f, 0.5f, 0f)); tileType = TileTypes.CombineSatellite; GameObject referenceObj = (GameObject)Resources.Load("Light"); GameObject tempLine = Instantiate(referenceObj, transform); LineRenderer tempRender = referenceObj.GetComponent <LineRenderer>(); lineRenderer = tempLine.GetComponent <LineRenderer>(); }
public override void AssignNewTile(Vector2Int arrayPosition, SquareGridCreator creator, Color tileColour) { base.AssignNewTile(arrayPosition, creator, Color.red); tileType = TileTypes.LightOutput; GameObject referenceObj = (GameObject)Resources.Load("Light"); GameObject tempLine = Instantiate(referenceObj, transform); LineRenderer tempRender = referenceObj.GetComponent <LineRenderer>(); GameObject refPrefab = (GameObject)Resources.Load("OutputPrefab"); outputModel = Instantiate(refPrefab, transform); lineRenderer = tempLine.GetComponent <LineRenderer>(); }
private void Start() { if (instance == null || instance == this) { instance = this; } else { Destroy(this); return; } if (GridArray == null) { GridArray = new BaseTile[Width][]; for (int i = 0; i < Width; i++) { GridArray[i] = new BaseTile[Height]; } for (int i = 0; i < transform.childCount; i++) { GameObject childRef = transform.GetChild(i).gameObject; BaseTile tempTile = childRef.GetComponent <BaseTile>(); if (tempTile != null) { GridArray[tempTile.arrayPosition.x][tempTile.arrayPosition.y] = tempTile; } else { Debug.LogError("NULL Grid found at child: " + i, childRef); #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else //TODO, BACK TO MAIN MENU- Reload Scene Application.Quit(); #endif } } } GetComponent <LevelEditor>().levelLoaded += FindTargets; }
public override void AssignNewTile(Vector2Int arrayPosition, SquareGridCreator creator, Color tileColour) { base.AssignNewTile(arrayPosition, creator, new Color(1f, 1f, 1f)); tileType = TileTypes.SatelliteSplitter; //Instanciate two Light Emiiters lineRenderers = new LineRenderer[2]; for (int i = 0; i < lineRenderers.Length; i++) { GameObject referenceObj = (GameObject)Resources.Load("Light"); GameObject tempLine = Instantiate(referenceObj, transform); LineRenderer tempRender = referenceObj.GetComponent <LineRenderer>(); lineRenderers[i] = tempLine.GetComponent <LineRenderer>(); } }
public virtual void AssignNewTile(Vector2Int arrayPosition, SquareGridCreator creator, Color tileColour) { this.arrayPosition = arrayPosition; this.creator = creator; creator.SetTile(arrayPosition, this); //Assign Tile Colour SpriteRenderer sprite = GetComponent <SpriteRenderer>(); if (sprite != null) { sprite.color = tileColour; } //Assign TileType //Any Extra stuff such as additional models }
public override void AssignNewTile(Vector2Int arrayPosition, SquareGridCreator creator, Color tileColor) { base.AssignNewTile(arrayPosition, creator, tileColor); }
void RenameChildren() { SquareGridCreator creator = (SquareGridCreator)target; creator.RenameGrid(); }
void RefreshGrid() { SquareGridCreator creator = (SquareGridCreator)target; creator.RefreshGrid(); }
void ClearGrid() { SquareGridCreator creator = (SquareGridCreator)target; creator.ClearGrid(); }
public override void AssignNewTile(Vector2Int arrayPosition, SquareGridCreator creator, Color tileColour) { base.AssignNewTile(arrayPosition, creator, new Color(0f, 1f, 1f)); tileType = TileTypes.LightTrigger; }
public override void AssignNewTile(Vector2Int arrayPosition, SquareGridCreator creator, Color tileColour) { base.AssignNewTile(arrayPosition, creator, Color.blue); tileType = TileTypes.Satalite; }
void LevelCompleted(SquareGridCreator creator) { creator.LevelComplete -= LevelCompleted; UIManager.instance.ShowCompleteLevel(); }