示例#1
0
    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);
        }
    }
示例#2
0
    /// <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);
    }
示例#3
0
    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();
            }
        }
    }
示例#4
0
    /// <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();
    }
示例#5
0
    public void Employ(string heroID)
    {
        VisitedHeroData data = visitedHeroList.Find(x => x.heroID == heroID);

        StartCoroutine(EmployServerConntect(data));
    }