/// <summary> /// Checks if a scene is unlocked or not /// </summary> /// <param name="topic">Current topic chosen</param> /// <param name="index">Index in array of buttons</param> /// <returns>Returns true if clicked button leads to an unlocked scene; false, if otherwise</returns> public bool isSceneLocked(SelectSceneScreen.Topic topic, int index) { Debug.Log("Checking if locked"); switch (topic) { case SelectSceneScreen.Topic.ADD: if (addSimSceneButtons [index].transform.GetChild(0).gameObject.activeSelf) { return(true); } return(false); break; case SelectSceneScreen.Topic.SUB: if (subSimSceneButtons [index].transform.GetChild(0).gameObject.activeSelf) { return(true); } return(false); break; case SelectSceneScreen.Topic.MIXED: if (disSceneButtons [index].transform.GetChild(0).gameObject.activeSelf) { return(true); } return(false); break; } return(false); }
/// <summary> /// Unlocks levels for each topic based on user's current level /// </summary> /// <param name="topic">Current topic chosen</param> /// <param name="levelReached">Current level of user</param> public void LoadUserData(SelectSceneScreen.Topic topic, int levelReached) { Debug.Log("Level Reached " + levelReached); DisableAll(); switch (topic) { case SelectSceneScreen.Topic.ADD: Debug.Log("Loaded add level"); // Debug.Log (addSimSceneButtons.Length); for (int i = 0; i < addSimSceneButtons.Length; i++) { addSimSceneButtons [i].gameObject.SetActive(true); if (i + 1 > levelReached) { addSimSceneButtons [i].transform.GetChild(0).gameObject.SetActive(true); } } break; case SelectSceneScreen.Topic.SUB: Debug.Log("Loaded sub level"); Debug.Log(subSimSceneButtons.Length); for (int i = 0; i < subSimSceneButtons.Length; i++) { subSimSceneButtons [i].gameObject.SetActive(true); if (i + 1 > levelReached) { subSimSceneButtons [i].transform.GetChild(0).gameObject.SetActive(true); } } break; case SelectSceneScreen.Topic.MIXED: Debug.Log("Loaded mixed level"); Debug.Log(disSceneButtons.Length); for (int i = 0; i < disSceneButtons.Length; i++) { disSceneButtons [i].gameObject.SetActive(true); if (i + 1 > levelReached) { disSceneButtons [i].transform.GetChild(0).gameObject.SetActive(true); } } break; } }