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);
     }
 }