Beispiel #1
0
    public void SendRestoreItem()
    {
        this.m_bRecovery = true;
        string @string = PlayerPrefs.GetString(NrPrefsKey.BUY_PRODUCT_ID, string.Empty);
        string string2 = PlayerPrefs.GetString(NrPrefsKey.BUY_UNIQUE_CODE, string.Empty);
        string string3 = PlayerPrefs.GetString(NrPrefsKey.BUY_DATE, string.Empty);

        if (string.IsNullOrEmpty(@string) || string.IsNullOrEmpty(string2) || string.IsNullOrEmpty(string3))
        {
            Debug.Log("Data NULL");
            this.ClearData();
            return;
        }
        GS_BILLINGITEM_CHECK gS_BILLINGITEM_CHECK = new GS_BILLINGITEM_CHECK();

        TKString.StringChar(string3, ref gS_BILLINGITEM_CHECK.Date);
        string string4 = PlayerPrefs.GetString(NrPrefsKey.BUY_UNIQUE_CODE, string.Empty);

        TKString.StringChar(string4, ref gS_BILLINGITEM_CHECK.UniqueCode);
        TKString.StringChar(@string, ref gS_BILLINGITEM_CHECK.ProductID);
        gS_BILLINGITEM_CHECK.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(@string);

        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLINGITEM_CHECK, gS_BILLINGITEM_CHECK);
        GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();

        gS_BILLING_ITEM_RECODE_REQ.i8Type           = 2;
        gS_BILLING_ITEM_RECODE_REQ.i8Result         = 0;
        gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(@string);

        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
    }
Beispiel #2
0
    public void CheckRestoreItem()
    {
        string @string = PlayerPrefs.GetString(NrPrefsKey.BUY_PRODUCT_ID, string.Empty);
        string string2 = PlayerPrefs.GetString(NrPrefsKey.BUY_UNIQUE_CODE, string.Empty);
        string string3 = PlayerPrefs.GetString(NrPrefsKey.BUY_DATE, string.Empty);

        if (string.IsNullOrEmpty(@string) || string.IsNullOrEmpty(string2) || string.IsNullOrEmpty(string3))
        {
            return;
        }
        GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();

        gS_BILLING_ITEM_RECODE_REQ.i8Type           = 3;
        gS_BILLING_ITEM_RECODE_REQ.i8Result         = 0;
        gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(@string);

        NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, string.Format("Check strItem ={0} _tid={1} _Date={2}", @string, string2, string3));

        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
        Debug.Log(string.Format("Check strItem ={0} _tid={1} _Date={2}", @string, string2, string3));
        this.AndroidPlugin.Call <int>("CheckItemTid", new object[]
        {
            this._appid,
            @string,
            string2,
            string3
        });
    }
    public void RecodeErrorMessage(ref GS_BILLING_ITEM_RECODE_REQ req, string error)
    {
        if (error.Length <= 0)
        {
            return;
        }
        if (error.Length > 0)
        {
            this.SubstringMessage(error, 0, ref req.Message1);
        }
        int num = 50;

        if (error.Length > num)
        {
            this.SubstringMessage(error, num, ref req.Message2);
        }
        num = 100;
        if (error.Length > num)
        {
            this.SubstringMessage(error, num, ref req.Message3);
        }
        num = 150;
        if (error.Length > num)
        {
            this.SubstringMessage(error, num, ref req.Message4);
        }
    }
Beispiel #4
0
    private void queryInventoryFailedEvent(string error)
    {
        BillingManager_Google component = BillingManager_Google.Instance.GetComponent <BillingManager_Google>();

        if (component != null)
        {
            if (this.m_i32QueryInventoryCount < 5)
            {
                component.CheckRestoreItem();
                this.m_i32QueryInventoryCount++;
            }
            else
            {
                GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();
                gS_BILLING_ITEM_RECODE_REQ.i8Type           = 3;
                gS_BILLING_ITEM_RECODE_REQ.i8Result         = 0;
                gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = 0L;
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, error);

                SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
                this.m_i32QueryInventoryCount = 0;
            }
            component.SendQueryInventory = false;
        }
        TsLog.LogError("error :{0}", new object[]
        {
            error
        });
    }
