Beispiel #1
0
        public async Task ChooseCharacterOnLogon(S_LOGIN_ACCOUNT_INFO packet)
        {
            await Client.Send(new C_GET_USER_LIST());

            var userListPacket = await Dispatcher.Next <S_GET_USER_LIST>();

            var charName   = Configuration.CharacterName;
            var chosenUser = userListPacket.Users.SingleOrDefault(user => user.Name == charName);

            if (chosenUser == null)
            {
                throw new MyTeraException($"There is no character named {charName}.");
            }
            await Client.Send(new C_SELECT_USER { UserId = chosenUser.Id });
        }
Beispiel #2
0
        public static void AuthorizeLogin(Connection connection, string accountName, string ticket, int language)
        {
            Account account = DAOManager.AccountDao.LoadAccount(accountName, ticket);

            if (account != null)
            {
                connection.Account = account;
            }
            S_LOADING_SCREEN_CONTROL_INFO sLoadingScreenControlInfo = new S_LOADING_SCREEN_CONTROL_INFO();

            sLoadingScreenControlInfo.Send(connection);
            S_REMAIN_PLAY_TIME sRemainPlayTime = new S_REMAIN_PLAY_TIME();

            sRemainPlayTime.Send(connection);
            S_LOGIN_ARBITER s_login_arbiter = new S_LOGIN_ARBITER(language, ((account != null) ? true: false));

            s_login_arbiter.Send(connection);
            S_LOGIN_ACCOUNT_INFO s_login_account_info = new S_LOGIN_ACCOUNT_INFO();

            s_login_account_info.Send(connection);
        }