private void InitUI()
 {
     this.needdiamond     = 50L;
     this.gold            = this.needdiamond * LocalModelManager.Instance.Shop_Gold.GetDiamond2Gold();
     this.Text_Title.text = GameLogic.Hold.Language.GetLanguageByTID("金币购买标题", Array.Empty <object>());
     object[] args = new object[] { this.gold };
     this.Text_Content.text = GameLogic.Hold.Language.GetLanguageByTID("金币购买描述", args);
     this.mDiamondCtrl.SetCurrencyType(CurrencyType.Diamond);
     this.mDiamondCtrl.UseTextRed();
     this.mDiamondCtrl.SetValue((int)this.needdiamond);
     this.Button_Buy.onClick = delegate {
         if (LocalSave.Instance.GetDiamond() < this.needdiamond)
         {
             PurchaseManager.Instance.SetOpenSource(ShopOpenSource.EACTIVE);
             WindowUI.ShowShopSingle(ShopSingleProxy.SingleType.eDiamond, null);
         }
         else
         {
             CDiamondToCoin packet = new CDiamondToCoin {
                 m_nTransID  = LocalSave.Instance.SaveExtra.GetTransID(),
                 m_nCoins    = (uint)this.gold,
                 m_nDiamonds = (uint)this.needdiamond
             };
             Debugger.Log(string.Concat(new object[] { "Send DiamondToCoin Request ", packet.m_nCoins, " transid ", packet.m_nTransID }));
             NetManager.SendInternal <CDiamondToCoin>(packet, SendType.eForceOnce, delegate(NetResponse response) {
                 if ((response.IsSuccess && (response.data != null)) && (response.data is CRespDimaonToCoin))
                 {
                     CRespDimaonToCoin data = response.data as CRespDimaonToCoin;
                     LocalSave.Instance.UserInfo_SetDiamond((int)data.m_nDiamonds);
                     long gold   = LocalSave.Instance.GetGold();
                     long nCoins = data.m_nCoins;
                     if (gold < nCoins)
                     {
                         long num3 = nCoins - gold;
                         LocalSave.Instance.UserInfo_SetGold((int)gold);
                         LocalSave.Instance.Modify_Gold(num3, false);
                         CurrencyFlyCtrl.PlayGet(CurrencyType.Gold, num3, null, null, true);
                     }
                     else
                     {
                         LocalSave.Instance.UserInfo_SetGold((int)data.m_nCoins);
                     }
                     this.Button_Close.onClick();
                 }
                 else if (response.error != null)
                 {
                     CInstance <TipsUIManager> .Instance.ShowCode(response.error.m_nStatusCode, 2);
                 }
             });
         }
     };
 }
Ejemplo n.º 2
0
    private void buy_gold()
    {
        CDiamondToCoin packet = new CDiamondToCoin {
            m_nTransID  = LocalSave.Instance.SaveExtra.GetTransID(),
            m_nCoins    = 1,
            m_nDiamonds = 1
        };

        NetManager.SendInternal <CDiamondToCoin>(packet, SendType.eForceOnce, delegate(NetResponse response) {
            if ((response.IsSuccess && (response.data != null)) && (response.data is CRespDimaonToCoin))
            {
                CRespDimaonToCoin data = response.data as CRespDimaonToCoin;
                LocalSave.Instance.UserInfo_SetDiamond((int)data.m_nDiamonds);
                LocalSave.Instance.UserInfo_SetGold((int)data.m_nCoins);
                this.buy_gold();
            }
            else if (response.error != null)
            {
                CInstance <TipsUIManager> .Instance.ShowCode(response.error.m_nStatusCode, 2);
            }
        });
    }