Esempio n. 1
0
        public void Enter(ClientSession session)
        {
            // 플레이어 추가하고
            _sessions.Add(session);
            session.Room = this;

            // 신입에게 모든 플레이어 목록 전송
            S_PlayerList players = new S_PlayerList();

            foreach (var s in _sessions)
            {
                players.players.Add(new S_PlayerList.Player()
                {
                    isSelf   = (session == s),
                    palyerId = s.SessionId,
                    posX     = s.PosX,
                    posY     = s.PosY,
                    posZ     = s.PosZ,
                });
            }
            session.Send(players.Write());

            // 신입 입장을 모두에게 알림
            S_BroadcastEnterGame enter = new S_BroadcastEnterGame();

            enter.playerId = session.SessionId;
            enter.posX     = 0.0f;
            enter.posY     = 0.0f;
            enter.posZ     = 0.0f;
            Broadcast(enter.Write());
        }
        public void Enter(ClientSession session)
        {
            // 플레이어 추가

            _sessions.Add(session);
            session.Room = this;

            // 신규 플레이어에게 모든 플레이어 목록을 전송합니다.
            S_PlayerList players = new S_PlayerList();

            foreach (ClientSession s in _sessions)
            {
                players.players.Add(new S_PlayerList.Player()
                {
                    isSelf   = (s == session),
                    playerId = s.SessionId,
                    posX     = s.PosX,
                    posY     = s.PosY,
                    posZ     = s.PosZ,
                });
            }
            session.Send(players.Write());


            // 모든 플레이어 목록을 전송합니다.
            S_BroadcastEnterGame enterGame = new S_BroadcastEnterGame();

            enterGame.playerId = session.SessionId;
            enterGame.posX     = 0;
            enterGame.posY     = 0;
            enterGame.posZ     = 0;

            BroadCast(enterGame.Write());
        }