Ejemplo n.º 1
0
        // 登陆请求的处理的代码
        void OnLoginReceived(Client peer, OperationRequest operationRequest, SendParameters sendParameters)
        {
            //根据发送过来的请求获得用户名和密码
            byte[]             bytes    = DictTool.GetValue <byte, object>(operationRequest.Parameters, 1) as byte[];
            ProtoData.LoginC2S loginC2S = BinSerializer.DeSerialize <ProtoData.LoginC2S>(bytes);

            //连接数据库进行校验
            UserManager       manager   = new UserManager();
            bool              isSuccess = manager.VerifyUser(loginC2S.username, loginC2S.password);
            OperationResponse response  = new OperationResponse(operationRequest.OperationCode);

            //如果验证成功,把成功的结果利用response.ReturnCode返回成功给客户端
            if (isSuccess)
            {
                response.ReturnCode      = (short)ReturnCode.Success;
                peer.playerData.username = loginC2S.username;
            }
            else//否则返回失败给客户端
            {
                response.ReturnCode = (short)ReturnCode.Failed;
            }

            ProtoData.LoginS2C loginS2C = new ProtoData.LoginS2C();
            loginS2C.username   = loginC2S.username;
            response.Parameters = new Dictionary <byte, object>();
            response.Parameters.Add(1, BinSerializer.Serialize(loginS2C));
            //把上面的回应给客户端
            peer.SendOperationResponse(response, sendParameters);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 收到登录消息
        /// </summary>
        void OnLoginReceived(OperationResponse response)
        {
            ReturnCode returnCode = (ReturnCode)response.ReturnCode;

            if (returnCode == ReturnCode.Success)
            {
                Debug.LogError("用户名和密码验证成功");

                byte[] bytes = DictTool.GetValue <byte, object>(response.Parameters, 1) as byte[];

                ProtoData.LoginS2C loginS2C = BinSerializer.DeSerialize <ProtoData.LoginS2C>(bytes);
                PhotonEngine.username = loginS2C.username;
                Debug.Log(PhotonEngine.username);
                //验证成功,跳转到下一个场景
                UnityEngine.SceneManagement.SceneManager.LoadScene(1);
            }
            else if (returnCode == ReturnCode.Failed)
            {
                Debug.LogError("用户名或密码错误");
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 收到登录消息
        /// </summary>
        void OnLoginReceived(OperationResponse response)
        {
            ReturnCode returnCode = (ReturnCode)response.ReturnCode;

            if (returnCode == ReturnCode.Success)
            {
                LoginHintTextUI.Instance.SetText("用户名和密码验证成功", Color.green);
                Debug.LogError("用户名和密码验证成功");

                byte[] bytes = DictTool.GetValue <byte, object>(response.Parameters, 1) as byte[];

                ProtoData.LoginS2C loginS2C = BinSerializer.DeSerialize <ProtoData.LoginS2C>(bytes);
                GlobleHeroData.username = loginS2C.username;
                //验证成功,跳转到下一个场景
                SceneMgr.LoadScene(SceneType.ChooseScene);
            }
            else if (returnCode == ReturnCode.Failed)
            {
                LoginHintTextUI.Instance.SetText("用户名或密码错误", Color.red);
                Debug.LogError("用户名或密码错误");
            }
        }