Beispiel #1
0
    /// <summary>
    /// 他人进入的广播处理
    /// </summary>
    /// <param name="newUser"></param>
    private void enterBro(UserDto newUser)
    {
        //fix bug
        ////发消息 显示玩家的状态面板所有游戏物体
        //Dispatch(AreaCode.UI, UIEvent.PLAYER_ENTER, newUser.Id);

        //更新房间数据
        MatchRoomDto room = Models.GameModel.MatchRoomDto;

        room.Add(newUser);
        resetPosition();

        //给UI绑定数据
        if (room.LeftId != -1)
        {
            UserDto leftUserDto = room.UIdUserDict[room.LeftId];
            Dispatch(AreaCode.UI, UIEvent.SET_LEFT_PLAYER_DATA, leftUserDto);
        }
        if (room.RightId != -1)
        {
            UserDto rightUserDto = room.UIdUserDict[room.RightId];
            Dispatch(AreaCode.UI, UIEvent.SET_RIGHT_PLAYER_DATA, rightUserDto);
        }

        //发消息 显示玩家的状态面板所有游戏物体
        Dispatch(AreaCode.UI, UIEvent.PLAYER_ENTER, newUser.Id);

        //给用户一个提示
        promptMsg.Change("有新玩家 ( " + newUser.Name + " )进入", UnityEngine.Color.blue);
        Dispatch(AreaCode.UI, UIEvent.PROMPT_MSG, promptMsg);
    }
    /// <summary>
    /// 他人进入的的处理
    /// </summary>
    private void EnterBroadcast(UserDto newUser)
    {
        MatchRoomDto room = Model.gameModel.matchRoomDto;

        //更新房间数据
        room.Add(newUser);
        //重置玩家位置
        //显示现在房间内的玩家
        ResetPositon();
        if (room.leftId != -1)
        {
            UserDto leftDto = room.uIdUserDtoDict[room.leftId];
            Dispatch(AreaCode.UI, UIEvent.SET_LEFT_PLAYER_DATA, leftDto);
        }
        if (room.rightId != -1)
        {
            UserDto rightDto = room.uIdUserDtoDict[room.rightId];
            Dispatch(AreaCode.UI, UIEvent.SET_RIGHT_PLAYER_DATA, rightDto);
        }
        //发消息  打开玩家状态面板所有物体
        Dispatch(AreaCode.UI, UIEvent.PLAYER_ENTER, newUser.id);

        //告诉用户玩家进入
        msg.ChangeText(newUser.name + "进入了游戏", Color.yellow);
        Dispatch(AreaCode.UI, UIEvent.PROMPTA_ANIM, msg);
    }
Beispiel #3
0
 /// <summary>
 /// 创建房间数据传输对象
 /// </summary>
 /// <param name="matchRoom"></param>
 /// <param name="roomDto"></param>
 private void makeRoomdto(MatchRoom matchRoom, out MatchRoomDto roomDto)
 {
     roomDto = new MatchRoomDto();
     foreach (var uid in matchRoom.UidClientpeerDic.Keys)
     {
         UserModel userModel = UserCache.Instance.GetModelByClientPeer(matchRoom.UidClientpeerDic[uid]);
         UserDto   userDto   = new UserDto(userModel.Id, userModel.Name, userModel.Money, userModel.WinCount, userModel.LoseCount, userModel.RunCount, userModel.Lv, userModel.Exp);
         //roomDto.UidUdtoDic.Add(uid, userDto);
         roomDto.Add(uid, userDto);
     }
     roomDto.ReadyUidlist = matchRoom.ReadyUidlist;
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="room"></param>
        /// <returns></returns>
        private MatchRoomDto MakeRoomDto(MatchRoom room)
        {
            MatchRoomDto roomDto = new MatchRoomDto(room.id);

            roomDto.readyUidList = room.readyUidList;
            //给roomDto中的所有玩家信息字典 赋值
            foreach (var id in room.uidList)
            {
                UserModel model   = user.GetModelById(id);
                UserDto   userDto = new UserDto();
                userDto.Set("", model.id, model.name, model.beens, model.winCount, model.loseCount, model.runCount, model.lv, model.exp);

                roomDto.Add(userDto);
            }
            return(roomDto);
        }
Beispiel #5
0
    /// <summary>
    /// other palyer enter room
    /// </summary>
    /// <param name="newUser"></param>
    ///
    private void enterBro(UserDto newUser)
    {
        //update room data
        MatchRoomDto room = Models.GameModel.MatchRoomDto;

        room.Add(newUser);
        resetPosition();

        if (room.LeftId != -1)
        {
            UserDto leftUserDto = room.UserIdUserDtoDict[room.LeftId];
            Dispatch(AreaCode.UI, UIEvent.SET_LEFT_PLAYER_DATA, leftUserDto);
        }
        if (room.RightId != -1)
        {
            UserDto rightUserDto = room.UserIdUserDtoDict[room.RightId];
            Dispatch(AreaCode.UI, UIEvent.SET_RIGHT_PLAYER_DATA, rightUserDto);
        }
        Dispatch(AreaCode.UI, UIEvent.PLAYER_ENTER, newUser.Id);
    }