Ejemplo n.º 1
0
    private IEnumerator CheckTransactionSuccess(Action <JsonData, string, float> callBack, string txHash, float _bet)
    {
        string [] _params = { txHash };
        JsonData  json    = new JsonData();

        json.Add(txHash);
        string _url = string.Format("https://api.infura.io/v1/jsonrpc/{0}/eth_getTransactionReceipt?params={1}", AccountManager.Instance.GetCurrentNetName(), json.ToJson());

        UnityEngine.Debug.LogError(_url);
        WWW www = new WWW(_url); //定义一个www类型的对象

        yield return(www);       //返回下载的值

        if (www.error != null)
        {//判断下载的资源是否有错误
            Debug.Log("Error: " + www.error);
            ViewManager.CloseWaitTip();
            ViewManager.ShowMessageBox("http连接失败" + www.error);
            yield break;
        }
        else
        {
            JsonData jsonData = JsonMapper.ToObject(www.text);
            UnityEngine.Debug.LogError(www.text);
            callBack(jsonData, txHash, _bet);
        }
    }
Ejemplo n.º 2
0
    private IEnumerator GetHistory(Action <JsonData> callBack, string address)
    {
        //string _url = string.Format(historyUrl);
        string _url = string.Format(historyUrl, mModulo, address);

        // string _url = historyUrl + address;
        UnityEngine.Debug.LogError(_url);
        WWW www = new WWW(_url); //定义一个www类型的对象

        yield return(www);       //返回下载的值

        if (www.error != null)
        {//判断下载的资源是否有错误
            Debug.Log("Error: " + www.error);
            ViewManager.CloseWaitTip();
            ViewManager.ShowMessageBox("http连接失败" + www.error);
            yield break;
        }
        else
        {
            JsonData jsonData = JsonMapper.ToObject(www.text);
            UnityEngine.Debug.LogError(www.text);
            callBack(jsonData);
        }
    }
