private bool toggleSetup() { if (this.transform.Find("Scene") == null) { return(false); } this.transform.localScale = new Vector3(30, 30, 30); GameObject toggleHandle = Instantiate(toggleHandlePrefab); Vector3 position = toggleHandle.transform.localPosition; Vector3 scale = toggleHandle.transform.localScale; toggleHandle.transform.parent = this.transform; toggleHandle.transform.localScale = scale; toggleHandle.transform.localPosition = position; controller = this.gameObject.AddComponent <ToggleController>(); controller.Start(); connectionSetup( new Vector3(0, 0, 0.005f), new Vector3(0, 0, -0.005f) ); gameManager.GetComponent <GameManager>().toggle = this.gameObject; GameObject pedestal = Instantiate(pedestalPrefab); position = pedestal.transform.localPosition; scale = pedestal.transform.localScale; pedestal.transform.parent = this.transform; pedestal.transform.localScale = scale; pedestal.transform.localPosition = position; return(true); }
private bool bulbSetup() { if (this.transform.Find("Scene") == null || this.transform.Find("Scene").Find("glass0") == null || this.transform.Find("Scene").Find("filament0") == null || this.transform.Find("Scene").Find("filament1") == null || this.transform.Find("Scene").Find("filament2") == null ) { return(false); } this.transform.localScale = new Vector3(5, 5, 5); controller = this.gameObject.AddComponent <BulbController>(); controller.lightPrefab = lightPrefab; controller.Start(); this.transform.Find("Scene").Find("glass0").GetComponent <MeshRenderer>().material = glassMaterial; this.transform.Find("Scene").Find("filament0").GetComponent <MeshRenderer>().material = filamentMaterial; this.transform.Find("Scene").Find("filament1").GetComponent <MeshRenderer>().material = filamentMaterial; this.transform.Find("Scene").Find("filament2").GetComponent <MeshRenderer>().material = filamentMaterial; connectionSetup( new Vector3(0, -0.125f, 0), new Vector3(0, -0.075f, 0.04f) ); gameManager.GetComponent <GameManager>().bulb = this.gameObject; return(true); }
private bool resistorSetup() { if (this.transform.Find("Scene") == null) { return(false); } this.transform.localScale = new Vector3(5, 5, 5); controller = this.gameObject.AddComponent <ElectricalElementController>(); controller.Start(); connectionSetup( new Vector3(0, 0, 0.04f), new Vector3(0, 0, -0.04f) ); gameManager.GetComponent <GameManager>().resistor = this.gameObject; return(true); }
public void setupLevel() { GameObject[] edges = GameObject.FindGameObjectsWithTag("Edge"); foreach (GameObject edge in edges) { ElectricalElementController controller = edge.GetComponent <ElectricalElementController>(); if (controller != null) { controller.Delete(); } } GameObject[] vertices = GameObject.FindGameObjectsWithTag("Vertex"); foreach (GameObject vertex in vertices) { VertexController controller = vertex.GetComponent <VertexController>(); if (controller != null) { controller.spawnNewWire(); } } TextAsset levelJSON = Resources.Load <TextAsset>(levelFiles[level]); LevelData levelData = JsonUtility.FromJson <LevelData>(levelJSON.ToString()); setupObject(battery, levelData.battery, levelData.batteryCoords, levelData.batteryRot); setupObject(bulb, levelData.bulb, levelData.bulbCoords, levelData.bulbRot); setupObject(resistor, levelData.resistor, levelData.resistorCoords, levelData.resistorRot); setupObject(toggle, levelData.toggle, levelData.toggleCoords, levelData.toggleRot); screen.material = instructions[level]; ui.SetActive(true); if (level == 0) { ui.GetComponent <UIController>().PrevActive(false); } else { ui.GetComponent <UIController>().PrevActive(true); } if (level == levelFiles.Length - 1) { ui.GetComponent <UIController>().NextActive(false); } else { ui.GetComponent <UIController>().NextActive(true); } }
// Update is called once per frame void Update() { if (!isReady) { if (battery != null && bulb != null && resistor != null && toggle != null ) { isReady = true; batteryController = battery.GetComponent <ElectricalElementController>(); bulbController = bulb.GetComponent <BulbController>(); resistorController = resistor.GetComponent <ElectricalElementController>(); toggleController = toggle.GetComponent <ToggleController>(); setupLevel(); } } else { Electrify(); } }