public IEnumerator Initialize() { nyangs = XMLManager <XMLNyang> .Load(ResourcePath.xmlNyang); ResourcesManager resourceManager = ResourcesManager.getInstance; List <XMLNyang> .Enumerator eNyang = nyangs.GetEnumerator(); while (eNyang.MoveNext()) { XMLNyang nyang = eNyang.Current; List <string> paths = nyang.GetResourcePath(); List <string> .Enumerator path = paths.GetEnumerator(); while (path.MoveNext()) { string resourcePath = path.Current; resourceManager.LoadResource(RESOURCE_TYPE.TEXTURE, resourcePath); } } yield return(null); }
public IEnumerator Initialize() { nyangInfo = new List <XMLNyangInfo>(); List <XMLNyangInfo> infoList = XMLManager <XMLNyangInfo> .Load(ResourcePath.xmlNyangInfo); NyangManager nyangManager = NyangManager.getInstance; List <XMLNyangInfo> .Enumerator eInfo = infoList.GetEnumerator(); if (eInfo.MoveNext()) { XMLNyangInfo info = eInfo.Current; info.SetData(ENyangRank.Normal, "cat_n_tipnyang", 1); nyangInfo.Add(new XMLNyangInfo(info)); } while (eInfo.MoveNext()) { XMLNyangInfo info = eInfo.Current; if (nyangManager.InvalidID(info.id)) { XMLNyang data = nyangManager.GetNyang(info.id); info.SetData(data.rank, data.name, PlayerPrefs.GetInt(string.Format("NyangVisited_{0}", info.id), 0)); nyangInfo.Add(new XMLNyangInfo(info)); } } yield return(null); }
public void SpawnEventNyang() { List <XMLNyang> nyangs = NyangManager.getInstance.GetNyangs(EConditionType.Event); List <XMLNyang> .Enumerator eNyang = nyangs.GetEnumerator(); while (eNyang.MoveNext()) { bool appearFlag = true; XMLNyang nyang = eNyang.Current; int size = nyang.appearType.Length; for (int i = 0; i < size; i++) { if (!AppearConditionManager.getInstance.CheckCondition(nyang.appearType[i], nyang.appear[i])) { appearFlag = false; } } if (appearFlag && AvailableSpawn().Exists(n => n.position.Equals(nyang.position))) { SpawnNyang(nyang); } } }
/* DESC :> * 생성 조건에 맞는 냥이들 리스트 중, 확률적으로 노멀/랜덤/히든 냥이 생성 */ public void SpawnNyang(ENyangPosition position) { XMLNyang nyangData = new XMLNyang(); List <XMLNyang> normals; List <XMLNyang> rares; List <XMLNyang> hidden; if (NyangManager.getInstance.GetNyang(position, out normals, out rares, out hidden) == false) { return; } bool bSelected = false; float rankRate = Random.Range(0, 100); if (rankRate / 70 >= 1) { if (rares.Count > 0) { nyangData = rares[Random.Range(0, rares.Count)]; bSelected = true; } } else if (rankRate / 40 >= 1) { if (hidden.Count > 0) { nyangData = hidden[Random.Range(0, hidden.Count)]; bSelected = true; } } if (!bSelected) { if (normals.Count > 0) { nyangData = normals[Random.Range(0, normals.Count)]; } else { if (rares.Count > 0) { nyangData = rares[Random.Range(0, rares.Count)]; } else if (hidden.Count > 0) { nyangData = hidden[Random.Range(0, hidden.Count)]; } } } SpawnNyang(nyangData); }
public XMLNyang GetNyang(int id) { List <XMLNyang> .Enumerator eNyang = nyangs.GetEnumerator(); while (eNyang.MoveNext()) { XMLNyang nyang = eNyang.Current; if (nyang.id.Equals(id)) { return(nyang); } } throw new Exception("Invaild Nyang as ID : " + id); }
private void SpawnNyang(XMLNyang nyangData) { GameObject nyangObj = pooling.Get(); Vector3 position = setNyangPositions[nyangData.position]; nyangObj.name = nyangData.name; Nyang nyang = nyangObj.GetComponent <Nyang>(); Image image = nyangObj.GetComponent <Image>(); if (!image) { image = nyangObj.AddComponent <Image>(); } nyangParents.AttachChild(nyangObj); nyang.SetGameObject(nyangObj); nyang.SetNyang(nyangData); nyangObj.transform.localPosition = position; BoxCollider box = nyangObj.GetComponent <BoxCollider>(); Rect rect = nyangObj.GetComponent <RectTransform>().rect; box.size = new Vector3(rect.width, rect.height, 1.0f); InGameInputController.getInstance.AddTouchableObject(nyang); SpawnNotify(nyangData.position); NyangInfoManager.getInstance.Visited(nyang.id); if (!nyangList.Contains(nyang)) { nyangList.Add(nyang); } }
public void SetNyang(XMLNyang nyang) { SetNyang(nyang.id, nyang.name, nyang.position, nyang.rank, nyang.appearType, nyang.appear); }