using System;
using TEngine;
using TEngine.Core;
using TEngine.Core.Network;
using UnityEngine;
namespace GameLogic
{
///
/// 玩家信息网络模块。
///
public class PlayerNetSys:DataCenterModule
{
///
/// 网络模块初始化。
///
public override void Init()
{
base.Init();
//注册登录消息回调。
GameClient.Instance.RegisterMsgHandler(OuterOpcode.H_G2C_LoginResponse,OnLoginRes);
//注册注册账号消息回调。
GameClient.Instance.RegisterMsgHandler(OuterOpcode.H_G2C_RegisterResponse,OnRegisterRes);
}
#region Login
///
/// 登录消息回调。
///
/// 网络回复消息包。
public void OnLoginRes(IResponse response)
{
if (NetworkUtils.CheckError(response))
{
Debug.Log("登录失败!");
GameClient.Instance.Status = GameClientStatus.StatusConnected;
return;
}
H_G2C_LoginResponse ret = (H_G2C_LoginResponse)response;
Log.Debug(ret.ToJson());
GameClient.Instance.Status = GameClientStatus.StatusEnter;
}
///
/// 登录消息请求。
///
/// 用户名。
/// 用户密码。
public void DoLoginReq(string userName,string passWord)
{
if (GameClient.Instance.Status == GameClientStatus.StatusEnter)
{
Log.Info("当前已经登录成功。");
return;
}
H_C2G_LoginRequest loginRequest =new H_C2G_LoginRequest()
{
UserName = userName,
Password = passWord
};
GameClient.Instance.Send(loginRequest);
GameClient.Instance.Status = GameClientStatus.StatusLogin;
}
#endregion
#region Register
///
/// 注册消息回调。
///
/// 网络回复消息包。
public void OnRegisterRes(IResponse response)
{
if (NetworkUtils.CheckError(response))
{
return;
}
H_G2C_RegisterResponse ret = (H_G2C_RegisterResponse)response;
Log.Debug(ret.ToJson());
}
///
/// 注册消息请求。
///
/// 用户名。
/// 用户密码。
public void DoRegisterReq(string userName,string passWord)
{
H_C2G_RegisterRequest registerQuest =new H_C2G_RegisterRequest()
{
UserName = userName,
Password = passWord
};
GameClient.Instance.Send(registerQuest);
}
#endregion
}
}