Esempio n. 1
0
        /// <summary>
        /// ログインリクエスト受信
        /// </summary>
        /// <param name="Stream">ストリーム</param>
        /// <returns>結果パケット</returns>
        private IPacket OnRecvLogInRequest(IDictionaryStream Stream)
        {
            PacketLogInRequest Request = new PacketLogInRequest();

            Request.Serialize(Stream);

            Parent.SetNextState(new GameStatePreActive(Parent));

            // 今のところ問答無用
            PacketLogInResult Result = new PacketLogInResult();

            return(Result);
        }
Esempio n. 2
0
 void Awake()
 {
     GameServerConnection.PacketMethods[PacketID.LogInResult] = (Stream) =>
     {
         PacketLogInResult Result = new PacketLogInResult();
         Result.Serialize(Stream);
         if (Result.Result != (byte)PacketLogInResult.ResultCode.Success)
         {
             LogInFailedSubject.OnNext((PacketLogInResult.ResultCode)Result.Result);
             return;
         }
         Character.Player.PlayerData.PlayerId = Result.CharacterId;
         LogInSuccessSubject.OnNext(Unit.Default);
     };
 }
        void Awake()
        {
            UIManager.Instance.Show<TitleScreen>("TitleScreen").Instance.OnLogInButtonPressed
                .Subscribe(_ =>
                {
                    NetworkCore.Instance.Connect();
                }).AddTo(gameObject);

            NetworkCore.Instance.OnNetworkStatusChanged
                .Where((Code) => Code == StatusCode.Connect)
                .Subscribe((_) =>
                {
                    NetworkCore.Instance.SendRequest(new PacketLogInRequest(), EPacketID.LogInResult, (Stream) =>
                    {
                        var Packet = new PacketLogInResult();
                        Packet.Serialize(Stream);
                        // 今のところ問答無用でログイン成功
                        Debug.Log("ログイン成功");
                        SceneManager.LoadScene("Game");
                    });
                }).AddTo(gameObject);
        }