void NotifyRoomAddPlayer(byte[] data) { NotifyRoomAddPlayer addPlayerInfo = ProtoBufUtils.Deserialize <NotifyRoomAddPlayer>(data); texPlayerNames[playerCount].text = addPlayerInfo.NewPlayer.Name; playerIDs[playerCount] = addPlayerInfo.NewPlayer.UserID; ++playerCount; }
public bool AddPlayer(Player player) { if (mPlayers.Count >= mMaxCount) { return(true); } mPlayers.Add(player); mNotReady.Add(player); player.mRoom = this; NotifyRoomAddPlayer addPlayer = new NotifyRoomAddPlayer(); addPlayer.NewPlayer = new RoomPlayerInfo(); addPlayer.NewPlayer.UserID = player.mUserID; addPlayer.NewPlayer.Name = player.mPlayerInfo.NickName; addPlayer.NewPlayer.Portrait = null; NotifyRoomInfo roomInfo = new NotifyRoomInfo(); roomInfo.Players = new List <RoomPlayerInfo>(); for (int i = 0; i < mPlayers.Count; ++i) { Player p = mPlayers[i]; RoomPlayerInfo playerInfo = new RoomPlayerInfo(); playerInfo.UserID = p.mUserID; playerInfo.Name = p.mPlayerInfo.NickName; playerInfo.Portrait = null; roomInfo.Players.Add(playerInfo); } float life = Time.ElapsedSeconds - mStartTime; roomInfo.RestTime = mTime - life; for (int i = 0; i < mPlayers.Count; ++i) { Player p = mPlayers[i]; if (p == player) { // 如果添加的玩家是自己,则通知自己所有角色数据; NetWork.NotifyMessage <NotifyRoomInfo>(p.mUserID, STC.STC_RoomInfo, roomInfo); } else { // 如果添加的玩家不是自己,则把添加的玩家数据通知自己; NetWork.NotifyMessage <NotifyRoomAddPlayer>(p.mUserID, STC.STC_RoomAddPlayer, addPlayer); } } return(mPlayers.Count >= mMaxCount); }