Пример #1
0
    public Babaucu(uint nivel = 1)
    {
        normal carac = new normal ();
        Nome = "Babauçu";
        meusTipos = new String[1];
        meusTipos [0] = nomeTipos.Normal.ToString();

        for(int cnt = 0; cnt < contraTipos.Length; cnt++)
        {
            contraTipos[cnt] = new tipos();
            contraTipos[cnt].Nome = ((nomeTipos)cnt).ToString();
            contraTipos[cnt].Mod = carac._caracTipo[cnt].Mod;
        }

        emissor = "";//"Arma__o/corpo3/corpo2/corpo1/pescoco/cabeca/bocaC";

        acimaDoChao[nomesGolpes.olharMal] = 0.35f;

        colisores[nomesGolpes.chicoteDeMao] = new colisor("esqueleto/corpo/preBracoD/bracoD1/bracoD2/bracoD3/bracoD4",
                                          new Vector3(0,0,0f),
                                          new Vector3(-0.2f,0.53f,-0.13f));

        colisores[nomesGolpes.dentada] = new colisor("esqueleto/corpo/",
                                                new Vector3(0,0,0.3f),
                                           new Vector3(-0.2f,0f,0.723f));

        colisores[nomesGolpes.sobreSalto] = new colisor("esqueleto/corpo/",
                                              new Vector3(0,0,1.2f),
                                              new Vector3(-0.365f,0.113f,-0.325f));

        /*
        colisores["garra"] = new colisor("Arma__o/corpo3_R/",
                                         new Vector3(0,0,0.3f),
                                         new Vector3(-0.365f,0.113f,-0.325f));*/

        cAtributos [0].Maximo = 10;
        cAtributos [0].Corrente = 10;
        cAtributos [0].Basico = 10;

        apiceDoPulo = 1.5f;
        velocidadeNoAr = 8f;
        velocidadeCaindo = 5f;

        velocidadeAndando = 5f;

        velocidadeDeRotacaoParado = 1.51f;
        velocidadeDeRotacao = 2f;

        Golpes = golpesAtivos (nivel,listaGolpes);  incrementaNivel(nivel);

        listaDeGolpes = listaGolpes;
    }
Пример #2
0
    public Onarac(uint nivel = 1)
    {
        normal caracC = new normal ();

        Nome = "Onarac";

        meusTipos = new String[1];
        meusTipos [0] = nomeTipos.Normal.ToString();

        for(int cnt = 0; cnt < contraTipos.Length; cnt++)
        {
            contraTipos[cnt] = new tipos();
            contraTipos[cnt].Nome = ((nomeTipos)cnt).ToString();
            contraTipos[cnt].Mod = caracC._caracTipo[cnt].Mod;
        }
        /*
        emissor = "esqueleto/corpo";
        */
        colisores[nomesGolpes.chute] = new colisor("esqueleto/corpo/coxaD/pernaD/calcanharD",
                                          new Vector3(0,0,0),
                                          new Vector3(-0.25f,0.034f,-0.339f));

        colisores[nomesGolpes.espada] = new colisor("esqueleto/corpo/anteBracoD/bracoD/maoD",
                                         new Vector3(0,0,0),
                                         new Vector3(-0.335f,-0.202f,0.147f));
        colisores[nomesGolpes.sobreSalto] = new colisor("esqueleto/corpo/",
                                              new Vector3(0,0,1.2f),
                                              new Vector3(-0.365f,0.113f,-0.325f));

        cAtributos [0].Maximo = 18;
        cAtributos [0].Corrente = 18;
        cAtributos [0].Basico = 18;

        apiceDoPulo = 1.5f;
        velocidadeNoAr = 2f;
        velocidadeCaindo = 5f;

        velocidadeAndando = 5.5f;

        velocidadeDeRotacaoParado = 1.51f;
        velocidadeDeRotacao = 2f;

        alturaCamera = 3f;

        Golpes = golpesAtivos (nivel,listaGolpes);  incrementaNivel(nivel);

        listaDeGolpes = listaGolpes;
    }
Пример #3
0
    public Marak(uint nivel = 1)
    {
        normal carac = new normal ();
        Nome = "Marak";
        meusTipos = new String[1];
        meusTipos [0] = nomeTipos.Normal.ToString();

        for(int cnt = 0; cnt < contraTipos.Length; cnt++)
        {
            contraTipos[cnt] = new tipos();
            contraTipos[cnt].Nome = ((nomeTipos)cnt).ToString();
            contraTipos[cnt].Mod = carac._caracTipo[cnt].Mod;
        }

        emissor = "Arma__o/corpo3/corpo2/corpo1/pescoco/cabeca/bocaC";

        colisores[nomesGolpes.chifre] = new colisor("Arma__o/corpo3/corpo2/corpo1/pescoco/cabeca/",
                                          new Vector3(0,0,6.79f),
                                          new Vector3(-0.6522f,-0.0274f,-0.914f));
        colisores[nomesGolpes.garra] = new colisor("Arma__o/corpo3_R/",
                                         new Vector3(0,0,0.3f),
                                         new Vector3(-0.331f,-0.344f,-0.192f));
        colisores[nomesGolpes.sobreSalto] = new colisor("Arma__o/corpo3/",
                                         new Vector3(0,0,1.2f),
                                         new Vector3(-0.365f,0.113f,-0.325f));

        cAtributos [0].Maximo = 12;
        cAtributos [0].Corrente = 12;
        cAtributos [0].Basico = 12;

        apiceDoPulo = 1.5f;
        velocidadeNoAr = 2f;
        velocidadeCaindo = 5f;

        velocidadeAndando = 5f;

        velocidadeDeRotacaoParado = 1.51f;
        velocidadeDeRotacao = 2f;

        Golpes = golpesAtivos (nivel,listaGolpes);  incrementaNivel(nivel);

        listaDeGolpes = listaGolpes;
    }
