| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 | using System;using System.Collections.Generic;using ET;using GFGGame;namespace GFGGame{    public static class FieldSProxy    {        public static async ETTask<bool> ReqFieldInstanceInfos()        {            M2C_GetFieldInstanceInfos response = null;            response = (M2C_GetFieldInstanceInfos)await MessageHelper.SendToServer(new C2M_GetFieldInstanceInfos());            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    // FieldInfos fieldInfos =new FieldInfos();                    FieldDataManager.Instance.fieldInfos.theme = response.Theme;                    FieldDataManager.Instance.fieldInfos.highestLvls = new Dictionary<int, int>();                    for (int i = 0; i < response.kHighestLvl.Count; i++)                    {                        FieldDataManager.Instance.fieldInfos.highestLvls.Add(response.kHighestLvl[i], response.vHighestLvl[i]);                    }                    FieldDataManager.Instance.fieldInfos.bonusWeekly = response.BonusWeekly;                    FieldDataManager.Instance.fieldInfos.bonusMaxLimit = response.BonusMaxLimit;                    FieldDataManager.Instance.fieldInfos.hasBonus = response.HasBonus;                    FieldDataManager.Instance.fieldInfos.taskDic = new Dictionary<int, int>();                    for (int i = 0; i < response.kTaskIds.Count; i++)                    {                        FieldDataManager.Instance.fieldInfos.taskDic.Add(response.kTaskIds[i], response.vTaskStatus[i]);                    }                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);                    return true;                }            }            return false;        }        public static async ETTask<bool> ReqFieldInstanceResult()        {            M2C_GetFieldInstanceResult response = null;            response = (M2C_GetFieldInstanceResult)await MessageHelper.SendToServer(new C2M_GetFieldInstanceResult());            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    // FieldResult fieldResult = FieldDataManager.Instance.fieldResult;                    FieldDataManager.Instance.fieldResult.passLvl = response.PassLvl;                    FieldDataManager.Instance.fieldResult.bonusList = ItemUtil.CreateItemDataList(response.BonusList);                    FieldDataManager.Instance.fieldResult.costNum = response.CostNum;                    FieldDataManager.Instance.fieldResult.chapterId = response.ChapterId;                    // FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;                    FieldDataManager.Instance.fieldInfos.highestLvls[FieldDataManager.Instance.fieldResult.chapterId] = response.HighestLvl;                    FieldDataManager.Instance.fieldInfos.bonusWeekly = response.BonusWeekly;                    for (int i = 0; i < response.kTaskIds.Count; i++)                    {                        if (!FieldDataManager.Instance.fieldInfos.taskDic.ContainsKey(response.kTaskIds[i]))                        {                            FieldDataManager.Instance.fieldInfos.taskDic.Add(response.kTaskIds[i], response.vTaskStatus[i]);                        }                        else                        {                            FieldDataManager.Instance.fieldInfos.taskDic[response.kTaskIds[i]] = response.vTaskStatus[i];                        }                    }                    EventAgent.DispatchEvent(ConstMessage.FIELD_RESULT);                    return true;                }            }            return false;        }        public static async ETTask<bool> ReqFieldTaskBonus(int taskId)        {            M2C_GetFieldTaskBonus response = null;            response = (M2C_GetFieldTaskBonus)await MessageHelper.SendToServer(new C2M_GetFieldTaskBonus() { TaskId = taskId });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    // FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;                    FieldDataManager.Instance.fieldInfos.bonusMaxLimit = response.BonusMaxLimit;                    FieldDataManager.Instance.fieldInfos.taskDic[response.TaskId] = response.TaskStatus;                    EventAgent.DispatchEvent(ConstMessage.FIELD_TASK);                    return true;                }            }            return false;        }        //监听田野调查任务状态        public class FieldTaskState : AMHandler<S2C_FieldTaskBonus>        {            protected override async ETTask Run(Session session, S2C_FieldTaskBonus message)            {                if (FieldDataManager.Instance.fieldInfos.taskDic != null)                {                    for (int i = 0; i < message.kTaskIds.Count; i++)                    {                        if (!FieldDataManager.Instance.fieldInfos.taskDic.ContainsKey(message.kTaskIds[i]))                        {                            FieldDataManager.Instance.fieldInfos.taskDic.Add(message.kTaskIds[i], message.vTaskStatus[i]);                        }                        else                        {                            FieldDataManager.Instance.fieldInfos.taskDic[message.kTaskIds[i]] = message.vTaskStatus[i];                        }                    }                }                await ETTask.CompletedTask;            }        }    }}
 |