Example #1
0
        public AdapterResultType Dispatch(Session s, string arg)
        {
            AdapterResultType result = AdapterResultType.Progress;

            switch (state)
            {
            case AuthPromptState.Ready:
                if (arg == "손님")
                {
                    s.Send("만드실 계정을 입력하세요 : ");
                    state = AuthPromptState.CreateAccount;
                }
                else
                {
                    s.Send("비밀번호를 입력하세요 : ");
                    cmd.Add(state, arg);
                    state = AuthPromptState.Password;
                }
                break;

            case AuthPromptState.CreateAccount:
                cmd.Add(state, arg);
                s.Send("비밀번호를 입력하세요: ");
                state = AuthPromptState.MakePassword;
                break;

            case AuthPromptState.MakePassword:
                cmd.Add(state, arg);
                s.Send("비밀번호를 다시 입력하세요: ");
                state = AuthPromptState.MakePassword2;
                break;

            case AuthPromptState.MakePassword2:
                cmd.Add(state, arg);
                state = AuthPromptState.End;
                CreateAccount(s);
                break;

            case AuthPromptState.Password:
                cmd.Add(state, arg);
                state = AuthPromptState.End;
                if (Login(s))
                {
                    result = AdapterResultType.Next;
                }

                break;
            }

            return(result);
        }
Example #2
0
        private void SessionPacket(Session s, string arg)
        {
            IPrompt           prompt = (IPrompt)s.tag;
            AdapterResultType result = prompt.Dispatch(s, arg);

            if (result == AdapterResultType.Next)
            {
                switch (GetPromptType(prompt))
                {
                case PromptType.Auth:
                    s.tag = new GamePrompt(owner, zone, s);
                    break;

                case PromptType.Game:
                    break;
                }
            }
        }