// make Dragon equals to DragonP public void Equal(DragonP dragon) { try { //this.image = dragon.image; this.Breed = dragon.breed; this.GetEgg = dragon.getEgg; this.Hatched = dragon.hatched; this.DragonName = dragon.dragonName; this.Strength = dragon.strength; this.Intelligence = dragon.intelligence; this.Hp = dragon.hp; for (int i = 0; i < dragon.status.Length; i++) { this.status.Add(dragon.status[i]); } for (int i = 0; i < dragon.equipped.Length; i++) { this.equipped.Add(dragon.equipped[i]); } } catch { print("Dragon Equal err"); } }
// save current dragon into "dragon.json" public void Save() { try { print("in save"); DragonP dra = DragonP.Equal(gameObject.GetComponent <Dragon>()); string jsonData = JsonUtility.ToJson(dra); print(jsonData); File.WriteAllText(Application.persistentDataPath + "/dragon.json", jsonData); } catch { print("Dragon Save err"); } }
// return a DragonP equals to Dragon public static DragonP Equal(Dragon dragon) { DragonP d = new DragonP { image = dragon.Breed, breed = dragon.Breed, getEgg = dragon.GetEgg, hatched = dragon.Hatched, dragonName = dragon.DragonName, strength = dragon.Strength, intelligence = dragon.Intelligence, hp = dragon.Hp }; d.status = dragon.status.ToArray(); d.equipped = dragon.equipped.ToArray(); return(d); }
// Use this for initialization void Start() { // load data if find a stored json in persistentDataPath, // otherwise load a new dragon from Resources file print(Application.persistentDataPath + "/dragon.json"); if (File.Exists(Application.persistentDataPath + "/dragon.json")) { var jsonData = File.ReadAllText(Application.persistentDataPath + "/dragon.json"); print("in load data" + jsonData); DragonP temp = JsonUtility.FromJson <DragonP>(jsonData); print("test LoadData : int = " + temp.intelligence); gameObject.GetComponent <Dragon>().Equal(temp); } else { var jsonData = Resources.Load <TextAsset>("Dragon"); DragonP temp = JsonUtility.FromJson <DragonP>(jsonData.text); this.Equal(temp); } print("in Start"); }
public void SetDragonLevelColor(int level) { Debug.Log("SetDragonLevelColor=" + level.ToString()); foreach (GameObject DragonP in this.myDragons) { List <Transform> temp = new List <Transform>(); for (int i = 0; i < DragonP.transform.childCount; i++) { temp.Add(DragonP.transform.GetChild(i)); } DragonP.SetActive(true); //somehow this got turned off??? Debug.Log(DragonP.name + " model transforms = " + temp.Count.ToString()); foreach (Transform dragonTrans in temp) { if (level == 0) //egg { Debug.Log("is an egg"); if (dragonTrans.gameObject.name.ToLower().Contains("egg")) { dragonTrans.gameObject.SetActive(true); Debug.Log("set an egg"); } else { dragonTrans.gameObject.SetActive(false); } } else //turn off if not my level { if (dragonTrans.gameObject.name.ToLower().Contains("egg")) { dragonTrans.gameObject.SetActive(false); Debug.Log("set egg to off"); } } if (level == 1) //hatchling { Debug.Log("is a hatchling"); if (dragonTrans.gameObject.name.ToLower().Contains("red")) { dragonTrans.gameObject.SetActive(true); Debug.Log("set a hatchling"); } else { dragonTrans.gameObject.SetActive(false); } } else //turn off if not my level { if (dragonTrans.gameObject.name.ToLower().Contains("red")) { dragonTrans.gameObject.SetActive(false); Debug.Log("set red to off"); } } if (level == 2) //adult { Debug.Log("is an adult"); if (dragonTrans.gameObject.name.ToLower().Contains("green")) { dragonTrans.gameObject.SetActive(true); Debug.Log("set an adult"); } else { dragonTrans.gameObject.SetActive(false); } } else //turn off if not my level { if (dragonTrans.gameObject.name.ToLower().Contains("green")) { dragonTrans.gameObject.SetActive(false); Debug.Log("set green to off"); } } } } }