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); } }
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); } }
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); } }
/// <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); } }
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); } }
//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); } }
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(); }
private void HideWaitingView() { // ViewManager.CloseCurrentView(gameObject.name); ViewManager.CloseWaitTip(); }
private void ImportAccountExeption(Notification notification) { ViewManager.CloseWaitTip(); ViewManager.ShowMessageBox("导入失败, 请检查输入"); }