//update this mission when it is unlock public void SetData(MissionDataSave data) { Transform Star1, Star2, Star3; Star1 = transform.FindChild("Star1"); Star2 = transform.FindChild("Star2"); Star3 = transform.FindChild("Star3"); Star1.gameObject.SetActive(false); Star2.gameObject.SetActive(false); Star3.gameObject.SetActive(false); // Debug.Log(" ---------- Set open level " + this.gameObject.name); this.IsCurrentLevel = false; this.IsOpen = true; this.score = data.Score; this.Star = data.Star; this.Level = data.Mission; transform.FindChild("Button").FindChild("BgBlue").gameObject.SetActive(true); transform.FindChild("Button").FindChild("BgRed").gameObject.SetActive(false); transform.FindChild("Button").FindChild("BgCurrent").gameObject.SetActive(false); transform.FindChild("Button").GetComponent <UIButton>().enabled = true; transform.FindChild("Button").GetComponent <UIButtonScale>().enabled = true; if (Star == 1) { Star1.gameObject.SetActive(true); } else if (Star == 2) { Star2.gameObject.SetActive(true); } else if (Star == 3) { Star3.gameObject.SetActive(true); } // Debug.Log(" -----mission " + data.Mission + " star " + Star + " isOpend " + IsOpen); }
//public static string XML_Current_Mission_Path = "CurrentMissionSave.xml"; //public static string XML_Data_Mission_Path = "DataMissionSave.xml"; //public static string XML_Data_Achievement_Path = "AchievementCache.xml"; //serialize xml theo tung phan tu //public static List<MissionDataSave> DeserializeMissionDataSaveListFromXML(string filePath) //{ // if (!System.IO.File.Exists(filePath)) // { // Debug.LogError("File " + filePath + " not exist!"); // return new List<MissionDataSave>(); // } // XmlSerializer deserializer = new XmlSerializer(typeof(List<MissionDataSave>), new XmlRootAttribute("MissionDataSaveRoot")); // TextReader textReader = new StreamReader(filePath); // List<MissionDataSave> movies = (List<MissionDataSave>)deserializer.Deserialize(textReader); // textReader.Close(); // return movies; //} //public static void readXMLTest() //{ // string xmlDataCache1 = Application.persistentDataPath + "/" + XML_Current_Mission_Path; // TextReader textReader = new StreamReader(xmlDataCache1); // XmlDocument xmlDoc = new XmlDocument(); // xmlDoc.Load(textReader); // XmlNodeList xmlNodeList = xmlDoc.DocumentElement.ChildNodes; // Debug.Log("TRUOC"); // foreach (XmlNode node in xmlNodeList) // { // Debug.Log("aaaaaaaaaaaaaaaaaaaaa " + node.Attributes["Id"].Value); // } // Debug.Log("SAU"); // XmlNode root = xmlDoc.DocumentElement; // XmlElement elem = xmlDoc.CreateElement("CurrentMissionCache"); // elem.SetAttribute("Id", "112312"); // elem.SetAttribute("Name", "NameDG"); // elem.SetAttribute("Mission", "MissionDG"); // root.AppendChild(elem); // textReader.Close(); // xmlDoc.Save(xmlDataCache1); //} //Add mission xml node public static void UpdateMissionScore(long score, int star, int mission, int open) { MissionDataSave data = dataMissionCache[mission - 1]; if (data.Star < star) { data.Star = star; } if (data.Score < score) { data.Score = score; } data.Open = open; }
public static void GetMissionDataCache() { int max_mission = 100; if (dataMissionCache != null) { dataMissionCache = null; } dataMissionCache = new MissionDataSave[max_mission]; //Tao moi neu chua co if (!PlayerPrefs.HasKey(Mission_data_key)) { string datas = "1-0-0-1,"; for (int i = 2; i <= max_mission; i++) { //Mission - Score - Star - Open if (DataMissionControlNew.test) { datas += i + "-0-0-1,"; //if (i < 16) // datas += i + "-0-0-1,"; //else datas += i + "-0-0-0,"; } else { datas += i + "-0-0-0,"; } } PlayerPrefs.SetString(Mission_data_key, datas); } string missionData = PlayerPrefs.GetString(Mission_data_key); string[] data = missionData.Split(','); for (int i = 0; i < max_mission; i++) { string[] infoData = data[i].Split('-'); //Debug.Log("Info " + data[i]); string mission = infoData[0]; string score = infoData[1]; string star = infoData[2]; string open = infoData[3]; dataMissionCache[i] = new MissionDataSave(Convert.ToUInt16(mission), Convert.ToUInt32(score), Convert.ToUInt16(star), Convert.ToUInt16(open)); } }