Пример #4
0
    public Wisks(uint nivel = 1)
    {
        normal caracC = new normal();

        Nome = "Wisks";

        meusTipos     = new String[1];
        meusTipos [0] = nomeTipos.Normal.ToString();

        for (int cnt = 0; cnt < contraTipos.Length; cnt++)
        {
            contraTipos[cnt]      = new tipos();
            contraTipos[cnt].Nome = ((nomeTipos)cnt).ToString();
            contraTipos[cnt].Mod  = caracC._caracTipo[cnt].Mod;
        }



        emissor = "esqueleto/corpo_001/coluna/pescoco/cabeca";

        colisores[nomesGolpes.cabecada] = new colisor("esqueleto/corpo_001/coluna/pescoco/cabeca",
                                                      new Vector3(0, 3.48f, 0),
                                                      new Vector3(-0.644f, -0.495f, 0.048f));
        colisores[nomesGolpes.tapa] = new colisor("esqueleto/corpo_001/coluna/anteBracoD/bracoD/maoD",
                                                  new Vector3(0, 0, 0),
                                                  new Vector3(-0.26f, -0, 0));
        colisores[nomesGolpes.sobreSalto] = new colisor("esqueleto/corpo_001/",
                                                        new Vector3(0, 0, 1.2f),
                                                        new Vector3(-0.365f, 0.113f, -0.325f));


        /*
         * cAtributos [0].Maximo = 12;
         * cAtributos [0].Corrente = 12;
         * cAtributos [0].Basico = 3;
         */

        /*		*****************
         *
         *      personalizaçao das taas de evoluçao individual do Criature
         *      a soma deve ser 1
         *
         *********************
         *
         */


        cAtributos[0].Taxa = 0.22f;             //Pontos de Vida
        cAtributos[1].Taxa = 0.18f;             //pontos de Energia
        cAtributos[2].Taxa = 0.26f;             //pontos de Poder
        cAtributos[3].Taxa = 0.17f;             //pontos de Força
        cAtributos[4].Taxa = 0.17f;             //pontos de Defesa


        /***************************************************************************/


        apiceDoPulo      = 1.4f;
        velocidadeNoAr   = 1.9f;
        velocidadeCaindo = 4.75f;

        velocidadeAndando = 5.5f;

        distanciaFundamentadora = 0.2f;

        velocidadeDeRotacaoParado = 1.51f;
        velocidadeDeRotacao       = 2f;

        //alturaCamera = 1.2f;
        //distanciaCamera = 4f;

        Golpes = golpesAtivos(nivel, listaGolpes);  incrementaNivel(nivel);

        listaDeGolpes = listaGolpes;
    }
