예제 #1
0
 protected override void Initialize()
 {
     base.Initialize();
     UMengPlugin.Event("pause_show", new Dictionary <string, object> {
         { "level", RoundData.Level }
     });
 }
예제 #2
0
        public override void Pay(UserSelectedTrade trade)
        {
            Debug.Log("开始支付宝支付。price:" + trade.Price);
            //var refill = CommonData.RefillList.Find(x => x.Name == re.Trade.PrepaymentName); //通过支付包名称找到支付包
            //if (refill == null)
            //{
            //    Toast.CreateErrorToast("无法找到对应的充值包,name:" + re.Trade.PrepaymentName);
            //    return;
            //}

            //if (!re.HasExtra || string.IsNullOrEmpty(re.Extra))
            //{
            //    LoadingMask.EndLoading();
            //    Toast.CreateErrorToast("解析订单数据失败!");
            //    Debug.LogError("没有找到extra数据。");
            //    return;
            //}


            try
            {
                // Android支付宝的参数为
                // {"notifyUrl":"支付宝插件中用到的NotifyUrl"};
                // 不再使用PayChannel.channel_url
                //var json = re.Extra;

                //var rootNode = JsonNode.FromJson(json);

                //const string key = "notifyUrl";
                //var value = "";
                //if (rootNode.SubNodeNames.Contains(key))
                //{
                //    value = rootNode[key].Value.ToString();
                //}
                //else
                //{
                //    Debug.LogWarning("没有找到" + key + "的内容。");
                //}

                var subject     = trade.DisplayName;
                var body        = trade.DisplayName;
                var price       = trade.Price.ToString("0.00");
                var outTradeNum = Guid.NewGuid().ToString();
                var notifyUrl   = ClientInfoHolder.Instance.AliNotifyUrl;

                PayTrades.Add(outTradeNum, trade);

                UMengPlugin.Event("alipay_pay_start", new Dictionary <string, object> {
                    { "price", trade.Price }
                });

                AlipayPlugin.Pay(subject, body, price, outTradeNum, notifyUrl);
            }
            catch (Exception e)
            {
                //LoadingMask.EndLoading();
                //Toast.CreateErrorToast("解析订单数据失败!");
                Debug.LogError("解析TradeNoResult中的extra失败:" + e.StackTrace);
            }
        }
예제 #3
0
    protected override void Initialize()
    {
        base.Initialize();

        var level = -1;//(修改MainData大力丸条件时记得修改这里的距离下一个大力丸的信息)

        if (RoundData.Level <= 4 && !ForeverDataHolder.ForeverData.ChangshengwanEatenList[0])
        {
            level = 4;
        }
        else if (RoundData.Level <= 7 && !ForeverDataHolder.ForeverData.ChangshengwanEatenList[1])
        {
            level = 7;
        }
        else if (RoundData.Level <= 9 && !ForeverDataHolder.ForeverData.ChangshengwanEatenList[1])
        {
            level = 9;
        }
        LblTitle.text      = level > 0 ? string.Format("击败第{0}关BOSS可以使生命值上限永久+1", level) : null;
        LblReviveCost.text = "" + RoundData.NextRevivePrice;

        UMengPlugin.Event("revive_show", new Dictionary <string, object> {
            { "level", RoundData.Level }
        });
    }
예제 #4
0
 public void OnResumeClick()
 {
     Time.timeScale = 1f;
     UnloadInterface();
     UMengPlugin.Event("pause_resume", new Dictionary <string, object> {
         { "level", RoundData.Level }
     });
 }
예제 #5
0
 public void OnRestartClick()
 {
     Time.timeScale = 1f;
     GameManager.Instance.RestartGame();
     UnloadInterface();
     UMengPlugin.Event("pause_restart", new Dictionary <string, object> {
         { "level", RoundData.Level }
     });
 }
