Esempio n. 1
0
        public void GetAllMissionInfo(Action <AllMissionInfo> callBack = null, Action <string> errCallBack = null)
        {
            string url = UrlProvider.GetAllMissionInfo(this.LocalChildInfoAgent.getChildSN(), CupBuild.getCupSn());

            Debug.LogFormat("<><WorldMapUtils.GetAllMissionInfo>ChildSN: {0}, CupSN: {1}, Url: {2}", this.LocalChildInfoAgent.getChildSN(), CupBuild.getCupSn(), url);

            NativeOkHttpMethodWrapper.get(url, "", (result) =>
            {
                Debug.LogFormat("<><WorldMapUtils.GetAllMissionInfo>Result: {0}", result);
                GetAllMissionInfoResponse response = this.JsonUtils.String2Json <GetAllMissionInfoResponse>(result);
                if (response != null && response.highest_mission_data != null)
                {
                    AllMissionInfo allMissionInfo = new AllMissionInfo();
                    string starID    = "";
                    string missionID = "";
                    for (int i = 0; i < response.highest_mission_data.Count; i++)
                    {
                        starID    = response.highest_mission_data[i].star_id;
                        missionID = response.highest_mission_data[i].mission_id;
                        if (string.IsNullOrEmpty(starID) || string.IsNullOrEmpty(missionID) && int.Parse(starID) != PlayerData.defaultStar)
                        {
                            Debug.LogAssertionFormat("<><WorldMapUtils.GetAllMissionInfo>Response is invalid, starID: {0}, missionID: {1}", starID, missionID);
                            continue;
                        }
                        else if (string.IsNullOrEmpty(missionID) && int.Parse(starID) == PlayerData.defaultStar)
                        {
                            missionID = PlayerData.startMission.ToString();
                        }

                        allMissionInfo.Items.Add(new MissionInfo()
                        {
                            StarID = starID, MissionID = missionID
                        });
                    }
                    Debug.LogFormat("<><WorldMapUtils.GetAllMissionInfo>Response data is valid: {0}", result);
                    if (callBack != null)
                    {
                        callBack(allMissionInfo);
                    }
                }
            },
                                          (errorInfo) =>
            {
                Debug.LogErrorFormat("<><WorldMapUtils.GetAllMissionInfo>Error: {0}", errorInfo.ErrorInfo);
                if (errCallBack != null)
                {
                    errCallBack(errorInfo.ErrorInfo);
                }
            });
        }