Пример #5
0
 private void LoadingForm_Load(object sender, EventArgs e)
 {
     timer2.Start();
     timer1.Start();
     normal normal = new normal();
 }
        public ActionResult YeePay(Dictionary <string, string> queryvalues)
        {
            string _data       = queryvalues.ContainsKey("data") ? queryvalues["data"] : string.Empty;
            string _encryptkey = queryvalues.ContainsKey("encryptkey") ? queryvalues["encryptkey"] : string.Empty;

            if (_data == string.Empty || _encryptkey == string.Empty)
            {
                Response.Redirect("mobilecall://fail");
                return(Content("参数不正确!"));
            }

            try
            {
                //商户注意:接收到易宝的回调信息后一定要回写success用以保证握手成功!
                //Response.Write("success");

                YeepayCallback model = new YeepayCallback();
                model.Data           = _data;
                model.EncryptKey     = _encryptkey;
                model.CallBackResult = YJPayUtil.checkYbCallbackResult(_data, _encryptkey);//解密易宝支付回调结果



                JsonToInstance       util = new JsonToInstance();
                YeepayCallbackReslut m    = util.ToInstance <YeepayCallbackReslut>(model.CallBackResult);
                RechargeCheck        rc   = RechargeCheckBLL.GetModelBySerialNo(new RechargeCheck {
                    SerialNo = m.orderid
                });
#if Debug
                Role user = RoleBLL.GetModelByID(new Role {
                    ID = rc.UserID
                });
#endif

#if P17
                Role user = RoleBLL.GetModelByID(new Role {
                    ID = rc.UserID
                });
#endif
#if Release
                Role user = RoleBLL.GetModelByID(new Role {
                    ID = rc.UserID
                });
#endif
                IAPProduct iap = IAPProductBLL.GetModelByID(rc.ProductID);
                isFirst    iF  = iap.product_id.Split('_')[0].Equals("firstCharge")?isFirst.是:isFirst.否;
                chipType   ct  = iF == isFirst.是 ? chipType.首冲礼包 : (chipType)iap.goodsType;



                bool firstGif = iF == isFirst.是;

                uint gold = iap.goodsType == 1 ? (uint)iap.goods : 0;
                uint dia  = iap.goodsType == 2 ? (uint)iap.goods : 0;

                if (firstGif)
                {
                    gold = (uint)(iap.goods + iap.attach_chip);
                    dia  = (uint)iap.attach_5b;
                }

                uint rmb = (uint)(rc.Money / 100);

                normal ServiceNormalS = normal.CreateBuilder()
                                        .SetUserID((uint)rc.UserID)
                                        .SetGold(gold)
                                        .SetDia(dia)
                                        .SetRmb(rmb)
                                        .SetFirstGif(firstGif)
                                        .Build();


                Bind tbind = Cmd.runClient(new Bind(BR_Cmd.BR_NORMAL, ServiceNormalS.ToByteArray()));
                switch ((CenterCmd)tbind.header.CommandID)
                {
                case CenterCmd.CS_NORMAL:
                    normalRep ServiceNormalC = normalRep.ParseFrom(tbind.body.ToBytes());


                    if (ServiceNormalC.Suc)
                    {
                        RechargeBLL.Add(new Recharge {
                            BillNo = m.yborderid, OpenID = rc.SerialNo, UserID = rc.UserID, Money = rc.Money, CreateTime = DateTime.Now, Chip = gold, ChipType = ct, IsFirst = iF, NickName = iap.productname, PayItem = iap.product_id, PF = raType.易宝, UserAccount = user.NickName
                        });

                        RechargeCheckBLL.Delete(new RechargeCheck {
                            SerialNo = m.orderid
                        });



                        //Response.Redirect("mobilecall://success");
                        return(RedirectToAction("success", "Home"));
                    }
                    //Response.Redirect("mobilecall://fail?suc=" + ServiceNormalC.Suc);
                    break;

                case CenterCmd.CS_CONNECT_ERROR:
                    break;
                }



                //Response.Redirect("mobilecall://fail");
                return(RedirectToAction("fail", "Home"));
            }
            catch (Exception err)
            {
                //Response.Redirect("mobilecall://fail?err=" + err);
                return(RedirectToAction("fail", "Home"));
                //return Content("支付失败!" + err);
            }
        }
Пример #7
0
 return(CalculatePlane(normal, a));