Beispiel #5
0
    private void purchaseFailedEvent(string error)
    {
        Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("211"));
        GameObject gameObject = GameObject.Find("BillingManager_Google");

        if (gameObject != null)
        {
            BillingManager_Google component = gameObject.GetComponent <BillingManager_Google>();
            if (component != null)
            {
                GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();
                gS_BILLING_ITEM_RECODE_REQ.i8Type           = 1;
                gS_BILLING_ITEM_RECODE_REQ.i8Result         = 1;
                gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(component.BuyItem);

                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, error);

                SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
                component.CheckRestoreItem();
            }
        }
        Debug.Log("purchaseFailedEvent: " + error);
        this.Receipt.Remove(0, this.Receipt.Length);
        NrTSingleton <NrMainSystem> .Instance.m_bIsBilling = false;
    }
    public static void PurchaseItem(ITEM_MALL_ITEM item, bool bIfItemKeyNull_NotifyCantBuy)
    {
        if (item == null)
        {
            return;
        }
        BillingManager billingManager = BillingManager.GetBillingManager();

        if (billingManager == null)
        {
            return;
        }
        if (string.IsNullOrEmpty(item.GetStoreItem()))
        {
            if (bIfItemKeyNull_NotifyCantBuy)
            {
                Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("211"));
            }
            else
            {
                TsLog.LogError("Store Item key is null", new object[0]);
                Main_UI_SystemMessage.ADDMessage("Store Item key is null", SYSTEM_MESSAGE_TYPE.CAUTION_MESSAGE);
            }
            return;
        }
        if (billingManager != null)
        {
            GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();
            gS_BILLING_ITEM_RECODE_REQ.i8Type           = 0;
            gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = item.m_Idx;
            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
            billingManager.PurchaseItem(item.GetStoreItem(), (int)item.m_nPrice);
            NrTSingleton <FiveRocksEventManager> .Instance.Placement("paying");
        }
    }
Beispiel #7
0
    public void PurchaseComplete(string strParam)
    {
        TsLog.LogError("PurchaseComplete = {0}", new object[]
        {
            strParam
        });
        string[] array = strParam.Split(new char[]
        {
            '\n'
        });
        string text = string.Empty;

        if (!string.IsNullOrEmpty(this.Receipt.ToString()))
        {
            this.Receipt.Append("&");
        }
        string[] array2 = array;
        for (int i = 0; i < array2.Length; i++)
        {
            string text2 = array2[i];
            if (text2.Contains("product_id"))
            {
                text = text2.Substring("product_id:".Length);
                this.Receipt.Append("product_id=" + text);
                break;
            }
        }
        NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo();

        if (myCharInfo != null)
        {
            GS_BILLINGCHECK_REQ gS_BILLINGCHECK_REQ = new GS_BILLINGCHECK_REQ();
            gS_BILLINGCHECK_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(text);

            TKString.StringChar(this.m_strTid, ref gS_BILLINGCHECK_REQ.UniqueCode);
            TKString.StringChar(this.Receipt.ToString(), ref gS_BILLINGCHECK_REQ.Receipt);
            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLINGCHECK_REQ, gS_BILLINGCHECK_REQ);
            PlayerPrefs.SetString(NrPrefsKey.SHOP_PRODUCT_ID, gS_BILLINGCHECK_REQ.i64ItemMallIndex.ToString());
            PlayerPrefs.SetString(NrPrefsKey.SHOP_RECEIPT, this.Receipt.ToString());
            TsPlatform.FileLog(string.Format("TStorePurchaseComplete\nReceipt ={0} ProductID = {1} ItemMallIdex = {2}", this.Receipt, text, gS_BILLINGCHECK_REQ.i64ItemMallIndex));
            TsLog.LogWarning("Send BillingCheck ProductID = {0} ItemMallIdex = {1}", new object[]
            {
                text,
                gS_BILLINGCHECK_REQ.i64ItemMallIndex
            });
            this.Receipt.Remove(0, this.Receipt.Length);
        }
        GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();

        gS_BILLING_ITEM_RECODE_REQ.i8Type           = 1;
        gS_BILLING_ITEM_RECODE_REQ.i8Result         = 0;
        gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(text);

        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
        NrTSingleton <NrMainSystem> .Instance.m_bIsBilling = false;
    }
