Ejemplo n.º 1
0
    /// <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);
    }
Ejemplo n.º 2
0
        /// <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();
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }