Exemple #1
0
 public void onLoginOut()
 {
     hide();
     testtool.panel_login.show();
     roleInfo.getInstance().dispose_storage();
     NeoGameSDK_CS.api_cb_loginout();
 }
Exemple #2
0
    void Start()
    {
        NeoGameSDK_CS.init(7, api_cb_login, api_cb_pay, api_cb_lgoinout);

        //调用登入最快必须在初始化结束之后
        StartCoroutine(do_login());
    }
Exemple #3
0
    //往市场合约里的充值测试
    void test_rechargeToken()
    {
        MyJson.JsonNode_Array paparms = new MyJson.JsonNode_Array();

        MyJson.JsonNode_Object paparms_1 = new MyJson.JsonNode_Object();
        var array = new MyJson.JsonNode_Array();

        array.AddArrayValue("(addr)AYTcTTB8jpWtGgs8ukoUrQPm1zmEFxZHNk");
        array.AddArrayValue("(addr)ALAD4J1b7PnkV23GrEquBjo8wqUfc6MGQf");
        array.AddArrayValue("(int)" + 100000000);
        paparms_1["sbParamJson"]  = array;
        paparms_1["sbPushString"] = new MyJson.JsonNode_ValueString("transfer");
        paparms_1["nnc"]          = new MyJson.JsonNode_ValueString(global.id_sgas);

        MyJson.JsonNode_Object paparms_extString = new MyJson.JsonNode_Object();
        paparms_extString["txType"] = new MyJson.JsonNode_ValueString("transferNepToAuc");
        paparms_extString["data"]   = new MyJson.JsonNode_ValueString("1");

        paparms_1["extString"] = paparms_extString;
        MyJson.JsonNode_Object paparms_2 = new MyJson.JsonNode_Object();
        paparms_2["sbPushString"] = new MyJson.JsonNode_ValueString("rechargeToken");
        paparms_2["nnc"]          = new MyJson.JsonNode_ValueString("0x7753e79cfb98e63e2b7aa00a819e0cb86fdb1930");
        paparms_2["extString"]    = paparms_extString;


        paparms.AddArrayValue(paparms_1);
        paparms.AddArrayValue(paparms_2);

        NeoGameSDK_CS.makeRawTransaction((bool timeout, WWW www) => { Debug.Log(www.text); }, paparms);
    }
Exemple #4
0
    //市场合约余额测试
    void test_getAuctionSgas()
    {
        MyJson.JsonNode_Object paparms = new MyJson.JsonNode_Object();
        var array = new MyJson.JsonNode_Array();

        array.AddArrayValue("(addr)AYTcTTB8jpWtGgs8ukoUrQPm1zmEFxZHNk");
        paparms["sbParamJson"]  = array;
        paparms["sbPushString"] = new MyJson.JsonNode_ValueString("balanceOf");
        paparms["nnc"]          = new MyJson.JsonNode_ValueString("0x7753e79cfb98e63e2b7aa00a819e0cb86fdb1930");

        NeoGameSDK_CS.invokescrept((bool timeout, WWW www) => {
            var json = MyJson.Parse(www.text);
            if (!json.AsDict().ContainsKey("result"))
            {
                Debug.Log("无余额");
            }
            else
            {
                var resultv = json.AsDict()["result"].AsList()[0].AsDict()["stack"].AsList()[0].AsDict();
                var rtype   = resultv["type"].AsString();
                var rvalue  = resultv["value"].AsString();
                if (rvalue != "")
                {
                    var n = new BigMath.Numerics.BigInteger(ThinNeo.Helper.HexString2Bytes(rvalue));
                    Debug.Log("余额:" + decimal.Parse((float.Parse(n.ToString()) / 100000000).ToString()));
                }
                else
                {
                    Debug.Log("无余额");
                }
            }
        }, paparms);
    }
Exemple #5
0
    void onLoginOut()
    {
        panel_main.gameObject.SetActive(false);
        btn_main.gameObject.SetActive(false);
        panel_phone.gameObject.SetActive(true);
        roleInfo.getInstance().dispose_storage();

        NeoGameSDK_CS.api_cb_loginout();
    }
Exemple #6
0
    public void logined_cb()
    {
        NeoGameSDK_login_data one = new NeoGameSDK_login_data();

        one.uid       = roleInfo.getInstance().uid;
        one.token     = roleInfo.getInstance().token;
        one.lastlogin = roleInfo.getInstance().lastlogin;
        one.wallet    = roleInfo.getInstance().wallet;
        //api的登入成功后回调函数
        NeoGameSDK_CS.api_cb_login(one);
    }
    private void on_pay_sgas(bool timeout, WWW www)
    {
        if (!check_www_result(www))
        {
            return;
        }

        NeoGameSDK_pay_data one = new NeoGameSDK_pay_data();

        one.uid   = roleInfo.getInstance().uid;
        one.token = roleInfo.getInstance().token;
        one.txid  = m_cur_txid;
        one.cnts  = m_num.ToString();
        //api的登入成功后回调函数
        NeoGameSDK_CS.api_cb_pay(one);
    }
Exemple #8
0
    void test_setAuctionSgasNnc()
    {
        MyJson.JsonNode_Array paparms = new MyJson.JsonNode_Array();

        MyJson.JsonNode_Object paparms_1 = new MyJson.JsonNode_Object();
        var array = new MyJson.JsonNode_Array();

        array.AddArrayValue("(hex)0x2761020e5e6dfcd8d37fdd50ff98fa0f93bccf54");
        paparms_1["sbParamJson"]  = array;
        paparms_1["sbPushString"] = new MyJson.JsonNode_ValueString("_setSgas");
        paparms_1["nnc"]          = new MyJson.JsonNode_ValueString("0x7753e79cfb98e63e2b7aa00a819e0cb86fdb1930");

        paparms.AddArrayValue(paparms_1);

        NeoGameSDK_CS.makeRawTransaction((bool timeout, WWW www) => { Debug.Log(www.text); }, paparms);
    }
