// option to show all levels of word tree public static void UnlockAllLevels() { // find level icons GameObject[] gos = GameObject.FindGameObjectsWithTag("LevelIcon"); foreach (GameObject go in gos) { // make level icon appear Color color = go.renderer.material.color; color.a = 1f; go.renderer.material.color = color; // darken level icon - indicates level not yet completed go.GetComponent <SpriteRenderer>().color = Color.grey; // subscribe level icon to touch gestures go.AddComponent <GestureManager>().AddAndSubscribeToGestures(go); // start pulsing level icon if not already pulsing if (!ProgressManager.IsLevelUnlocked(go.name)) { go.AddComponent <PulseBehavior> ().StartPulsing(go); } } }
//<summary> // option to hide levels of word tree user hasn't actually unlocked yet //</summary> public static void RelockLevels() { // find level icons GameObject[] gos = GameObject.FindGameObjectsWithTag(Constants.Tags.TAG_LEVEL_ICON); foreach (GameObject go in gos) { // if level hasn't been unlocked yet if (!ProgressManager.IsLevelUnlocked(go.name)) { // make level icon disappear Color color = go.GetComponent <Renderer>().material.color; color.a = 0f; go.GetComponent <Renderer>().material.color = color; // stop pulsing and reset scale for level icon //go.GetComponent<PulseBehavior>().StopPulsing(go); go.transform.localScale = new Vector3(.5f, .5f, 1); // disable touch gestures for level icon go.GetComponent <GestureManager>().DisableGestures(go); } } }
//<summary> // called on start, initialize stuff //</summary> void Start() { //Scale graphics to screen size Utilities.setCameraViewForScreen(); // add all levels onto level list ProgressManager.InitiateLevelList(); // unlock the first two levels ProgressManager.unlockedLevels.Add(ProgressManager.levelList[0]); ProgressManager.unlockedLevels.Add(ProgressManager.levelList[3]); // set up kid GameObject kid = GameObject.FindGameObjectWithTag("Kid"); kid.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite> ("Graphics/" + ProgressManager.chosenKid); if (Resources.Load <Sprite>("Graphics/" + ProgressManager.chosenKid) == null) { Debug.LogWarning("Could not load sprite"); } // grow kid animation GrowKid(); // load background music onto the word tree director GameObject dir = GameObject.Find("WordTreeDirector"); dir.AddComponent <AudioSource>().clip = Resources.Load("Audio/BackgroundMusic/WordTree") as AudioClip; // play background music if attached to director if (dir.GetComponent <AudioSource>().clip != null) { dir.GetComponent <AudioSource>().volume = .25f; dir.GetComponent <AudioSource>().Play(); } else { Debug.LogWarning("Could not load audio file"); } // subscribe home button to gestures GameObject home = GameObject.Find("HomeButton"); home.AddComponent <GestureManager>().AddAndSubscribeToGestures(home); // set up lock - lock starts out as closed GameObject Lock = GameObject.Find(ProgressManager.lockStatus); if (ProgressManager.lockStatus == "") { Lock = GameObject.Find("LockClosed"); } // subscribe lock to gestures Lock.AddComponent <GestureManager>().AddAndSubscribeToGestures(Lock); // move lock to front LeanTween.moveZ(Lock, -2f, .01f); // find level icons GameObject[] gos = GameObject.FindGameObjectsWithTag("LevelIcon"); foreach (GameObject go in gos) { // if level is not unlocked yet, make level icon disappear if (!ProgressManager.IsLevelUnlocked(go.name)) { Color color = go.GetComponent <Renderer>().material.color; color.a = 0f; go.GetComponent <Renderer>().material.color = color; } // if level has been unlocked if (ProgressManager.IsLevelUnlocked(go.name)) { // subscribe level icon to gestures go.AddComponent <GestureManager>().AddAndSubscribeToGestures(go); // start pulsing level icon go.AddComponent <PulseBehavior>().StartPulsing(go); // if level has not been completed if (!ProgressManager.IsLevelCompleted(go.name)) { // darken level icon go.GetComponent <SpriteRenderer>().color = Color.grey; } // if level has been completed else { // brighten level icon go.GetComponent <SpriteRenderer>().color = Color.white; } } } // if lock has been previously opened if (ProgressManager.lockStatus == "LockOpen") { // keep showing all level icons on word tree ProgressManager.UnlockAllLevels(); } }