示例#1
0
        protected internal override void Enter()
        {
            Task.Run(async() =>
            {
                ConsoleWriter.Prompt("Input [account type] > ");
                var accounttype = await InputPrompt.Create();

                ConsoleWriter.Prompt("Input [account] > ");
                var account = await InputPrompt.Create();

                ConsoleWriter.Prompt("Input [password] > ");
                var password = await InputPassPrompt.Create();


                var accountType = evolib.Account.Type.Dev1;
                var authToken   = "";
                if (accounttype == "inky")
                {
                    accountType     = evolib.Account.Type.Inky;
                    var accessToken = "";

                    {
                        var requester              = new evolib.Multiplatform.Inky.Login3();
                        requester.request.email    = account;
                        requester.request.password = password;
                        var response = await requester.PostAsync();
                        if (response.StatusCode == System.Net.HttpStatusCode.OK)
                        {
                            accessToken = response.Payload.data.access_token;
                        }
                    }
                    if (!string.IsNullOrEmpty(accessToken))
                    {
                        var requester = new evolib.Multiplatform.Inky.LoginTemp();
                        var response  = await requester.PostAsync(accessToken);
                        if (response.StatusCode == System.Net.HttpStatusCode.OK)
                        {
                            authToken = response.Payload.data.access_token;
                        }
                    }
                }

                var handShakeKeeper
                    = await HandShakeKeeper.CreateAsync(account, password,
                                                        authToken, accountType);

                if (handShakeKeeper != null)
                {
                    ConsoleWriter.Action("session keepon.");
                    ConsoleWriter.Info($"Bearer {handShakeKeeper.Token}");
                    ConsoleWriter.Prompt("<Press [Enter] key to exit>");
                    await InputPrompt.Create();

                    await handShakeKeeper.CancelAsync();
                }


                StateMachine.SendEvent(Main.EventTrigger.Next);
            });
        }
示例#2
0
        protected internal override void Enter()
        {
            Task.Run(async() =>
            {
                ConsoleWriter.Prompt("Input [your account] > ");
                var account = await InputPrompt.Create();


                ConsoleWriter.Prompt("Input [your password] > ");
                var password = await InputPassPrompt.Create();


                ConsoleWriter.Action("Login...");

                var login = new EvoApiRequester <
                    evoapi.ProtocolModels.Auth.Login.Request,
                    evoapi.ProtocolModels.Auth.Login.Response>();

                login.request.account        = account;
                login.request.password       = password;
                login.request.packageVersion = new int[] { 99, };
                var resLogin = await login.PostAsync();

                if (resLogin.StatusCode != System.Net.HttpStatusCode.OK ||
                    resLogin.Payload.playerId == 0)
                {
                    ConsoleWriter.Error("Login is failed.");
                    StateMachine.SendEvent(Main.EventTrigger.Continue);
                    return;
                }

                if (0 == (resLogin.Payload.initialLevel
                          & evolib.PlayerInformation.InitialLevelFlg.Name))
                {
                    ConsoleWriter.Error("Player has no name.");
                    StateMachine.SendEvent(Main.EventTrigger.Continue);
                    return;
                }

                GlobalSettings.MyAccount  = account;
                GlobalSettings.MyPassword = password;
                GlobalSettings.MyPlayerId = resLogin.Payload.playerId;
                StateMachine.SendEvent(Main.EventTrigger.Next);
                ConsoleWriter.Succeeded("ok.");
            });
        }