예제 #6
0
    public void PaySuccess(AlipayPlugin.Trade trade)
    {
        UserSelectedTrade selectTrade;

        if (AlipayPayStrategy.PayTrades.ContainsKey(trade.OutTradeNo))
        {
            selectTrade = AlipayPayStrategy.PayTrades[trade.OutTradeNo];
            AlipayPayStrategy.PayTrades.Remove(trade.OutTradeNo);
        }
        else
        {
            selectTrade = null;
        }
        if (selectTrade != null)
        {
            //TODO:查询充值目的,比如复活、充金币等
            if (selectTrade.Name == "revive") //以复活为目的
            {
                if (RevivePanel.Instance)
                {
                    RevivePanel.Instance.OnRevivePayOk();
                }
            }
        }
        else
        {
            //估计是上一次充值后程序挂了,那我也不知道玩家的目的,就只能折算成金币了。
        }
        int paychannel;

        switch (Application.platform)
        {
        case RuntimePlatform.Android:
            paychannel = PayChannelHelper.CHANNEL_ANDROID_ALIPAY;
            break;

        case RuntimePlatform.IPhonePlayer:
            paychannel = PayChannelHelper.CHANNEL_IOS_ALIPAY;
            break;

        default:
            paychannel = PayChannelHelper.CHANNEL_WEB_ALIPAY;
            break;
        }
        float price;

        float.TryParse(trade.TotalFee, out price);
        UMengPlugin.Event("alipay_pay_success",
                          new Dictionary <string, object>
        {
            //{"name", selectTrade != null ? selectTrade.Name : "(noname)"},
            //{"paychannel", paychannel},
            { "price", price },
        });
        UMengPlugin.Pay(price, "revive", 1, price, 2);//如果不是支付宝,记得修改
    }
예제 #7
0
 public void OnReturnToEntranceClick()
 {
     Time.timeScale = 1f;
     GameManager.Instance.Clear();
     //MainRoot.Goto(MainRoot.UIStateName.Entrance);
     UnloadInterface();
     UMengPlugin.Event("pause_quit", new Dictionary <string, object> {
         { "level", RoundData.Level }
     });
 }
예제 #8
0
    public override void OnConfirmClick()
    {
        //放弃复活

        GameManager.Instance.Clear();
        //MainRoot.Goto(MainRoot.UIStateName.EndRound);
        //if (EndRoundUI.Instance)
        //    EndRoundUI.Instance.Refresh();
        base.OnConfirmClick();

        UMengPlugin.Event("revive_close", new Dictionary <string, object> {
            { "level", RoundData.Level }
        });
    }
예제 #9
0
    public void PayFailed(AlipayPlugin.Trade trade)
    {
        //AlertDialog.Load("支付失败,如有问题请联系客服QQ:" + CommonData.QQ);//这个展示时间更长,不容易关闭
        UserSelectedTrade selectTrade;

        if (AlipayPayStrategy.PayTrades.ContainsKey(trade.OutTradeNo))
        {
            selectTrade = AlipayPayStrategy.PayTrades[trade.OutTradeNo];
            AlipayPayStrategy.PayTrades.Remove(trade.OutTradeNo);
        }
        else
        {
            selectTrade = null;
        }
        int paychannel;

        switch (Application.platform)
        {
        case RuntimePlatform.Android:
            paychannel = PayChannelHelper.CHANNEL_ANDROID_ALIPAY;
            break;

        case RuntimePlatform.IPhonePlayer:
            paychannel = PayChannelHelper.CHANNEL_IOS_ALIPAY;
            break;

        default:
            paychannel = PayChannelHelper.CHANNEL_WEB_ALIPAY;
            break;
        }

        float price;

        float.TryParse(trade.TotalFee, out price);
        UMengPlugin.Event("alipay_pay_fail",
                          new Dictionary <string, object>
        {
            //{"name", selectTrade != null ? selectTrade.Name : "(noname)"},
            //{"paychannel", paychannel},
            { "price", price },
        });
    }
예제 #10
0
    public void Result(WechatPlugin.WxErrorCode errorCode, WechatPlugin.ShareInfo info)
    {
        var prefix = LastActionIsShare ? "wxshare" : "wxinvite";

        switch (errorCode)
        {
        case WechatPlugin.WxErrorCode.WxSuccess:
            UMengPlugin.Event(prefix + "_success",
                              new Dictionary <string, object> {
                { "pos", LastPos }
            });
            break;

        default:
            UMengPlugin.Event(prefix + "_fail",
                              new Dictionary <string, object> {
                { "pos", LastPos }, { "code", (int)errorCode }
            });
            break;
        }
    }