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