Пример #8
0
        //[HttpPost]
        public ActionResult AppStore(Dictionary <string, string> queryvalues)
        {
//#if Debug
//            queryvalues = new Dictionary<string, string>();
//            queryvalues.Add("transtime", "1472653281");
//            queryvalues.Add("productid", "Chip_3");
//            queryvalues.Add("identityid", "403278");
//            queryvalues.Add("othertype", "2");
//            queryvalues.Add("other", "8B58253C-9B85-4D13-93EF-0F9D21162895");
//            queryvalues.Add("customsign", "7fa5c658db8804a14879c972f271d58d");

//            queryvalues.Add("transactionid", "440000246529282");
//            queryvalues.Add("isfirstrecharge", "0");
//            queryvalues.Add("transactionreceipt", "ewoJInNpZ25hdHVyZSIgPSAiQXhvZGJkQlFNWnBVUkhKbXQvdWw4MExza2RuWDZlaXVzaGl4ZzI4WFNOM0ROZTdBbFp3K2NPVDhENEo5Q0dUMlJUS0d4TlZCeVFnRjNzb3YrL2FISS9VWEZUL29rMUhtVXowcmRSVmhzaTErUmFvdVdDNmpqNzUydGR0WTQzb3FhQ0pPcnJ1VCs1ckI1VTl0aXFwNVRJR1BEbnRVTzhkeERuM2MwVjM0Qk5JcWt5aUQ4UmlOd1M3ZW55Wk04RkUxeGtMWm56ZW82MjNXRU9tU0Y2QTVVK2ZHMDBRQlcvUysweGZhUEU1TjN4WEk4bzVFNDl0UXlybUVRUWFKVGhBWFJLamJqMjJOTlRDMkZML0tOM2M1eU1mNkkrVU9WcE1sREUxZUVxalhOREZVRmZYYmFWVHJVaEtKTmo1Y1BWZ2Jid0laeW1kZlFpZU9rSzcwNDdvVU0vVUFBQVdBTUlJRmZEQ0NCR1NnQXdJQkFnSUlEdXRYaCtlZUNZMHdEUVlKS29aSWh2Y05BUUVGQlFBd2daWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Td3dLZ1lEVlFRTERDTkJjSEJzWlNCWGIzSnNaSGRwWkdVZ1JHVjJaV3h2Y0dWeUlGSmxiR0YwYVc5dWN6RkVNRUlHQTFVRUF3dzdRWEJ3YkdVZ1YyOXliR1IzYVdSbElFUmxkbVZzYjNCbGNpQlNaV3hoZEdsdmJuTWdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrd0hoY05NVFV4TVRFek1ESXhOVEE1V2hjTk1qTXdNakEzTWpFME9EUTNXakNCaVRFM01EVUdBMVVFQXd3dVRXRmpJRUZ3Y0NCVGRHOXlaU0JoYm1RZ2FWUjFibVZ6SUZOMGIzSmxJRkpsWTJWcGNIUWdVMmxuYm1sdVp6RXNNQ29HQTFVRUN3d2pRWEJ3YkdVZ1YyOXliR1IzYVdSbElFUmxkbVZzYjNCbGNpQlNaV3hoZEdsdmJuTXhFekFSQmdOVkJBb01Da0Z3Y0d4bElFbHVZeTR4Q3pBSkJnTlZCQVlUQWxWVE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcGMrQi9TV2lnVnZXaCswajJqTWNqdUlqd0tYRUpzczl4cC9zU2cxVmh2K2tBdGVYeWpsVWJYMS9zbFFZbmNRc1VuR09aSHVDem9tNlNkWUk1YlNJY2M4L1cwWXV4c1FkdUFPcFdLSUVQaUY0MWR1MzBJNFNqWU5NV3lwb041UEM4cjBleE5LaERFcFlVcXNTNCszZEg1Z1ZrRFV0d3N3U3lvMUlnZmRZZUZScjZJd3hOaDlLQmd4SFZQTTNrTGl5a29sOVg2U0ZTdUhBbk9DNnBMdUNsMlAwSzVQQi9UNXZ5c0gxUEttUFVockFKUXAyRHQ3K21mNy93bXYxVzE2c2MxRkpDRmFKekVPUXpJNkJBdENnbDdaY3NhRnBhWWVRRUdnbUpqbTRIUkJ6c0FwZHhYUFEzM1k3MkMzWmlCN2o3QWZQNG83UTAvb21WWUh2NGdOSkl3SURBUUFCbzRJQjF6Q0NBZE13UHdZSUt3WUJCUVVIQVFFRU16QXhNQzhHQ0NzR0FRVUZCekFCaGlOb2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBekxYZDNaSEl3TkRBZEJnTlZIUTRFRmdRVWthU2MvTVIydDUrZ2l2Uk45WTgyWGUwckJJVXdEQVlEVlIwVEFRSC9CQUl3QURBZkJnTlZIU01FR0RBV2dCU0lKeGNKcWJZWVlJdnM2N3IyUjFuRlVsU2p0ekNDQVI0R0ExVWRJQVNDQVJVd2dnRVJNSUlCRFFZS0tvWklodmRqWkFVR0FUQ0IvakNCd3dZSUt3WUJCUVVIQWdJd2diWU1nYk5TWld4cFlXNWpaU0J2YmlCMGFHbHpJR05sY25ScFptbGpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzWlNCemRHRnVaR0Z5WkNCMFpYSnRjeUJoYm1RZ1kyOXVaR2wwYVc5dWN5QnZaaUIxYzJVc0lHTmxjblJwWm1sallYUmxJSEJ2YkdsamVTQmhibVFnWTJWeWRHbG1hV05oZEdsdmJpQndjbUZqZEdsalpTQnpkR0YwWlcxbGJuUnpMakEyQmdnckJnRUZCUWNDQVJZcWFIUjBjRG92TDNkM2R5NWhjSEJzWlM1amIyMHZZMlZ5ZEdsbWFXTmhkR1ZoZFhSb2IzSnBkSGt2TUE0R0ExVWREd0VCL3dRRUF3SUhnREFRQmdvcWhraUc5Mk5rQmdzQkJBSUZBREFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBRGFZYjB5NDk0MXNyQjI1Q2xtelQ2SXhETUlKZjRGelJqYjY5RDcwYS9DV1MyNHlGdzRCWjMrUGkxeTRGRkt3TjI3YTQvdncxTG56THJSZHJqbjhmNUhlNXNXZVZ0Qk5lcGhtR2R2aGFJSlhuWTR3UGMvem83Y1lmcnBuNFpVaGNvT0FvT3NBUU55MjVvQVE1SDNPNXlBWDk4dDUvR2lvcWJpc0IvS0FnWE5ucmZTZW1NL2oxbU9DK1JOdXhUR2Y4YmdwUHllSUdxTktYODZlT2ExR2lXb1IxWmRFV0JHTGp3Vi8xQ0tuUGFObVNBTW5CakxQNGpRQmt1bGhnd0h5dmozWEthYmxiS3RZZGFHNllRdlZNcHpjWm04dzdISG9aUS9PamJiOUlZQVlNTnBJcjdONFl0UkhhTFNQUWp2eWdhWndYRzU2QWV6bEhSVEJoTDhjVHFBPT0iOwoJInB1cmNoYXNlLWluZm8iID0gImV3b0pJbTl5YVdkcGJtRnNMWEIxY21Ob1lYTmxMV1JoZEdVdGNITjBJaUE5SUNJeU1ERTJMVEE0TFRNeElEQTNPakl4T2pFNUlFRnRaWEpwWTJFdlRHOXpYMEZ1WjJWc1pYTWlPd29KSW5CMWNtTm9ZWE5sTFdSaGRHVXRiWE1pSUQwZ0lqRTBOekkyTlRNeU56azBNamtpT3dvSkluVnVhWEYxWlMxcFpHVnVkR2xtYVdWeUlpQTlJQ0prWmpnMVpUUTBOekkxTm1RNU16SXhNR1F4WWpOak1tRTNaV1psTURCalptRmlOalptTWpJMElqc0tDU0p2Y21sbmFXNWhiQzEwY21GdWMyRmpkR2x2YmkxcFpDSWdQU0FpTkRRd01EQXdNalEyTlRJNU1qZ3lJanNLQ1NKaWRuSnpJaUE5SUNJNUlqc0tDU0poY0hBdGFYUmxiUzFwWkNJZ1BTQWlNVEExTkRNeE1qZzFOaUk3Q2draWRISmhibk5oWTNScGIyNHRhV1FpSUQwZ0lqUTBNREF3TURJME5qVXlPVEk0TWlJN0Nna2ljWFZoYm5ScGRIa2lJRDBnSWpFaU93b0pJbTl5YVdkcGJtRnNMWEIxY21Ob1lYTmxMV1JoZEdVdGJYTWlJRDBnSWpFME56STJOVE15TnprME1qa2lPd29KSW5WdWFYRjFaUzEyWlc1a2IzSXRhV1JsYm5ScFptbGxjaUlnUFNBaU1VTkJOVVkyUlRBdE1FVkVPQzAwTkVZeExUazRNVE10T1VNNE9ERXlNa1E1UXpoQklqc0tDU0pwZEdWdExXbGtJaUE5SUNJeE1EVTBNekl4T1RnMElqc0tDU0oyWlhKemFXOXVMV1Y0ZEdWeWJtRnNMV2xrWlc1MGFXWnBaWElpSUQwZ0lqZ3hPRFUxTnpRM09TSTdDZ2tpY0hKdlpIVmpkQzFwWkNJZ1BTQWlkM2wzWDBOb2FYQmZPQ0k3Q2draWNIVnlZMmhoYzJVdFpHRjBaU0lnUFNBaU1qQXhOaTB3T0Mwek1TQXhORG95TVRveE9TQkZkR012UjAxVUlqc0tDU0p2Y21sbmFXNWhiQzF3ZFhKamFHRnpaUzFrWVhSbElpQTlJQ0l5TURFMkxUQTRMVE14SURFME9qSXhPakU1SUVWMFl5OUhUVlFpT3dvSkltSnBaQ0lnUFNBaVkyOXRMbWRoYldVMU1UVXVkM2wzWkdWNmFHOTFJanNLQ1NKd2RYSmphR0Z6WlMxa1lYUmxMWEJ6ZENJZ1BTQWlNakF4Tmkwd09DMHpNU0F3TnpveU1Ub3hPU0JCYldWeWFXTmhMMHh2YzE5QmJtZGxiR1Z6SWpzS2ZRPT0iOwoJInBvZCIgPSAiNDQiOwoJInNpZ25pbmctc3RhdHVzIiA9ICIwIjsKfQ==");
//#endif



            string _transtime  = queryvalues.ContainsKey("transtime") ? queryvalues["transtime"] : string.Empty;
            string _productid  = queryvalues.ContainsKey("productid") ? queryvalues["productid"] : string.Empty;
            int    _identityid = queryvalues.ContainsKey("identityid") ? Convert.ToInt32(queryvalues["identityid"]) : 0;
            int    _othertype  = queryvalues.ContainsKey("othertype") ? Convert.ToInt32(queryvalues["othertype"]) : 0;
            string _other      = queryvalues.ContainsKey("other") ? queryvalues["other"] : string.Empty;
            string _customSign = queryvalues.ContainsKey("customsign") ? queryvalues["customsign"] : string.Empty;

            string Key = _key;

            string _transactionid      = queryvalues.ContainsKey("transactionid") ? queryvalues["transactionid"] : string.Empty;
            int    _isfirstrecharge    = queryvalues.ContainsKey("isfirstrecharge") ? Convert.ToInt32(queryvalues["isfirstrecharge"]) : 0;
            string _transactionreceipt = queryvalues.ContainsKey("transactionreceipt") ? queryvalues["transactionreceipt"] : string.Empty;
            string md5 = Utils.MD5(string.Concat(_transtime, _identityid, _othertype, _other, _productid, Key));

            if (!_customSign.Equals(md5))
            {
                log.Error("AppStore 参数不正确");
                return(Json(new { result = 10001, msg = "AppStore 参数不正确" }));
            }


            //Convert.FromBase64String(System.Text.Encoding.ASCII.GetBytes(_transactionreceipt))
            var res = System.Text.Encoding.ASCII.GetString(Convert.FromBase64String(_transactionreceipt));

            //(JObject)JsonConvert.DeserializeObject


            ReceiptManager receiptManager = new ReceiptManager();
            var            env            = Environments.Production;



            if (res.IndexOf("Sandbox") > 0)
            {
                env = Environments.Sandbox;
            }



            var response = receiptManager.ValidateReceipt(env, res);

            log.Info("response.Status=" + response.Status);
            log.Info("Environments.Sandbox" + res.IndexOf("Sandbox"));


            if (response.Status > 0)
            {
                log.Error("AppStore ReceiptVerifier Error Status :" + response.Status);
                return(Json(new { result = response.Status }));
            }


            if (!(response.Receipt.BundleIdentifier == "com.game515.wywdezhou" || response.Receipt.BundleIdentifier == "com.game515.515dezhou" || response.Receipt.BundleIdentifier == "com.gamehk.wanrendezhou" || response.Receipt.BundleIdentifier == "com.gamehk.wanrenqlunpan"))
            {
                log.Error("AppStore ReceiptVerifier Error bid :" + response.Receipt.BundleIdentifier);
                return(Json(new { result = 10006, msg = "AppStore ReceiptVerifier Error bid :" + response.Receipt.BundleIdentifier }));
            }


            try
            {
                //RechargeCheck rc = RechargeCheckBLL.GetModelBySerialNo(new RechargeCheck { SerialNo = out_trade_no });

                //if (rc == null)
                //{
                //    log.Error(" AppStore 订单[" + out_trade_no + "]不存在");
                //    return Content("fail");
                //}
                Recharge rc = RechargeBLL.GetModelByBillNo(new Recharge {
                    BillNo = _transactionid
                });
                if (rc != null)
                {
                    log.Error(" AppStore 订单[" + _transactionid + "]已存在");
                    return(Json(new { result = 1, msg = "AppStore 订单[" + _transactionid + "]已存在" }));
                }


                Role user = RoleBLL.GetModelByID(new Role {
                    ID = _identityid
                });
                if (user == null)
                {
                    log.Error(" AppStore 用户[" + _identityid + "]不存在");
                    return(Json(new { result = 10002, msg = "AppStore 用户[" + _identityid + "]不存在" }));
                }
                IAPProduct iap = IAPProductBLL.GetModelByID(_productid);
                if (iap == null)
                {
                    log.Error(" AppStore 支付配表出错");
                    return(Json(new { result = 10003, msg = "AppStore 支付配表出错" }));
                }


                isFirst  iF = iap.product_id.Split('_')[0].Equals("firstCharge") ? isFirst.是 : isFirst.否;
                chipType ct = iF == isFirst.是 ? chipType.首冲礼包 : (chipType)iap.goodsType;



                bool firstGif = iF == isFirst.是;



                Recharge recharge = RechargeBLL.GetFirstModelListByUserID(new Recharge {
                    UserID = _identityid
                });
                if (recharge != null)//首冲过
                {
                    if (firstGif == true)
                    {//又是首冲,则改变其为不首冲
                        firstGif      = false;
                        ct            = (chipType)1;
                        iF            = isFirst.否;
                        iap.goodsType = 1;
                        log.Error(" 多次首冲,修改firstGif值");
                    }
                }

                RechargeCheckBLL.AddOrderIP(new UserIpInfo {
                    UserID = _identityid, OrderID = _transactionid, CreateTime = DateTime.Now, ChargeType = (int)raType.AppStore, OrderIP = GetClientIp()
                });
                RechargeIP ipmodel = GetCallBackClientIp();
                RechargeCheckBLL.AddCallBackOrderIP(new UserIpInfo {
                    CallBackUserID = _identityid, OrderID = _transactionid, Method = ipmodel.Method, CallBackIP = ipmodel.IP, CallBackTime = DateTime.Now, CallBackChargeType = (int)raType.AppStore
                });



                uint gold = iap.goodsType == 1 ? (uint)iap.goods : 0;
                uint dia  = iap.goodsType == 2 ? (uint)iap.goods : 0;
                if (firstGif)
                {
                    gold = (uint)(iap.goods + iap.attach_chip);
                    dia  = (uint)iap.attach_5b;
                }
                string list = iap.attach_props;
                list = list.Trim(',') + (gold > 0 ? ",10000:" + gold + "," : "");
                list = list.Trim(',') + (dia > 0 ? ",20000:" + dia + "," : "");
                list = list.Trim(',') + ",";
                uint rmb = (uint)iap.price;
                log.Info(" 分 :" + rmb * 100);
                // rmb = rmb * 100;//将元单位转换为分的单位转给游戏服务器



                RechargeBLL.Add(new Recharge {
                    BillNo = _transactionid, OpenID = response.Receipt.UniqueIdentifier, UserID = _identityid, Money = (rmb * 100), CreateTime = DateTime.Now, Chip = gold, Diamond = dia, ChipType = ct, IsFirst = iF, NickName = iap.productname, PayItem = iap.product_id, PF = raType.AppStore, UserAccount = user.NickName, ActualMoney = (rmb * 100), ProductNO = list.Trim(',')
                });


                log.Info(" 开始给服务器发送消息_identityid=" + _identityid + ",list=" + list + ",rmb*100=" + rmb * 100 + ",firstGif=" + firstGif + ",_transactionid=" + _transactionid);


                normal ServiceNormalS = normal.CreateBuilder()
                                        .SetUserID((uint)_identityid)
                                        .SetList(list)
                                        .SetRmb(rmb * 100)//将元单位转换为分的单位转给游戏服务器
                                        .SetRmbActual(rmb * 100)
                                        .SetFirstGif(firstGif)
                                        .SetBillNo(_transactionid)
                                        .Build();

                Bind tbind = Cmd.runClient(new Bind(BR_Cmd.BR_NORMAL, ServiceNormalS.ToByteArray()));
                switch ((CenterCmd)tbind.header.CommandID)
                {
                case CenterCmd.CS_NORMAL:


                    log.Info("CenterCmd.CS_NORMAL:");

                    normalRep ServiceNormalC = normalRep.ParseFrom(tbind.body.ToBytes());
                    log.Info(" AppStore ServiceResult : " + ServiceNormalC.Suc);
                    if (ServiceNormalC.Suc)
                    {
                        log.Info(" AppStore ServiceResult [" + _transactionid + "] : " + ServiceNormalC.Suc);

                        RechargeBLL.UpdateReachTime(_transactionid);
                        //RechargeCheckBLL.Delete(new RechargeCheck { SerialNo = rc.SerialNo });
                    }

                    //Response.Redirect("mobilecall://fail?suc=" + ServiceNormalC.Suc);
                    break;

                case CenterCmd.CS_CONNECT_ERROR:


                    log.Info(" CenterCmd.CS_CONNECT_ERROR:");


                    break;
                }


                log.Info(" AppStore Process Success[" + _transactionid + "]: " + Utils.GetUrl() + "?" + Core.CreateLinkStringUrlencode(queryvalues, Encoding.UTF8));

                return(Json(new
                {
                    result = 0,
                    productid = _productid,
                    transactionid = _transactionid,
                    isfirstrecharge = _isfirstrecharge
                }));


                //log.Error(" AppStore fail : q " + Utils.GetUrl() + Utils.CreateLinkStringUrlencode(queryvalues, Encoding.UTF8));
                //return Json(new { result = 10004, msg = "AppStore 服务器发货失败" });
            }
            catch (Exception err)
            {
                log.Error(" AppStore fail : q " + Utils.GetUrl() + Utils.CreateLinkStringUrlencode(queryvalues, Encoding.UTF8), err);
                return(Json(new { result = 10005, msg = "AppStore 服务器发货失败 err:" + err.Message }));
            }
        }