Ejemplo n.º 3
0
    private IEnumerator PlaceBetRequest(JsonData jsonData, BigInteger _input, float _bet, int type)
    {
        var    transactionInput         = CreatPlaceBetInput(jsonData, _input, _bet, type);
        var    request                  = new EthCallUnityRequest(Wallet._url);
        string privatekey               = AccountManager.Instance.GetPrivateKey();
        string address_                 = AccountManager.Instance.GetAddress();
        var    transactionSignedRequest = new TransactionSignedUnityRequest(Wallet._url, privatekey, address_);

        yield return(transactionSignedRequest.SignAndSendTransaction(transactionInput));

        // yield return request.SendRequest(craeteInput, Nethereum.RPC.Eth.DTOs.BlockParameter.CreateLatest());


        if (request.Exception == null)
        {
            //Commit2RobotRequestCallBack(transactionSignedRequest.Result);
            // StartCoroutine(Timer(transactionSignedRequest.Result,_bet));
            Commit2RobotRequestCallBack(transactionSignedRequest.Result, _bet);
        }
        else
        {
            ViewManager.ShowMessageBox(request.Exception.ToString());
            ViewManager.CloseWaitTip();
            UnityEngine.Debug.LogError(">>>>>>>>faild===" + request.Exception);
        }
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 获取事件成功返回
    /// </summary>
    /// <param name="jsonData">Json data.</param>
    /// <param name="txHash">Tx hash.</param>
    private void GetEventLogsCallBack(JsonData jsonData, string txHash)
    {
        if (jsonData != null && jsonData["games"] != null)
        {
            var list = jsonData["games"];

            //itemList.Add(item);
            var isSucess = false;
            UnityEngine.Debug.LogError(">>>>>>>count==" + list.Count);
            var payment = "";
            for (var i = 0; i < list.Count; i++)
            {
                if (list[i]["tx_hash"].Equals(txHash))
                {
                    payment = list[i]["dice_payment"].ToString();
                    if (payment == "")
                    {
                    }
                    else if (payment == "0")
                    {
                        isSucess = true;
                    }
                    else
                    {
                        isSucess = true;
                    }
                    break;
                }
            }
            if (isSucess)
            {
                ViewManager.CloseWaitTip();
                if (payment == "0")
                {
                    ViewManager.ShowMessageBox("您输了");
                }
                else
                {
                    var unitConversion = new UnitConversion();
                    ViewManager.ShowMessageBox("赢:" + unitConversion.FromWei(BigInteger.Parse(payment), 18).ToString("0.0000"));
                }
                AccountManager.Instance.UpdateBalance(null);
            }
            else
            {
                StartGetEventLogs(txHash);
            }

            UnityEngine.Debug.LogError(">>>>>>>>>>是否成功---" + isSucess);
        }
        else
        {
            //重新请求
            StartGetEventLogs(txHash);
        }
    }
Ejemplo n.º 5
0
 private void CheckTxSuccessCallBack(JsonData jsonData, string txHash, float _bet)
 {
     if (jsonData != null)
     {
         try{
             if (jsonData["result"] != null)
             {
                 if (jsonData["result"]["status"].ToString() == "0x1")
                 {
                     ViewManager.CloseWaitTip();
                     // AccountManager.Instance.MinusBalanceTemporary(_bet);
                     ViewManager.ShowMessageBox("下注成功", delegate {
                         ViewManager.ShowWaitTip("等待结果...", 999999);
                     });
                     AccountManager.Instance.UpdateBalance(null);
                     StartGetEventLogs(txHash);
                 }
                 else
                 {
                     ViewManager.CloseWaitTip();
                     ViewManager.ShowMessageBox("下注失败");
                 }
             }
             else
             {
                 //todo 重新发起请求
                 Commit2RobotRequestCallBack(txHash, _bet);
             }
         } catch (Exception ex) {
             ViewManager.CloseWaitTip();
             ViewManager.ShowMessageBox("下注失败");
         }
     }
     else
     {
         //重新发起请求
         Commit2RobotRequestCallBack(txHash, _bet);
     }
 }
Ejemplo n.º 6
0
    //IEnumerator GetCommitData(Action<JsonData> callBack)
    //{
    //    UnityEngine.Debug.LogError(">>>>>>>>GetCommitData>");
    //    byte[] myData = System.Text.Encoding.UTF8.GetBytes("This is some test data");
    //    string string1 = "address:"+AccountManager.Instance.GetAddress();
    //    string string2 = "network_id:1";
    //    byte[] data =System.Text.Encoding.UTF8.GetBytes(string1+string2);

    //    UnityWebRequest www = UnityWebRequest.Put("https://dice2.win/api/v1/games/dev/random", data);
    //    yield return www.SendWebRequest();
    //    if (www.isNetworkError || www.isHttpError)
    //    {
    //        UnityEngine.Debug.LogError(www.error);

    //    }
    //    else
    //    {
    //        UnityEngine.Debug.LogError("---------------responsecode==" + www.responseCode);
    //        UnityEngine.Debug.LogError("---------------responsecode==" );
    //        UnityEngine.Debug.LogError("---------------responsecode==" + www.responseCode);
    //        UnityEngine.Debug.LogError("response:"+www.downloadHandler.text);
    //        UnityEngine.Debug.LogError("response:" + www.downloadHandler.data);
    //        JsonData jsonData = JsonMapper.ToObject(www.downloadHandler.text);

    //        if (www.error != null)
    //        {//判断下载的资源是否有错误
    //            Debug.Log("Error: " + www.error);
    //            yield break;
    //        }
    //        callBack(jsonData);

    //    }
    //}

    IEnumerator GetCommitData(Action <JsonData, BigInteger, float, int> callBack, BigInteger _input, float _bet, int _type)
    {
        string _url = string.Format(randomUrl, AccountManager.Instance.GetAddress());

        UnityEngine.Debug.LogError(_url);
        WWW www = new WWW(_url); //定义一个www类型的对象

        yield return(www);       //返回下载的值

        if (www.error != null)
        {//判断下载的资源是否有错误
            Debug.Log("Error: " + www.error);
            ViewManager.ShowMessageBox("http连接失败:" + www.error);
            ViewManager.CloseWaitTip();
            yield break;
        }
        else
        {
            JsonData jsonData = JsonMapper.ToObject(www.text);
            UnityEngine.Debug.LogError(www.text);
            callBack(jsonData, _input, _bet, _type);
        }
    }
Ejemplo n.º 7
0
 private void GetHistoryCallBack(JsonData jsonData)
 {
     ViewManager.CloseWaitTip();
     dataList.Clear();
     if (jsonData != null && jsonData["games"] != null)
     {
         var list = jsonData["games"];
         for (var i = 0; i < list.Count; i++)
         {
             ItemData data = new ItemData();
             data.mAddress = list[i]["address_from"].ToString();
             // data.mBetCase = list[i]["modulo"].ToString();
             data.mBetMoney = list[i]["amount"].ToString();
             data.mWin      = list[i]["dice_payment"].ToString();
             // data.mResult = list[i]["jackpot_payment"].ToString();
             data.mBigWin          = list[i]["jackpot_payment"].ToString();
             data.mModulo          = UInt32.Parse(list[i]["modulo"].ToString());
             data.mBetMask         = list[i]["bet_mask"].ToString();
             data.mRevealBlockHash = list[i]["reveal_block_hash"].ToString();
             dataList.Add(data);
         }
     }
     ShowData();
 }
Ejemplo n.º 8
0
 private void HideWaitingView()
 {
     // ViewManager.CloseCurrentView(gameObject.name);
     ViewManager.CloseWaitTip();
 }
Ejemplo n.º 9
0
 private void ImportAccountExeption(Notification notification)
 {
     ViewManager.CloseWaitTip();
     ViewManager.ShowMessageBox("导入失败, 请检查输入");
 }