/// <summary> /// 服务器广播玩家进入消息 /// </summary> /// <param name="obj"></param> private void OnServerBroadcastEnter(byte[] obj) { Debug.Log("有人加入房间"); NN_ROOM_ENTER proto = NN_ROOM_ENTER.decode(obj); GameStateManager.Instance.EnterRoom(proto); }
/// <summary> /// 进入房间 /// </summary> /// <param name="pbSeat"></param> public void EnterRoom(NN_ROOM_ENTER proto) { NiuNiu.Seat seat = GetSeatBySeatPos(proto.pos); if (seat == null) { Debug.Log("新玩家进入房间,找不到对应座位"); } if (seat == null) { return; } seat.Avatar = proto.avatar; seat.PlayerId = proto.playerId; seat.IsReady = CurrentRoom.currentLoop == 0 ? false : true; seat.Nickname = proto.nickname; seat.Gender = proto.gender; seat.Gold = proto.gold; seat.IsBanker = proto.isBanker; if (proto.hasIsHomeowners()) { seat.IsHomeowners = proto.IsHomeowners; } seat.Pos = proto.pos; //纬度 if (proto.hasLatitude()) { seat.Latitude = proto.latitude; } //经度 if (proto.hasLongitude()) { seat.Longitude = proto.longitude; } Debug.Log(string.Format("新加入的玩家名字:{0} 服务器发送{1} ", seat.Nickname, proto.nickname)); AppDebug.Log(seat.Nickname + "进入房间"); PeopleCounting();//计算人数 //显示UI //TransferData data = new TransferData(); //data.SetValue("Seat", seat); //data.SetValue("RoomStatus", CurrentRoom.roomStatus); //SendNotification("AddJoinItemUI", data); // SetInteractionOnOff();//设置交互显影 SendRoomInfoChangeNotify(); }
/// <summary> /// 进入房间回调 服务器广播玩家进入消息 /// </summary> /// <param name="obj"></param> public void EnterRoom(NN_ROOM_ENTER proto) { if (proto.playerId == AccountProxy.Instance.CurrentAccountEntity.passportId) { return; } try { Debug.Log(string.Format("房间状态{0} 加入房间的玩家ID为:{1} Pos:{2}", NN_ENUM_ROOM_STATUS.IDLE.ToString(), proto.playerId, proto.pos)); RoomNiuNiuProxy.Instance.EnterRoom(proto); } catch (Exception e) { Debug.Log(e); } }