Пример #9
0
    public Serpente(uint nivel = 1)
    {
        normal caracC = new normal ();

        Nome = "Serpente";

        meusTipos = new String[2];
        meusTipos [0] = nomeTipos.Normal.ToString();
        meusTipos [1] = nomeTipos.Planta.ToString();

        for(int cnt = 0; cnt < contraTipos.Length; cnt++)
        {
            contraTipos[cnt] = new tipos();
            contraTipos[cnt].Nome = ((nomeTipos)cnt).ToString();
            contraTipos[cnt].Mod = caracC._caracTipo[cnt].Mod;
        }

        emissor = "esqueleto/centroReverso/r1/r2/r3/rabo";

        distanciaEmissora[nomesGolpes.furacaoDeFolhas] = 2.75f;
        distanciaEmissora[nomesGolpes.laminaDeFolha] = 0.75f;
        acimaDoChao[nomesGolpes.laminaDeFolha] = 0.45f;

        colisores[nomesGolpes.chicoteDeCalda] = new colisor("esqueleto/centroReverso/r1/r2/r3/rabo",
                                                  new Vector3(0,0f,0),
                                                  new Vector3(-0.093f,0.135f,-0.37f));
        colisores[nomesGolpes.tempestadeDeFolhas] = new colisor("esqueleto/centroReverso",
                                                            new Vector3(0,0f,0),
                                                            new Vector3(0,0,0));

        /*		*****************
         *
            personalizaçao das taxas de evoluçao individual do Criature
            a soma deve ser 1

            *********************
         *
         */

        cAtributos[0].Taxa = 0.19f;	//Pontos de Vida
        cAtributos[1].Taxa = 0.21f;	//pontos de Energia
        cAtributos[2].Taxa = 0.26f;	//pontos de Poder
        cAtributos[3].Taxa = 0.17f;	//pontos de Força
        cAtributos[4].Taxa = 0.17f;	//pontos de Defesa

        /***************************************************************************/

        apiceDoPulo = 1.5f;
        velocidadeNoAr = 1.9f;
        velocidadeCaindo = 3.75f;

        velocidadeAndando = 5.5f;

        distanciaFundamentadora = 0.2f;

        velocidadeDeRotacaoParado = 1.51f;
        velocidadeDeRotacao = 2f;

        //alturaCamera = 1.2f;
        //distanciaCamera = 4f;

        Golpes = golpesAtivos (nivel,listaGolpes);  incrementaNivel(nivel);

        listaDeGolpes = listaGolpes;
    }
