private APIRequestTask RequestUserMonsterData() { int num = int.Parse(DataMng.Instance().RespDataMN_DeckList.selectDeckNum) - 1; GameWebAPI.RespDataMN_GetDeckList.DeckList deckList = DataMng.Instance().RespDataMN_DeckList.deckList[num]; int[] aliveInfo = DataMng.Instance().WD_ReqDngResult.aliveInfo; GameWebAPI.RespData_WorldMultiStartInfo respData_WorldMultiStartInfo = DataMng.Instance().RespData_WorldMultiStartInfo; List <int> aliveUserMonsterIds = new List <int>(); List <MonsterData> list = new List <MonsterData>(); int i = 0; while (i < aliveInfo.Length) { string text = string.Empty; if (respData_WorldMultiStartInfo == null) { goto IL_D6; } int partyIndex = DataMng.Instance().GetPartyIndex(i); int monsterIndex = DataMng.Instance().GetMonsterIndex(i); GameWebAPI.Common_MonsterData common_MonsterData = respData_WorldMultiStartInfo.party[partyIndex].userMonsters[monsterIndex]; if (int.Parse(common_MonsterData.userId) == DataMng.Instance().RespDataCM_Login.playerInfo.UserId) { text = common_MonsterData.userMonsterId; goto IL_D6; } IL_137: i++; continue; IL_D6: if (aliveInfo[i] == 1 && deckList.monsterList.Length > i) { string text2 = (respData_WorldMultiStartInfo != null) ? text : deckList.monsterList[i].userMonsterId; MonsterData monsterDataByUserMonsterID = MonsterDataMng.Instance().GetMonsterDataByUserMonsterID(text2, false); list.Add(monsterDataByUserMonsterID); aliveUserMonsterIds.Add(int.Parse(text2)); goto IL_137; } goto IL_137; } GameWebAPI.RequestMonsterList requestMonsterList = new GameWebAPI.RequestMonsterList(); requestMonsterList.SetSendData = delegate(GameWebAPI.ReqDataUS_GetMonsterList param) { param.userMonsterIds = aliveUserMonsterIds.ToArray(); }; requestMonsterList.OnReceived = delegate(GameWebAPI.RespDataUS_GetMonsterList response) { ClassSingleton <MonsterUserDataMng> .Instance.UpdateUserMonsterData(response.userMonsterList); }; GameWebAPI.RequestMonsterList request = requestMonsterList; return(new APIRequestTask(request, true)); }
public static APIRequestTask RequestAPIChipFusion(int baseUserChipId, int[] materialChipIds, Action <int> onCompleted) { GameWebAPI.ChipFusionLogic chipFusionLogic = new GameWebAPI.ChipFusionLogic { SetSendData = delegate(GameWebAPI.ReqDataCS_ChipFusionLogic param) { param.baseChip = baseUserChipId; param.materialChip = materialChipIds; } }; APIRequestTask task = new APIRequestTask(chipFusionLogic, true); chipFusionLogic.OnReceived = delegate(GameWebAPI.RespDataCS_ChipFusionLogic resData) { if (resData.resultCode == 1) { List <GameWebAPI.RespDataCS_ChipListLogic.UserChipList> list = ChipDataMng.userChipData.userChipList.ToList <GameWebAPI.RespDataCS_ChipListLogic.UserChipList>(); int[] materialChipIds2 = materialChipIds; for (int i = 0; i < materialChipIds2.Length; i++) { int materialChip = materialChipIds2[i]; list.RemoveAll((GameWebAPI.RespDataCS_ChipListLogic.UserChipList c) => c.userChipId == materialChip); } ChipDataMng.userChipData.userChipList = list.ToArray(); GameWebAPI.RespDataCS_ChipListLogic.UserChipList userChipInfo = ChipDataMng.GetUserChip(baseUserChipId); userChipInfo.chipId = resData.userChip.chipId; if (userChipInfo.userMonsterId != 0) { ChipClientSlotInfo slotInfo = ChipDataMng.userChipSlotData.GetSlotInfo(userChipInfo.userMonsterId.ToString()); ChipClientEquip chipClientEquip = slotInfo.FindChipEquip(baseUserChipId); chipClientEquip.chipId = resData.userChip.chipId; TaskBase task = task; GameWebAPI.RequestMonsterList requestMonsterList = new GameWebAPI.RequestMonsterList(); requestMonsterList.SetSendData = delegate(GameWebAPI.ReqDataUS_GetMonsterList param) { param.userMonsterIds = new int[] { userChipInfo.userMonsterId }; }; requestMonsterList.OnReceived = delegate(GameWebAPI.RespDataUS_GetMonsterList response) { ClassSingleton <MonsterUserDataMng> .Instance.UpdateUserMonsterData(response.userMonsterList); }; task.Add(new APIRequestTask(requestMonsterList, true)); } } onCompleted(resData.resultCode); }; return(task); }
private void RefreshMaster(bool isUserMonster, bool isChip, Action callback) { if (!isUserMonster && !isChip) { if (callback != null) { callback(); } return; } RestrictionInput.StartLoad(RestrictionInput.LoadType.LARGE_IMAGE_MASK_OFF); APIRequestTask apirequestTask = new APIRequestTask(); if (isUserMonster) { ClassSingleton <MonsterUserDataMng> .Instance.Initialize(); GameWebAPI.RequestMonsterList requestMonsterList = new GameWebAPI.RequestMonsterList(); requestMonsterList.OnReceived = delegate(GameWebAPI.RespDataUS_GetMonsterList response) { ClassSingleton <MonsterUserDataMng> .Instance.SetUserMonsterData(response.userMonsterList); }; GameWebAPI.RequestMonsterList request = requestMonsterList; apirequestTask.Add(new APIRequestTask(request, true)); apirequestTask.Add(ChipDataMng.RequestAPIMonsterSlotInfoList(true)); } if (isChip) { apirequestTask.Add(ChipDataMng.RequestAPIChipList(true)); } AppCoroutine.Start(apirequestTask.Run(delegate { ClassSingleton <GUIMonsterIconList> .Instance.RefreshList(MonsterDataMng.Instance().GetMonsterDataList()); RestrictionInput.EndLoad(); if (callback != null) { callback(); } }, null, null), false); }