You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.4 KiB
66 lines
2.4 KiB
4 years ago
|
using AX.NetworkSystem;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using AX.Network.Protocols;
|
||
|
using System;
|
||
|
using UnityEngine.SceneManagement;
|
||
|
using AX.Serialization;
|
||
|
using UnityEngine.UI;
|
||
|
|
||
|
public class ROOM_ENTER_SYNC : NetworkMessageBehaviour
|
||
|
{
|
||
|
protected override void Execute(BinaryMessage message)
|
||
|
{
|
||
|
var info = message.Body.Deserialize<EnterRoomPair>();
|
||
|
|
||
|
if (info.UserData.UserInfo.Id == CurrentUserInfo.mySelf.Id)
|
||
|
{
|
||
|
NetworkManager.Default.SendAsync("LOBBY_LEAVE_SYNC", info);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (SceneManager.GetActiveScene().name != "Lobby")
|
||
|
{
|
||
|
CurrentUserInfo.room.UserList.Add(info.UserData);
|
||
|
|
||
|
//添加后来进入房间UI
|
||
|
if (GetComponent<MainPanel>())
|
||
|
{
|
||
|
List<UserData> newenter = new List<UserData>();
|
||
|
newenter.Add(info.UserData);
|
||
|
GetComponent<MainPanel>().CreatRoleItem(newenter);
|
||
|
GetComponent<MainPanel>().ShowNewRolePanel(info.UserData);
|
||
|
//更新房间人数显示
|
||
|
var roomUserNum = transform.parent.Find("RoomInfoPanel/Panel/RoonNum/Text");
|
||
|
roomUserNum.GetComponent<Text>().text = CurrentUserInfo.room.UserList.Count.ToString() + "/32";
|
||
|
}
|
||
|
#region 进入房间时添加进入频道提示消息
|
||
|
ChatChannel channel = new ChatChannel()
|
||
|
{
|
||
|
ID = 1,
|
||
|
RoomID = info.RoomId,
|
||
|
Users = new List<UserData>(),
|
||
|
EnterUserId = info.UserData.UserInfo.Id
|
||
|
};
|
||
|
ChatManager.Instance.JoinPublicChannel(channel);
|
||
|
#endregion
|
||
|
}
|
||
|
else//有人进入房间时 查找大厅中匹配的房间,将该用户加入到房间用户列表中
|
||
|
{
|
||
|
Transform RoomParentTrans = transform.Find("RoomParent/RoomList/Body/Viewport/Content");
|
||
|
foreach (Transform t in RoomParentTrans)
|
||
|
{
|
||
|
RoomManager r = t.GetComponent<RoomManager>();
|
||
|
if (r.MyRoom.Id == info.RoomId)
|
||
|
{
|
||
|
r.MyRoom.UserList.Add(info.UserData);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|