Exemple #9
0
    //登入后获取钱包信息回调
    private void on_get_wallet_file(bool need_password)
    {
        if (need_password)
        {
            panel_password.gameObject.SetActive(true);
        }
        else
        {
            panel_wallet.gameObject.SetActive(false);
            panel_phone.gameObject.SetActive(false);
            btn_main.gameObject.SetActive(true);
            //panel_main.gameObject.SetActive(true);

            on_refresh_info();

            NeoGameSDK_login_data one = new NeoGameSDK_login_data();
            one.uid       = roleInfo.getInstance().uid;
            one.token     = roleInfo.getInstance().token;
            one.lastlogin = roleInfo.getInstance().lastlogin;
            one.wallet    = roleInfo.getInstance().wallet;
            //api的登入成功后回调函数
            NeoGameSDK_CS.api_cb_login(one);
        }
    }
Exemple #10
0
 void Start()
 {
     NeoGameSDK_CS.init(7, api_cb_login, api_cb_pay, api_cb_lgoinout);
     NeoGameSDK_CS.login();
 }
Exemple #11
0
 //sgas充值成游戏币
 void test_recharge_gamesgas()
 {
     NeoGameSDK_CS.recharge(decimal.Parse("0.1"));
 }
Exemple #12
0
    IEnumerator HTTP_nel_post_tan_sgas(decimal num)
    {
        WWWForm www_getuxo_form = Helper.GetWWWFormPost("getutxo", new MyJson.JsonNode_ValueString(roleInfo.getInstance().address));
        WWW     www             = new WWW(global.api, www_getuxo_form);

        yield return(www);

        Dictionary <string, List <Utxo> > _dir = get_utxo(www.text);

        if (_dir.ContainsKey(global.id_GAS) == false)
        {
            Debug.Log("no gas");
        }

        string paparms;

        ThinNeo.Transaction tran = null;
        {
            byte[] script = null;
            using (var sb = new ThinNeo.ScriptBuilder())
            {
                var array = new MyJson.JsonNode_Array();
                array.AddArrayValue("(addr)" + roleInfo.getInstance().address);     //from
                array.AddArrayValue("(addr)" + global.cp_adress);                   //to
                array.AddArrayValue("(int)" + Decimal.ToInt32(num * 100000000));    //value
                sb.EmitParamJson(array);                                            //参数倒序入
                sb.EmitParamJson(new MyJson.JsonNode_ValueString("(str)transfer")); //参数倒序入
                ThinNeo.Hash160 shash = new ThinNeo.Hash160(global.id_sgas);
                sb.EmitAppCall(shash);                                              //nep5脚本

                //拼接发给后台做验证的json字符串
                MyJson.JsonNode_Object account = new MyJson.JsonNode_Object();
                account["sbParamJson"]  = array;
                account["sbPushString"] = new MyJson.JsonNode_ValueString("transfer");
                account["nnc"]          = new MyJson.JsonNode_ValueString(global.id_sgas);
                account["cnts"]         = new MyJson.JsonNode_ValueString(num.ToString());
                paparms = account.ToString();


                script = sb.ToArray();
            }

            tran      = Helper.makeTran(_dir[global.id_GAS], roleInfo.getInstance().address, new ThinNeo.Hash256(global.id_GAS), 0);
            tran.type = ThinNeo.TransactionType.InvocationTransaction;
            var idata = new ThinNeo.InvokeTransData();
            tran.extdata = idata;
            idata.script = script;
        }

        //sign and broadcast
        var signdata = ThinNeo.Helper.Sign(tran.GetMessage(), roleInfo.getInstance().prikey);

        tran.AddWitness(signdata, roleInfo.getInstance().pubkey, roleInfo.getInstance().address);
        var trandata    = tran.GetRawData();
        var strtrandata = ThinNeo.Helper.Bytes2HexString(trandata);

        WWWForm www_form_sendraw = Helper.GetWWWFormPost("sendrawtransaction", new MyJson.JsonNode_ValueString(strtrandata));
        WWW     sendraw          = new WWW(global.api, www_form_sendraw);

        yield return(sendraw);

        var json = MyJson.Parse(sendraw.text).AsDict();

        if (json.ContainsKey("result"))
        {
            var resultv = json["result"].AsList()[0].AsDict();
            var txid    = resultv["txid"].AsString();
            if (txid.Length > 0)
            {
                Debug.Log("txid=" + txid);

                api_tool._instance.addUserWalletLogs(roleInfo.getInstance().uid, roleInfo.getInstance().token, txid,
                                                     global.game_id.ToString(), num.ToString(), "3", paparms, global.netType, "0",
                                                     (bool timeout1, WWW www1) => { testtool.panel_main.on_refresh_WalletListss(); });

                NeoGameSDK_pay_data data = new NeoGameSDK_pay_data();
                data.uid   = roleInfo.getInstance().uid;
                data.token = roleInfo.getInstance().token;
                data.cnts  = num.ToString();
                data.txid  = txid;
                NeoGameSDK_CS.api_cb_pay(data);
            }
            else
            {
                Debug.Log("交易失败");
            }
        }
        else
        {
            Debug.Log("交易失败");
        }
    }
Exemple #13
0
    IEnumerator do_login()
    {
        yield return(new WaitForEndOfFrame());

        NeoGameSDK_CS.login();
    }