void Update() { switch (levelSettings.GetCurrentLevel()) { case 0: levelComplete = true; break; case 1: GameObject[] spheres = GameObject.FindGameObjectsWithTag("moveable"); //selects bottom in heirarchy int activeCount = 0; for (int i = 0; i < spheres.Length; i++) { GameData.spheresActive[i] = spheres[i].GetComponent <ObjectSettings>().locked; if (spheres[i].GetComponent <ObjectSettings>().locked) { activeCount++; } } if (GameData.levelsComplete < 2) { if (activeCount == spheres.Length) { levelComplete = true; } activeCount = 0; } else { levelComplete = true; } break; case 2: bool bellHit = false, spiralsRotated = false, sphereLocked = false; GameObject bell = GameObject.Find("bell"); GameObject sphere = GameObject.Find("spherePivot"); GameObject spiralLeft = GameObject.Find("spiralLeft"); GameObject dirLeft = spiralLeft.transform.Find("dir").gameObject; GameObject eyeLeft = GameObject.Find("eyeLeft"); GameObject eyeRight = GameObject.Find("eyeRight"); Vector3 diffLeft = spiralLeft.transform.position - dirLeft.transform.position; float angleLeft = Mathf.Atan2(diffLeft.y, diffLeft.x) * Mathf.Rad2Deg; if (GameData.levelsComplete < 3) { if (angleLeft <= -125 && angleLeft >= -136) { spiralsRotated = true; } if (sphere.GetComponent <ObjectSettings>().locked) { sphereLocked = true; } if (bell.GetComponent <ObjectSettings>().selected) { bellHit = true; } if (bellHit && spiralsRotated && sphereLocked) { levelComplete = true; } print(angleLeft); debug.NewDebug("" + bellHit, "bell"); debug.NewDebug("" + spiralsRotated, "sprial"); debug.NewDebug("" + sphereLocked, "locked"); } else { levelComplete = true; } if (levelComplete) { eyeLeft.transform.Rotate(Vector3.forward * 10 * Time.deltaTime); eyeRight.transform.Rotate(Vector3.forward * -10 * Time.deltaTime); glow.SetActive(true); } else { glow.SetActive(false); } break; case 3: levelComplete = true; break; case 4: int count = 0; for (int i = 0; i < GameData.spheresActive.Length; i++) { if (GameData.spheresActive[i]) { count++; } } if (count > 1) { levelComplete = true; } break; } if (levelComplete) { nextLevelButton.gameObject.SetActive(true); } else { nextLevelButton.gameObject.SetActive(false); } if (levelSettings.GetCurrentLevel() != 0) { lastLevelButton.gameObject.SetActive(true); } else { lastLevelButton.gameObject.SetActive(false); } }
//level 3 //level 4 void Start() { levelComplete = false; nextLevelButton = GameObject.Find("NextLevelButton").GetComponent <Button>(); lastLevelButton = GameObject.Find("LastLevelButton").GetComponent <Button>(); levelSettings = LevelSettings.GC; debug = InGameDebug.GC; touch = TouchInputs.GC; if (GameData.levelsComplete < levelSettings.GetCurrentLevel() + 1) { //hints for levels while not complete switch (levelSettings.GetCurrentLevel()) { case 0: Hint.text = Hint.GC.RandomHint(); break; case 1: Hint.text = "Press and hold on Spheres to lift."; break; case 2: Hint.text = "Move another finger left and right while the object is selected to rotate."; glow = GameObject.Find("glow"); break; case 3: Hint.text = "Perhaps a bit more brain-muscles are needed?"; break; case 4: Hint.text = "Sometimes you have to reflect to move forward."; break; } Hint.GC.ShowHint(5); } else { //hints for levels while complete switch (levelSettings.GetCurrentLevel()) { case 0: Hint.text = Hint.GC.RandomHint(); Hint.GC.ShowHint(5); break; case 1: Hint.text = "Wonder what this powers.."; break; case 2: Hint.text = "Move another finger left and right while the object is selected to rotate."; glow = GameObject.Find("glow"); break; case 3: Hint.text = "Perhaps a bit more brain-muscles are needed?"; break; case 4: Hint.text = "Sometimes you have to reflect to move forward."; break; } } }