Beispiel #8
0
    public void RecoveryItem()
    {
        this.m_RecoveryItem = this.m_PushPurchaseList.Pop();
        if (this.m_RecoveryItem != null)
        {
            this.Receipt.Remove(0, this.Receipt.Length);
            string arg = string.Concat(new object[]
            {
                "{\"orderId\":\"",
                this.m_RecoveryItem.orderId,
                "\",\"packageName\":\"",
                this.m_RecoveryItem.packageName,
                "\",\"productId\":\"",
                this.m_RecoveryItem.productId,
                "\",\"purchaseTime\":",
                this.m_RecoveryItem.purchaseTime,
                ",\"purchaseState\":",
                (int)this.m_RecoveryItem.purchaseState,
                ",\"developerPayload\":\"",
                this.m_RecoveryItem.developerPayload,
                "\",\"purchaseToken\":\"",
                this.m_RecoveryItem.purchaseToken,
                "\"}"
            });
            this.Receipt.Append(string.Format("MarketType={0}&Signature={1}&SignedData={2}", "android", this.m_RecoveryItem.signature, arg));
            NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo();

            if (myCharInfo != null)
            {
                GS_BILLINGCHECK_REQ gS_BILLINGCHECK_REQ = new GS_BILLINGCHECK_REQ();
                gS_BILLINGCHECK_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.m_RecoveryItem.productId);

                gS_BILLINGCHECK_REQ.SN = myCharInfo.m_SN;
                TKString.StringChar(this.Receipt.ToString(), ref gS_BILLINGCHECK_REQ.Receipt);
                SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLINGCHECK_REQ, gS_BILLINGCHECK_REQ);
                TsPlatform.FileLog(string.Format("GooglePurchaseComplete\nReceipt ={0} ProductID = {1} ItemMallIdex = {2}", this.Receipt, this.m_RecoveryItem.productId, gS_BILLINGCHECK_REQ.i64ItemMallIndex));
                GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();
                gS_BILLING_ITEM_RECODE_REQ.i8Type           = 2;
                gS_BILLING_ITEM_RECODE_REQ.i8Result         = 0;
                gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = gS_BILLINGCHECK_REQ.i64ItemMallIndex;
                SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
                PlayerPrefs.SetString(NrPrefsKey.SHOP_PRODUCT_ID, gS_BILLINGCHECK_REQ.i64ItemMallIndex.ToString());
                PlayerPrefs.SetString(NrPrefsKey.SHOP_RECEIPT, this.Receipt.ToString());
                if (TsPlatform.IsBand)
                {
                    PlayerPrefs.SetString(NrPrefsKey.BAND_RECEIPT, this.m_RecoveryItem.orderId);
                }
            }
        }
        else
        {
            this.m_bRecovery = false;
        }
    }
    public void RecoveryItem()
    {
        this.m_RecoveryItem = this.m_PushPurchaseList.Pop();
        if (this.m_RecoveryItem != null)
        {
            this.Receipt.Remove(0, this.Receipt.Length);
            string arg = string.Empty;
            this.NStorePurchase(this.m_RecoveryItem.getOriginalPurchaseAsJsonText().dictionaryFromJson(), ref this.strProductID);
            arg = this.m_RecoveryItem.getSignature();
            if (TsPlatform.IsBand)
            {
                this.Receipt.Append(string.Format("MarketType={0}&Signature={1}&SignedData={2}", "bandnaver", arg, this.m_RecoveryItem.getOriginalPurchaseAsJsonText()));
            }
            else
            {
                this.Receipt.Append(string.Format("MarketType={0}&Signature={1}&SignedData={2}", "naver", arg, this.m_RecoveryItem.getOriginalPurchaseAsJsonText()));
            }
            NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo();

            if (myCharInfo != null)
            {
                GS_BILLINGCHECK_REQ gS_BILLINGCHECK_REQ = new GS_BILLINGCHECK_REQ();
                gS_BILLINGCHECK_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.strProductID);

                TKString.StringChar(this.Receipt.ToString(), ref gS_BILLINGCHECK_REQ.Receipt);
                SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLINGCHECK_REQ, gS_BILLINGCHECK_REQ);
                PlayerPrefs.SetString(NrPrefsKey.SHOP_PRODUCT_ID, gS_BILLINGCHECK_REQ.i64ItemMallIndex.ToString());
                PlayerPrefs.SetString(NrPrefsKey.SHOP_RECEIPT, this.Receipt.ToString());
                if (TsPlatform.IsBand)
                {
                    PlayerPrefs.SetString(NrPrefsKey.BAND_RECEIPT, this.m_RecoveryItem.getOriginalPurchaseAsJsonText());
                }
                TsPlatform.FileLog(string.Format("TStorePurchaseComplete\nReceipt ={0} ProductID = {1} ItemMallIdex = {2}", this.Receipt, this.strProductID, gS_BILLINGCHECK_REQ.i64ItemMallIndex));
                TsLog.LogWarning("Send BillingCheck ProductID = {0} ItemMallIdex = {1}", new object[]
                {
                    this.strProductID,
                    gS_BILLINGCHECK_REQ.i64ItemMallIndex
                });
                this.Receipt.Remove(0, this.Receipt.Length);
            }
            GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();
            gS_BILLING_ITEM_RECODE_REQ.i8Type           = 1;
            gS_BILLING_ITEM_RECODE_REQ.i8Result         = 0;
            gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.strProductID);

            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
            NrTSingleton <NrMainSystem> .Instance.m_bIsBilling = false;
        }
        else
        {
            this.m_bRecovery = false;
        }
    }
    public void onPaymentError(NIAPResultError result)
    {
        GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();

        gS_BILLING_ITEM_RECODE_REQ.i8Type           = 1;
        gS_BILLING_ITEM_RECODE_REQ.i8Result         = 2;
        gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.strProductID);

        NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, string.Format("getCode:{0}, getMessage:{1}", result.getCode(), result.getMessage()));

        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
        NrTSingleton <NrMainSystem> .Instance.m_bIsBilling = false;
    }
    public void onPaymentCanceled(NIAPResult result)
    {
        GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();

        gS_BILLING_ITEM_RECODE_REQ.i8Type           = 1;
        gS_BILLING_ITEM_RECODE_REQ.i8Result         = 1;
        gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.strProductID);

        NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, string.Format("requestPayment canceled", new object[0]));

        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
        NrTSingleton <NrMainSystem> .Instance.m_bIsBilling = false;
    }
