| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 | using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Net;using System.Net.Http;using ET;using FairyGUI;using GFGGame;using ICSharpCode.SharpZipLib.GZip;using UnityEngine;using UnityEngine.Networking;namespace GFGGame{    public static class TravelSProxy    {        //获取游历信息        public static async ETTask<bool> ReqTravelInfo()        {            S2C_GetTravelGuideData response = null;            response = (S2C_GetTravelGuideData)await MessageHelper.SendToServer(new C2S_GetTravelGuideData());            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    TravelData travelData = new TravelData();                    travelData.Status = response.TravelGuideInfo.Status;                    travelData.CreationTime = response.TravelGuideInfo.CreationTime;                    travelData.EndTime = response.TravelGuideInfo.EndTime;                    travelData.TravelLocationId = response.TravelGuideInfo.TravelLocationId;                    travelData.TravelCount = response.TravelGuideInfo.TravelCount;                    travelData.TravelSuitId = response.TravelGuideInfo.TravelSuitId;                    travelData.PositionIndex = response.TravelGuideInfo.PositionIndex;                    travelData.SuitResIndex = response.TravelGuideInfo.TravelSuitResourceIndex;                    travelData.RewardItems = ItemUtil.CreateItemDataList(response.TravelGuideInfo.RewardItem);                    TravelDataManager.Instance.TravelData = travelData;                    return true;                }            }            return false;        }        //开始游历        public static async ETTask<bool> ReqGoTravel(List<int> qSuitIds)        {            S2C_TravelGuideGo response = null;            response = (S2C_TravelGuideGo)await MessageHelper.SendToServer(new C2S_TravelGuideGo() { TravelSuitIds = qSuitIds });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    TravelData travelData = new TravelData();                    travelData.Status = response.TravelGuideInfo.Status;                    travelData.CreationTime = response.TravelGuideInfo.CreationTime;                    travelData.EndTime = response.TravelGuideInfo.EndTime;                    travelData.TravelLocationId = response.TravelGuideInfo.TravelLocationId;                    travelData.TravelCount = response.TravelGuideInfo.TravelCount;                    travelData.TravelSuitId = response.TravelGuideInfo.TravelSuitId;                    travelData.PositionIndex = response.TravelGuideInfo.PositionIndex;                    travelData.SuitResIndex = response.TravelGuideInfo.TravelSuitResourceIndex;                    travelData.RewardItems = ItemUtil.CreateItemDataList(response.TravelGuideInfo.RewardItem);                    TravelDataManager.Instance.TravelData = travelData;                    EventAgent.DispatchEvent(ConstMessage.TRAVEL_STATE_CHANGE);                    return true;                }            }            return false;        }        //领取游历奖励        public static async ETTask<bool> ReqGetTravelReward()        {            S2C_ReceiveTravelGuideReward response = null;            response = (S2C_ReceiveTravelGuideReward)await MessageHelper.SendToServer(new C2S_ReceiveTravelGuideReward() { });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    PoemPhotoData photoData = new PoemPhotoData();                    photoData.PictureId = response.PictureInfo.PictureId;                    photoData.CreationTime = response.PictureInfo.CreationTime;                    photoData.ToppingStatus = response.PictureInfo.ToppingStatus;                    photoData.LockingStatus = response.PictureInfo.LockingStatus;                    photoData.SourceType = response.PictureInfo.SourceType;                    photoData.TravelLocationId = response.PictureInfo.TravelLocationId;                    photoData.TravelSuitId = response.PictureInfo.TravelSuitId;                    photoData.SuitResIndex = response.PictureInfo.TravelSuitResourceIndex;                    photoData.PositionIndex = response.PictureInfo.PositionIndex;                    PoemPhotoDataManager.Instance.Add(photoData, (int)PictureSourceType.WanShuiQianShan);                    TravelDataManager inst = TravelDataManager.Instance;                    inst.TravelData.Status = (int)TravelGuideType.NoTravel;                    int index = TravelDataManager.Instance.GetTravelIndexByLocationId(inst.TravelData.TravelLocationId);                    inst.ListTravelLocationCount[index] = inst.TravelData.TravelCount;                    EventAgent.DispatchEvent(ConstMessage.TRAVEL_STATE_CHANGE);                    if (inst.TravelData.TravelCount > 1) return true;//非首次到达该地无需处理图鉴红点                    string location = TravelLoactionCfgArray.Instance.GetCfg(inst.TravelData.TravelLocationId).location;                    for (int i = 0; i < inst.ListTravelAreaRewardState.Count; i++)                    {                        TravelGuideCfg travelGuide = TravelGuideCfgArray.Instance.GetCfg(i + 1);                        if (Array.IndexOf(travelGuide.locationsArr, location) >= 0)                        {                            if (inst.ListTravelAreaRewardState[i] > (int)ConstBonusStatus.CAN_NOT_GET) break;//可领和已领状态不用处理                            bool isRed = true;                            for (int j = 0; j < travelGuide.locationsArr.Length; j++)                            {                                int loactionId = TravelLoactionCfgArray.Instance.GetCfgBylocation(travelGuide.locationsArr[j]).id;                                int _index = TravelDataManager.Instance.GetTravelIndexByLocationId(loactionId);                                if (inst.ListTravelLocationCount[_index] == 0)                                {                                    //仍有未到达的地点                                    isRed = false;                                    break;                                }                            }                            if (isRed)                            {                                inst.ListTravelAreaRewardState[i] = (int)ConstBonusStatus.CAN_GET;                                EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);                            }                            break;                        }                    }                    return true;                }            }            return false;        }        //获取游历图鉴记录        public static async ETTask<bool> ReqTravelGuideInfo()        {            S2C_GetTravelGuideRecordAll response = null;            response = (S2C_GetTravelGuideRecordAll)await MessageHelper.SendToServer(new C2S_GetTravelGuideRecordAll() { });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    TravelDataManager.Instance.ListTravelLocationCount = new List<int>(response.TglLocationRecordList.ToArray());                    TravelDataManager.Instance.ListTravelAreaRewardState = new List<int>(response.TglAreaRecordList.ToArray());                    return true;                }            }            return false;        }        //领取游历图鉴区域奖励        public static async ETTask<bool> ReqGetTravelGuideReward(int areaId)        {            S2C_ReceiveTravelAreaReward response = null;            response = (S2C_ReceiveTravelAreaReward)await MessageHelper.SendToServer(new C2S_ReceiveTravelAreaReward() { AreaId = areaId });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    int index = TravelDataManager.Instance.GetGuideIndexByAreaId(areaId);                    TravelDataManager.Instance.ListTravelAreaRewardState[index] = (int)ConstBonusStatus.GOT;                    List<ItemData> rewards = ItemUtil.CreateItemDataList(response.RewardItem);                    BonusController.TryShowBonusList(rewards);                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);                    return true;                }            }            return false;        }    }}
 |