private static void completeAbandonNewQuestCallbackStatic(CompleteAbandonNewQuest_ReturnType returnData) { if (returnData.Success) { if (returnData.goldGiven) { GameEngine.Instance.World.setGoldData(returnData.currentGoldLevel, returnData.currentGoldRate); } if (returnData.honourGiven) { GameEngine.Instance.World.setHonourData(returnData.currentHonourLevel, returnData.currentHonourRate); } if (returnData.fpGiven) { GameEngine.Instance.World.setFaithPointsData(returnData.currentFaithPointsLevel, returnData.currentFaithPointsRate); } if (returnData.premiumCardsGiven) { CardTypes.PremiumToken token = new CardTypes.PremiumToken { Reward = 1, UserPremiumTokenID = returnData.premiumCardID, WorldID = RemoteServices.Instance.ProfileWorldID, Type = 0x1011 }; GameEngine.Instance.World.ProfilePremiumTokens.Add(returnData.premiumCardID, token); } if (returnData.cardPacksGiven > 0) { int key = 1; if (GameEngine.Instance.World.ProfileUserCardPacks.ContainsKey(key)) { CardTypes.UserCardPack pack = GameEngine.Instance.World.ProfileUserCardPacks[key]; pack.Count += returnData.cardPacksGiven; } else { CardTypes.UserCardPack pack2 = new CardTypes.UserCardPack { PackID = key, Count = returnData.cardPacksGiven }; GameEngine.Instance.World.ProfileUserCardPacks[key] = pack2; } } if (returnData.gloryGiven) { GameEngine.Instance.World.clearGloryHistory(); } if (returnData.villageUpdated >= 0) { GameEngine.Instance.flushVillage(returnData.villageUpdated); } if (returnData.ticketsGiven > 0) { GameEngine.Instance.World.addTickets(-1, returnData.ticketsGiven); } } else if (returnData.m_errorCode == ErrorCodes.ErrorCode.NEW_QUESTS_FAILED_REWARD) { MyMessageBox.Show(SK.Text("QUESTS_failed_reward_body", "We have been unable to give the correct reward for this quest, please wait a few minutes and try again. If this doesn't work, please contact support."), SK.Text("QUESTS_failed_reward", "Quest Reward Error")); } if (returnData.m_newQuestsData != null) { GameEngine.Instance.World.setNewQuestData(returnData.m_newQuestsData); } }
public void OurRemoteAsyncCallBack_CompleteAbandonNewQuest(IAsyncResult ar) { RemoteAsyncDelegate_CompleteAbandonNewQuest asyncDelegate = (RemoteAsyncDelegate_CompleteAbandonNewQuest) ((AsyncResult) ar).AsyncDelegate; try { this.storeRPCresult(ar, asyncDelegate.EndInvoke(ar)); } catch (Exception exception) { CompleteAbandonNewQuest_ReturnType returnData = new CompleteAbandonNewQuest_ReturnType(); this.manageRemoteExpection(ar, returnData, exception); } }