public void checkChallengeComplete(string name, List <ChallengeSystem.Challenge> list) { //Check if a challenge is completed ChallengeSystem.Challenge challenge = ChallengeSystem.getChallenge(name, list); if (ChallengeSystem.checkChallengeIsCompleted(challenge)) { //Check to see if the challenge is in the players active challenge list if (activeChallenges.Contains(challenge)) { questPanel.chalCheckBox[activeChallenges.IndexOf(challenge)].gameObject.SetActive(true); } } }
//YOU MUST LOAD ALL ACHIEVEMENTS FIRST public static void LoadData(GameManager manager) { string path = Path.Combine(Application.dataPath, @"saveData.txt"); path = Path.GetFullPath(path); StreamReader sr = new StreamReader(path, true); string file = sr.ReadToEnd(); string[] lines = file.Split(System.Environment.NewLine.ToCharArray()); foreach (string line in lines) { if (!string.IsNullOrEmpty(line)) { int flag = line.IndexOf(':'); if (line.Substring(0, flag).Equals("c")) { Debug.Log("Loading Challenge"); string[] fields = line.Split(':'); manager.challengeList.Add(new ChallengeSystem.Challenge(manager.challengeList.Count, fields[1], int.Parse(fields[2]), int.Parse(fields[3]), bool.Parse(fields[4]), bool.Parse(fields[5]), bool.Parse(fields[6]), ChallengeSystem.GetAchievement(fields[7], manager.achievementList))); } else if (line.Substring(0, flag).Equals("a")) { Debug.Log("Loading Achievement"); //3 Sections string[] fields = line.Split(':'); manager.achievementList.Add(new ChallengeSystem.Achievement(manager.achievementList.Count, fields[1], bool.Parse(fields[2]))); } else if (line.Substring(0, flag).Equals("s")) { //Character Skin Loading Debug.Log("Loading Skins"); } else { //x is a viable flag and is used for testing purposes. It never generates anything if (!line.Substring(0, flag).Equals("x")) { Debug.Log("Bad Save Data: Bad Flag " + line.Substring(0, flag) + " is not an allowed flag"); } } } } sr.Close(); }
/*//////////////////////////// * Use This when linking an achievement of an action * * ChallengeSystem.progressChallenge(<Name Of Challenge>, challengeList, 1); * if (ChallengeSystem.searchListForChallenge(<Name Of Challenge>, challengeList)) * { * checkChallengeComplete(<Name Of Challenge>, challengeList); * } * ////////////////////// */ // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Alpha1)) { ChallengeSystem.progressChallenge("Eat Ten Clothes", challengeList, 1); if (ChallengeSystem.searchListForChallenge("Eat Ten Clothes", challengeList)) { checkChallengeComplete("Eat Ten Clothes", challengeList); } } if (Input.GetKeyDown(KeyCode.Alpha0)) { Debug.Log("Saving Game"); SaveDataReader.SaveData(); } if (Input.GetKeyDown(KeyCode.Alpha2)) { SceneManager.LoadScene(0); } }