Esempio n. 1
0
    // Token: 0x0600141A RID: 5146 RVA: 0x00234840 File Offset: 0x00232A40
    public void RecvBlackMarket_Buy(MessagePacket MP)
    {
        byte b = MP.ReadByte(-1);

        if (b == 0)
        {
            byte b2 = MP.ReadByte(-1);
            byte b3 = b2 - this.TradeStatus;
            for (int i = 0; i < 4; i++)
            {
                if ((b3 >> i & 1) == 1)
                {
                    MP.ReadUShort(-1);
                    MP.ReadUShort(-1);
                    byte b4 = MP.ReadByte(-1);
                    b4 = (byte)Mathf.Clamp((int)b4, 0, DataManager.Instance.Resource.Length - 1);
                    DataManager.Instance.Resource[(int)b4].Stock = MP.ReadUInt(-1);
                    this.TradeStatus = b2;
                }
            }
            GameManager.OnRefresh(NetworkNews.Refresh_Resource, null);
            GUIManager.Instance.UpdateUI(EGUIWindow.UI_Merchantman, 2, 0);
            GUIManager.Instance.AddHUDMessage(DataManager.Instance.mStringTable.GetStringByID(1500u), 18, true);
            GUIManager.Instance.BuildingData.UpdateBuildState(5, 255);
            AudioManager.Instance.PlayUISFX(UIKind.ItemUse);
            FBAdvanceManager.Instance.TriggerFbUniqueEvent(EFBEvent.FIRST_CARGO_SHIP_EXCHANGE);
        }
        else if (b == 1)
        {
            GUIManager.Instance.UpdateUI(EGUIWindow.UI_Merchantman, 4, 0);
        }
        else if (b == 2)
        {
            this.MerchantmanExtraData.LocksBought = MP.ReadByte(-1);
            GUIManager.Instance.UpdateUI(EGUIWindow.UI_Merchantman, 1, 0);
            this.SendCheckBuy = 1;
            DataManager dataManager      = DataManager.Instance;
            string      stringByID       = dataManager.mStringTable.GetStringByID(8874u);
            string      productPriceByID = IGGGameSDK.Instance.GetProductPriceByID((int)MallManager.Instance.SmallID);
            if ((DataManager.Instance.MySysSetting.mPaySetting & 1) > 0)
            {
                if (IGGSDKPlugin.isWXAppInstalled())
                {
                    GUIManager.Instance.HideUILock(EUILock.Mall);
                    if (IGGGameSDK.Instance.GetRealNameSW() == 1)
                    {
                        if (!RealNameHelp.Instance.CheckOpenRealNameDlg())
                        {
                            GUIManager.Instance.ShowUILock(EUILock.WeChatPay);
                            if (AntiAddictive.Instance.IsNonage())
                            {
                                IGGSDKPlugin.WeChatPay(MallManager.Instance.SmallID.ToString(), stringByID, productPriceByID, true, IGGGameSDK.Instance.GetMinorsDailySpendAmount());
                            }
                            else
                            {
                                IGGSDKPlugin.WeChatPay(MallManager.Instance.SmallID.ToString(), stringByID, productPriceByID);
                            }
                        }
                    }
                    else
                    {
                        GUIManager.Instance.ShowUILock(EUILock.WeChatPay);
                        IGGSDKPlugin.WeChatPay(MallManager.Instance.SmallID.ToString(), stringByID, productPriceByID);
                    }
                }
                else
                {
                    GUIManager.Instance.OpenMessageBox(dataManager.mStringTable.GetStringByID(614u), dataManager.mStringTable.GetStringByID(9525u), null, null, 0, 0, false, false, false, false, false);
                }
            }
            else if ((DataManager.Instance.MySysSetting.mPaySetting & 2) > 0)
            {
                GUIManager.Instance.HideUILock(EUILock.Mall);
                if (IGGGameSDK.Instance.GetRealNameSW() == 1)
                {
                    if (!RealNameHelp.Instance.CheckOpenRealNameDlg())
                    {
                        GUIManager.Instance.ShowUILock(EUILock.AliPay);
                        if (AntiAddictive.Instance.IsNonage())
                        {
                            IGGSDKPlugin.AliPay(MallManager.Instance.SmallID.ToString(), stringByID, productPriceByID, true, IGGGameSDK.Instance.GetMinorsDailySpendAmount());
                        }
                        else
                        {
                            IGGSDKPlugin.AliPay(MallManager.Instance.SmallID.ToString(), stringByID, productPriceByID);
                        }
                    }
                }
                else
                {
                    GUIManager.Instance.ShowUILock(EUILock.AliPay);
                    IGGSDKPlugin.AliPay(MallManager.Instance.SmallID.ToString(), stringByID, productPriceByID);
                }
            }
        }
        else if (b == 3)
        {
            AudioManager.Instance.PlayUISFX(UIKind.HUDTreasure);
            AudioManager.Instance.PlayUISFX(UIKind.ItemUse);
            this.MerchantmanExtraData.LocksBought = MP.ReadByte(-1);
            GUIManager.Instance.UpdateUI(EGUIWindow.UI_Merchantman, 1, 0);
            this.ClearSendCheckBuy();
            FBAdvanceManager.Instance.TriggerFbUniqueEvent(EFBEvent.FIRST_CARGO_SHIP_EXCHANGE);
        }
        else if (b == 4)
        {
            this.MerchantmanExtraData.LocksBought = MP.ReadByte(-1);
            GUIManager.Instance.UpdateUI(EGUIWindow.UI_Merchantman, 1, 0);
        }
        GUIManager.Instance.HideUILock(EUILock.BlackMarket);
    }