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); }
public IEnumerator InitRestoreOperation() { string[] productsID = null; TaskBase productsID2 = StoreInit.Instance().GetProductsID(delegate(string[] IDs) { productsID = IDs; }); productsID2.Add(new NormalTask(delegate() { if (productsID != null) { return(StoreInit.Instance().GetProducts(productsID, true)); } return(null); })).Add(new NormalTask(StoreInit.Instance().ReConsume())); return(productsID2.Run(null, null, null)); }
public IEnumerator GetProductsOperation() { string[] productsID = null; TaskBase productsID2 = StoreInit.Instance().GetProductsID(delegate(string[] IDs) { productsID = IDs; }); productsID2.Add(new NormalTask(delegate() { if (productsID != null) { return(StoreInit.Instance().GetProducts(productsID, false)); } return(StoreInit.Instance().GetProducts(productsID, false)); })); return(productsID2.Run(null, delegate(Exception nop) { this.getProductsSucceed = false; }, null)); }