Пример #10
0
    public Wisks(uint nivel = 1)
    {
        normal caracC = new normal ();

        Nome = "Wisks";

        meusTipos = new String[1];
        meusTipos [0] = nomeTipos.Normal.ToString();

        for(int cnt = 0; cnt < contraTipos.Length; cnt++)
        {
            contraTipos[cnt] = new tipos();
            contraTipos[cnt].Nome = ((nomeTipos)cnt).ToString();
            contraTipos[cnt].Mod = caracC._caracTipo[cnt].Mod;
        }

        emissor = "esqueleto/corpo_001/coluna/pescoco/cabeca";

        colisores[nomesGolpes.cabecada] = new colisor("esqueleto/corpo_001/coluna/pescoco/cabeca",
                                            new Vector3(0,3.48f,0),
                                            new Vector3(-0.644f,-0.495f,0.048f));
        colisores[nomesGolpes.tapa] = new colisor("esqueleto/corpo_001/coluna/anteBracoD/bracoD/maoD",
                                        new Vector3(0,0,0),
                                        new Vector3(-0.26f,-0,0));
        colisores[nomesGolpes.sobreSalto] = new colisor("esqueleto/corpo_001/",
                                              new Vector3(0,0,1.2f),
                                              new Vector3(-0.365f,0.113f,-0.325f));

        /*
        cAtributos [0].Maximo = 12;
        cAtributos [0].Corrente = 12;
        cAtributos [0].Basico = 3;
        */

        /*		*****************
         *
            personalizaçao das taas de evoluçao individual do Criature
            a soma deve ser 1

            *********************
         *
         */

        cAtributos[0].Taxa = 0.22f;	//Pontos de Vida
        cAtributos[1].Taxa = 0.18f;	//pontos de Energia
        cAtributos[2].Taxa = 0.26f;	//pontos de Poder
        cAtributos[3].Taxa = 0.17f;	//pontos de Força
        cAtributos[4].Taxa = 0.17f;	//pontos de Defesa

        /***************************************************************************/

        apiceDoPulo = 1.4f;
        velocidadeNoAr = 1.9f;
        velocidadeCaindo = 4.75f;

        velocidadeAndando = 5.5f;

        distanciaFundamentadora = 0.2f;

        velocidadeDeRotacaoParado = 1.51f;
        velocidadeDeRotacao = 2f;

        //alturaCamera = 1.2f;
        //distanciaCamera = 4f;

        Golpes = golpesAtivos (nivel,listaGolpes);  incrementaNivel(nivel);

        listaDeGolpes = listaGolpes;
    }