Beispiel #12
0
    public void PurchaseFailed(string strMsg)
    {
        GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();

        gS_BILLING_ITEM_RECODE_REQ.i8Type           = 1;
        gS_BILLING_ITEM_RECODE_REQ.i8Result         = 1;
        gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.m_ProductID);

        NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, strMsg);

        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
        this.EnableCloseItemMallDlg();
        this.CheckRestoreItem();
    }
    public void Consume()
    {
        NIAPPurchase pItem = null;

        if (this.m_bRecovery)
        {
            pItem = this.m_RecoveryItem;
        }
        else
        {
            pItem = this.m_pResult;
        }
        if (pItem != null)
        {
            if (pItem.getOriginalPurchaseAsJsonText() != null && pItem.getSignature() != null)
            {
                NIAPNativeExtension.Instance.requestConsume(pItem.getOriginalPurchaseAsJsonText(), pItem.getSignature(), delegate(NIAPResult niapResult)
                {
                    this.RemoveRcoveryItemData(pItem);
                }, delegate(NIAPResultError error)
                {
                    Debug.Log("consumePurchaseFailedEvent: " + error);
                    BillingManager_NStore component = BillingManager_NStore.Instance.GetComponent <BillingManager_NStore>();
                    if (component != null && component.m_RecoveryItem != null)
                    {
                        GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();
                        gS_BILLING_ITEM_RECODE_REQ.i8Type           = 2;
                        gS_BILLING_ITEM_RECODE_REQ.i8Result         = 1;
                        gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(pItem.getProductCode());
                        NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, string.Format("requestConsume error code : {0} , error message : {1}", error.getCode(), error.getMessage()));
                        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
                    }
                    this.RemoveRcoveryItemData(pItem);
                    if (!this.m_ConsumeFailedList.Contains(pItem))
                    {
                        this.m_ConsumeFailedList.Add(pItem);
                    }
                });
            }
        }
        else if (pItem == null)
        {
            TsLog.LogError("pItem == NULL", new object[0]);
        }
    }
Beispiel #14
0
    private void consumePurchaseFailedEvent(string error)
    {
        Debug.Log("consumePurchaseFailedEvent: " + error);
        BillingManager_Google component = BillingManager_Google.Instance.GetComponent <BillingManager_Google>();

        if (component != null && component.m_RecoveryItem != null)
        {
            GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();
            gS_BILLING_ITEM_RECODE_REQ.i8Type           = 2;
            gS_BILLING_ITEM_RECODE_REQ.i8Result         = 1;
            gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(component.m_RecoveryItem.productId);

            NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, error);

            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
            BillingManager_Google.Instance.ConsumeFailedItemData(component.m_RecoveryItem);
        }
    }
