예제 #1
0
        public override Node GetNextNode()
        {
            foreach (var socket in OutputSocketList)
            {
                if (FollowMachine.CheckOutputLable(socket.Info))
                {
                    return(socket.GetNextNode());
                }
            }

            return(null);
        }
예제 #2
0
    public IEnumerator SendRandomCodeToPhoneNumber(string phoneNumber, bool forRegister)
    {
        // Check phone number

        if (phoneNumber.Length != 11 || phoneNumber[0] != '0')
        {
            FollowMachine.SetOutput("Invalid Phone Number");
            yield break;
        }

        // Save phone number for later use
        if (phoneNumber == _phoneNumber)
        {
            FollowMachine.SetOutput("Success");
            yield return(new WaitForSeconds(3));

            yield break;
        }


        // Generate random number
        GenerateRandomCode();

        // Ask server to send sms
        yield return(ServerController.Post <string>(
                         $@"Account/SendSms?phoneNumber={phoneNumber}&code={_generatedCode}&forRegister={forRegister}",
                         null,
                         // On success
                         respond =>
        {
            // Set error code base on respond
            FollowMachine.SetOutput(respond);
        },
                         // On ERROR !!!
                         request =>
        {
            // Set default error code to network error
            FollowMachine.SetOutput("Network Error");
        }));

        if (FollowMachine.CheckOutputLable("Success"))
        {
            _phoneNumber = phoneNumber;
            yield return(new WaitForSeconds(3));
        }
    }
예제 #3
0
    public IEnumerator RegisterPhoneNumber(string phoneNumber)
    {
        PlayerInfo playerInfo = Singleton.Instance.PlayerController.PlayerInfo;

        if (playerInfo == null)
        {
            FollowMachine.SetOutput("Fail");
            yield break;
        }

        var lastTelephone = playerInfo.Telephone;

        playerInfo.Telephone = phoneNumber;

        yield return(ServerController.Post <string>(
                         $@"PlayerInfo/Update?id={playerInfo.PlayerID}",
                         playerInfo,
                         // On Successfully connect to the account
                         respnse =>
        {
            FollowMachine.SetOutput(respnse);
        },
                         // On Error
                         request =>
        {
            // Network Error !!!!!
            if (request.isNetworkError)
            {
                FollowMachine.SetOutput("Network Error");
            }

            // Account recovery Error !!!!
            else if (request.isHttpError)
            {
                FollowMachine.SetOutput("Fail");
            }
        }));

        if (!FollowMachine.CheckOutputLable("Success"))
        {
            playerInfo.Telephone = lastTelephone;
        }
    }