using System; using System.Collections.Generic; using ET; using GFGGame; namespace GFGGame { public static class FieldSProxy { public static async ETTask 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 = FieldDataManager.Instance.fieldInfos; fieldInfos.theme = response.Theme; fieldInfos.highestLvls = new Dictionary(); fieldInfos.bonusWeekly = response.BonusWeekly; fieldInfos.bonusMaxLimit = response.BonusMaxLimit; fieldInfos.hasBonus = response.HasBonus; fieldInfos.taskDic = new Dictionary(); for (int i = 0; i < response.kTaskIds.Count; i++) { fieldInfos.taskDic.Add(response.kTaskIds[i], response.vTaskStatus[i]); } return true; } } return false; } public static async ETTask 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; fieldResult.passLvl = response.PassLvl; fieldResult.bonusList = ItemUtil.CreateItemDataList(response.BonusList); fieldResult.costNum = response.CostNum; fieldResult.chapterId = response.ChapterId; FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos; fieldInfos.highestLvls[Array.IndexOf(FieldCfgArray.Instance.dataArray, fieldResult.chapterId)] = response.HighestLvl; fieldInfos.bonusWeekly = response.BonusWeekly; for (int i = 0; i < response.kTaskIds.Count; i++) { if (!fieldInfos.taskDic.ContainsKey(response.kTaskIds[i])) { fieldInfos.taskDic.Add(response.kTaskIds[i], response.vTaskStatus[i]); } else { fieldInfos.taskDic[response.kTaskIds[i]] = response.vTaskStatus[i]; } } return true; } } return false; } public static async ETTask 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; fieldInfos.bonusMaxLimit = response.BonusMaxLimit; fieldInfos.taskDic[response.TaskId] = response.TaskStatus; return true; } } return false; } } }