Пример #11
0
    public Serpente(uint nivel = 1)
    {
        normal caracC = new normal();

        Nome = "Serpente";

        meusTipos     = new String[2];
        meusTipos [0] = nomeTipos.Normal.ToString();
        meusTipos [1] = nomeTipos.Planta.ToString();

        for (int cnt = 0; cnt < contraTipos.Length; cnt++)
        {
            contraTipos[cnt]      = new tipos();
            contraTipos[cnt].Nome = ((nomeTipos)cnt).ToString();
            contraTipos[cnt].Mod  = caracC._caracTipo[cnt].Mod;
        }



        emissor = "esqueleto/centroReverso/r1/r2/r3/rabo";

        distanciaEmissora[nomesGolpes.furacaoDeFolhas] = 2.75f;
        distanciaEmissora[nomesGolpes.laminaDeFolha]   = 0.75f;
        acimaDoChao[nomesGolpes.laminaDeFolha]         = 0.45f;



        colisores[nomesGolpes.chicoteDeCalda] = new colisor("esqueleto/centroReverso/r1/r2/r3/rabo",
                                                            new Vector3(0, 0f, 0),
                                                            new Vector3(-0.093f, 0.135f, -0.37f));
        colisores[nomesGolpes.tempestadeDeFolhas] = new colisor("esqueleto/centroReverso",
                                                                new Vector3(0, 0f, 0),
                                                                new Vector3(0, 0, 0));



        /*		*****************
         *
         *      personalizaçao das taxas de evoluçao individual do Criature
         *      a soma deve ser 1
         *
         *********************
         *
         */


        cAtributos[0].Taxa = 0.19f;             //Pontos de Vida
        cAtributos[1].Taxa = 0.21f;             //pontos de Energia
        cAtributos[2].Taxa = 0.26f;             //pontos de Poder
        cAtributos[3].Taxa = 0.17f;             //pontos de Força
        cAtributos[4].Taxa = 0.17f;             //pontos de Defesa


        /***************************************************************************/

        apiceDoPulo      = 1.5f;
        velocidadeNoAr   = 1.9f;
        velocidadeCaindo = 3.75f;

        velocidadeAndando = 5.5f;

        distanciaFundamentadora = 0.2f;

        velocidadeDeRotacaoParado = 1.51f;
        velocidadeDeRotacao       = 2f;

        //alturaCamera = 1.2f;
        //distanciaCamera = 4f;

        Golpes = golpesAtivos(nivel, listaGolpes);  incrementaNivel(nivel);

        listaDeGolpes = listaGolpes;
    }
Пример #12
0
    public void OverwritePolygon(normal n, GameObject objWithMesh)
    {
        Mesh mesh = objWithMesh.GetComponent <MeshFilter>().mesh;

        OverwritePolygon(n, mesh, objWithMesh.GetComponent <MeshCollider>());
    }