Beispiel #15
0
    public void CheckResultData(string strParam)
    {
        string @string = PlayerPrefs.GetString(NrPrefsKey.BUY_PRODUCT_ID, string.Empty);

        if (NrTSingleton <NkCharManager> .Instance.m_kCharAccountInfo.IsMaster())
        {
            Debug.Log(strParam);
        }
        string      text        = string.Empty;
        XmlDocument xmlDocument = new XmlDocument();

        xmlDocument.LoadXml(strParam);
        XmlNodeList elementsByTagName = xmlDocument.GetElementsByTagName("result");

        if (elementsByTagName == null || elementsByTagName.Count <= 0)
        {
            GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ();
            gS_BILLING_ITEM_RECODE_REQ.i8Type           = 4;
            gS_BILLING_ITEM_RECODE_REQ.i8Result         = 1;
            gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(@string);

            NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, "elemList == null");

            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ);
            this.ClearData();
            return;
        }
        bool    flag    = false;
        XmlNode xmlNode = elementsByTagName[0].SelectSingleNode("status");

        if (xmlNode == null || xmlNode.InnerText != "0")
        {
            flag = true;
        }
        xmlNode = elementsByTagName[0].SelectSingleNode("detail");
        if (flag)
        {
            GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ2 = new GS_BILLING_ITEM_RECODE_REQ();
            gS_BILLING_ITEM_RECODE_REQ2.i8Type           = 4;
            gS_BILLING_ITEM_RECODE_REQ2.i8Result         = 2;
            gS_BILLING_ITEM_RECODE_REQ2.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(@string);

            if (xmlNode == null)
            {
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ2, "Status Error Data== null");
            }
            else
            {
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ2, "Status Error detail  =" + xmlNode.InnerText);
            }
            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ2);
            this.ClearData();
            return;
        }
        xmlNode = elementsByTagName[0].SelectSingleNode("appid");
        if (xmlNode == null || !xmlNode.InnerText.Contains(this._appid))
        {
            GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ3 = new GS_BILLING_ITEM_RECODE_REQ();
            gS_BILLING_ITEM_RECODE_REQ3.i8Type           = 4;
            gS_BILLING_ITEM_RECODE_REQ3.i8Result         = 3;
            gS_BILLING_ITEM_RECODE_REQ3.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(@string);

            if (xmlNode == null)
            {
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ3, "Data== null");
            }
            else
            {
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ3, "appid Data.InnerText  =" + xmlNode.InnerText);
            }
            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ3);
            this.ClearData();
            return;
        }
        xmlNode = elementsByTagName[0].SelectSingleNode("billing_log").SelectSingleNode("item").SelectSingleNode("tid");
        text    = PlayerPrefs.GetString(NrPrefsKey.BUY_UNIQUE_CODE, string.Empty);
        if (string.IsNullOrEmpty(text) || xmlNode == null || !xmlNode.InnerText.Contains(text))
        {
            GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ4 = new GS_BILLING_ITEM_RECODE_REQ();
            gS_BILLING_ITEM_RECODE_REQ4.i8Type           = 4;
            gS_BILLING_ITEM_RECODE_REQ4.i8Result         = 4;
            gS_BILLING_ITEM_RECODE_REQ4.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(@string);

            if (xmlNode == null)
            {
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ4, "Data== null");
            }
            else
            {
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ4, "tid Data.InnerText  =" + xmlNode.InnerText + "Compare=" + text);
            }
            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ4);
            this.ClearData();
            return;
        }
        xmlNode = elementsByTagName[0].SelectSingleNode("billing_log").SelectSingleNode("item").SelectSingleNode("product_id");
        text    = PlayerPrefs.GetString(NrPrefsKey.BUY_PRODUCT_ID, string.Empty);
        if (string.IsNullOrEmpty(text) || xmlNode == null || !xmlNode.InnerText.Contains(text))
        {
            GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ5 = new GS_BILLING_ITEM_RECODE_REQ();
            gS_BILLING_ITEM_RECODE_REQ5.i8Type           = 4;
            gS_BILLING_ITEM_RECODE_REQ5.i8Result         = 5;
            gS_BILLING_ITEM_RECODE_REQ5.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(@string);

            if (xmlNode == null)
            {
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ5, "Data== null");
            }
            else
            {
                NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ5, "product_id Data.InnerText  =" + xmlNode.InnerText + "Compare=" + text);
            }
            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ5);
            this.ClearData();
            return;
        }
        this.m_bRecoverytem = true;
        NrTSingleton <GameGuideManager> .Instance.CheckGameGuide(GameGuideType.PURCHASE_RESTORE);
    }