private void OnRoleOperation_LogOnGameServerReturn(byte[] buffer) { RoleOperation_LogOnGameServerReturnProto proto = RoleOperation_LogOnGameServerReturnProto.GetProto(buffer); Debug.Log(proto.ProtoEnName + " " + proto.ProtoCode); Debug.Log(proto); }
public static void OnRoleOperation_LogOnGameServerReturn(byte[] buffer) { RoleOperation_LogOnGameServerReturnProto proto = RoleOperation_LogOnGameServerReturnProto.GetProto(buffer); #if DEBUG_LOG_PROTO Debug.Log("<color=#00eaff>接收消息:</color><color=#00ff9c>" + proto.ProtoEnName + " " + proto.ProtoCode + "</color>"); Debug.Log("<color=#c5e1dc>==>>" + JsonUtility.ToJson(proto) + "</color>"); #endif }
/// <summary> /// 登录服务器协议回调 /// </summary> /// <param name="p"></param> private void OnLogOnGameServerReturnProto(byte[] p) { RoleOperation_LogOnGameServerReturnProto proto = RoleOperation_LogOnGameServerReturnProto.ToPoto(p); m_RoleItemList = proto.Roles; if (proto.RoleCount > 0) { ShowSelectRoleView(); } else { ShowCreateRoleView(); } }
/// <summary> /// 当我们登录游戏区服 服务器给我们返回的角色需要的数据信息 /// </summary> /// <param name="p"></param> private void OnLogOnGameServerReturn(byte[] p) { RoleOperation_LogOnGameServerReturnProto proto = RoleOperation_LogOnGameServerReturnProto.GetProto(p); int roleCount = proto.RoleCount; AppDebug.Log("roleCount =" + roleCount); if (proto.RoleList != null && proto.RoleList.Count > 0) { m_roleList = proto.RoleList; } //玩家还没创建过角色 if (roleCount == 0) { m_bIsCreateRole = true; //新建角色 CloneCreateRole(); //初始化的时候 职业id为1 m_currentJobId = 1; //游戏一启动就随机一个名字 m_uiSceneSelectRoleView.RandomRoleName(); } else { m_bIsCreateRole = false; //玩家有角色了 //隐藏创建角色相关UI m_uiSceneSelectRoleView.SetUICreateRoleShow(false); SetCreateRoleSceneModelShow(false); if (proto.RoleList != null && proto.RoleList.Count > 0) { m_uiSceneSelectRoleView.SetRoleList(proto.RoleList, OnSelectRoleCallback); } if (proto.RoleList.Count >= 1) { //默认第一次显示第一个角色 SetSelectRole(m_roleList[0].RoleId); } } }
public static RoleOperation_LogOnGameServerReturnProto ToPoto(byte[] buffer) { RoleOperation_LogOnGameServerReturnProto proto = new RoleOperation_LogOnGameServerReturnProto(); using (MMO_MemoryStream ms = new MMO_MemoryStream(buffer)) { proto.RoleCount = ms.ReadInt(); for (int i = 0; i < proto.RoleCount; i++) { RoleItem item = new RoleItem(); item.RoleId = ms.ReadInt(); item.NickName = ms.ReadUTF8String(); item.Level = ms.ReadInt(); item.RoleJob = (byte)ms.ReadByte(); proto.Roles.Add(item); } return(proto); } }
public static RoleOperation_LogOnGameServerReturnProto GetProto(byte[] buffer) { RoleOperation_LogOnGameServerReturnProto proto = new RoleOperation_LogOnGameServerReturnProto(); using (MMO_MemoryStream ms = new MMO_MemoryStream(buffer)) { proto.RoleCount = ms.ReadInt(); proto.RoleList = new List <RoleItem>(); for (int i = 0; i < proto.RoleCount; i++) { RoleItem _Role = new RoleItem(); _Role.RoleId = ms.ReadInt(); _Role.RoleNickName = ms.ReadUTF8String(); _Role.RoleJob = (byte)ms.ReadByte(); _Role.RoleLevel = ms.ReadInt(); proto.RoleList.Add(_Role); } } return(proto); }
public static void OnRoleOperation_LogOnGameServerReturn(byte[] buffer) { RoleOperation_LogOnGameServerReturnProto proto = RoleOperation_LogOnGameServerReturnProto.GetProto(buffer); #if DEBUG_LOG_PROTO Debug.Log("<color=#00eaff>接收消息:</color><color=#00ff9c>" + proto.ProtoEnName + " " + proto.ProtoCode + "</color>"); Debug.Log("<color=#c5e1dc>==>>" + JsonUtility.ToJson(proto) + "</color>"); #endif GameEntry.Data.UserData.RoleLists.Clear(); int roleCount = proto.RoleCount; for (int i = 0; i < roleCount; i++) { RoleItem roleItem = new RoleItem(); roleItem.RoleId = proto.RoleList[i].RoleId; roleItem.RoleJob = proto.RoleList[i].RoleJob; roleItem.RoleLevel = proto.RoleList[i].RoleLevel; roleItem.RoleNickName = proto.RoleList[i].RoleNickName; GameEntry.Data.UserData.RoleLists.Add(roleItem); } GameEntry.Event.CommonEvent.Dispatch(GameEntry.Socket.MainSocket, GameEntry.Pool.SpawnClassObject <LogOnGameServerReturnGameEvent>().Fill(roleCount)); }
public static RoleOperation_LogOnGameServerReturnProto GetProto(MMO_MemoryStream ms, byte[] buffer) { RoleOperation_LogOnGameServerReturnProto proto = new RoleOperation_LogOnGameServerReturnProto(); ms.SetLength(0); ms.Write(buffer, 0, buffer.Length); ms.Position = 0; proto.RoleCount = ms.ReadInt(); proto.RoleList = new List <RoleItem>(); for (int i = 0; i < proto.RoleCount; i++) { RoleItem _Role = new RoleItem(); _Role.RoleId = ms.ReadInt(); _Role.RoleNickName = ms.ReadUTF8String(); _Role.RoleJob = (byte)ms.ReadByte(); _Role.RoleLevel = ms.ReadInt(); proto.RoleList.Add(_Role); } return(proto); }
private void LogonGameServerReturn(Role role, int accountId) { RoleOperation_LogOnGameServerReturnProto retureProto = new RoleOperation_LogOnGameServerReturnProto(); List <RoleEntity> list = RoleCacheModel.Instance.GetList(condition: string.Format("{0}={1}", "[AccountId]", accountId)); if (list != null && list.Count > 0) { retureProto.RoleCount = list.Count; for (int i = 0; i < list.Count; i++) { RoleOperation_LogOnGameServerReturnProto.RoleItem item = new RoleOperation_LogOnGameServerReturnProto.RoleItem(); item.RoleId = list[i].Id.Value; item.NickName = list[i].NickName; item.Level = list[i].Level; item.RoleJob = (byte)list[i].JobId; retureProto.Roles.Add(item); } } else { retureProto.RoleCount = 0; } role.Client_Socket.SendMsg(retureProto.ToArray()); }
public static RoleOperation_LogOnGameServerReturnProto GetProto(byte[] buffer, bool isChild = false) { RoleOperation_LogOnGameServerReturnProto proto = new RoleOperation_LogOnGameServerReturnProto(); MMO_MemoryStream ms = null; if (!isChild) { ms = GameEntry.Socket.SocketSendMS; } else { ms = GameEntry.Pool.DequeueClassObject <MMO_MemoryStream>(); } ms.SetLength(0); ms.Write(buffer, 0, buffer.Length); ms.Position = 0; proto.RoleCount = ms.ReadInt(); proto.RoleList = new List <RoleItem>(); for (int i = 0; i < proto.RoleCount; i++) { RoleItem _Role = new RoleItem(); _Role.RoleId = ms.ReadInt(); _Role.RoleNickName = ms.ReadUTF8String(); _Role.RoleJob = (byte)ms.ReadByte(); _Role.RoleLevel = ms.ReadInt(); proto.RoleList.Add(_Role); } if (isChild) { GameEntry.Pool.EnqueueClassObject(ms); } return(proto); }