IEnumerator EmployServerConntect(VisitedHeroData data) { string heroID = data.heroID; string php = "Hero.php"; WWWForm form = new WWWForm(); form.AddField("userID", User.Instance.userID); form.AddField("type", 8); form.AddField("heroID", data.heroID); form.AddField("visitOrder", data.visitOrder); string result = ""; yield return(StartCoroutine(WebServerConnectManager.Instance.WWWCoroutine(php, form, x => result = x))); if (string.IsNullOrEmpty(result)) { //Debug.Log("이상 없음 !!!"); visitedHeroList.Remove(data); if (onRemoveVisitedHero != null) { onRemoveVisitedHero(); } UIPopupManager.ShowInstantPopup(HeroManager.heroBaseDataDic[heroID].name + "를 고용하였습니다."); } else { UIPopupManager.ShowInstantPopup("골드가 부족합니다."); //Debug.Log("이상 있음 : " + result); } }
/// <summary> 방문 영웅 슬롯 생성 </summary> UIVisitedHeroSlot CreateVisitedHeroSlot(VisitedHeroData heroData) { UIVisitedHeroSlot slot = null; for (int i = 0; i < heroSlotPool.Count; i++) { if (heroSlotPool[i].gameObject.activeSelf == false && heroSlotPool[i].heroID == heroData.heroID) { slot = heroSlotPool[i]; break; } else if (heroSlotPool[i].gameObject.activeSelf == false) { slot = heroSlotPool[i]; break; } } if (slot == null) { GameObject go = Instantiate(visitedHeroSlotPrefab); go.transform.SetParent(content.transform, false); slot = go.GetComponent <UIVisitedHeroSlot>(); slot.onClickEmploy += OnClickEmploy; heroSlotPool.Add(slot); } slot.initHeroGuildSlot(heroData); return(slot); }
void OnWebServerResilt(Dictionary <string, object> result) { if (result.ContainsKey("heroGuild")) { JsonReader jsonReader = new JsonReader(JsonMapper.ToJson(result["heroGuild"])); JsonData jsonData = JsonMapper.ToObject(jsonReader); for (int i = 0; i < jsonData.Count; i++) { string heroID = jsonData[i]["heroID"].ToStringJ(); int purchased = jsonData[i]["purchase"].ToInt(); if (purchased == 0) { continue; } //if (visitedHeroList.Count > 0 && visitedHeroList.Find(x => x.heroID == heroID) != null) // continue; float remainingTime = jsonData[i]["remainingTime"].ToFloat(); int visitOrder = jsonData[i]["visitOrder"].ToInt(); VisitedHeroData visitedHero = new VisitedHeroData(heroID); visitedHero.remainingTime = remainingTime; visitedHero.visitOrder = visitOrder; visitedHero.startTime = Time.unscaledTime + visitedHero.remainingTime; if (visitedHeroList.Find(x => x.visitOrder == visitedHero.visitOrder) != null) { visitedHeroList[visitedHeroList.FindIndex(x => x.visitOrder == visitedHero.visitOrder)] = visitedHero; } else { visitedHeroList.Add(visitedHero); } } if (onAddVisitedHero != null) { onAddVisitedHero(); } } }
/// <summary> 슬롯 초기화 </summary> public void initHeroGuildSlot(VisitedHeroData _visitedHeroData) { heroID = _visitedHeroData.heroID; visitedHeroData = _visitedHeroData; heroData = new HeroData(HeroManager.heroBaseDataDic[heroID]); if (heroData != null) { ShowGrade(heroData.heroGrade); } heroNameText.text = heroData.heroName; AssetLoader.AssignImage(heroImage, "sprite/hero", "Atlas_HeroImage", heroData.heroImageName); // 가격 공식 변경되면 서버에서 변경해야함... cost = 10000 * (Mathf.Pow(10, heroData.heroGrade)); textCostText.text = cost.ToStringABC(); textRemainingTime.text = RemainTime(); }
public void Employ(string heroID) { VisitedHeroData data = visitedHeroList.Find(x => x.heroID == heroID); StartCoroutine(EmployServerConntect(data)); }