示例#1
0
    public static void S_PlayerListHandler(PacketSession session, IPacket packet)
    {
        S_PlayerList  pkt           = packet as S_PlayerList;
        ServerSession serverSession = session as ServerSession;

        PlayerManager.Instance.Add(pkt);
    }
        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());
        }
示例#3
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());
        }
示例#4
0
    public void Add(S_PlayerList packet)
    {
        Object obj = Resources.Load("Player");

        foreach (S_PlayerList.Player p in packet.players)
        {
            GameObject go = Object.Instantiate(obj) as GameObject;

            if (p.isSelf)
            {
                // 자신
                MyPlayer myPlayer = go.AddComponent <MyPlayer>();
                myPlayer.PlayerId           = p.playerId;
                myPlayer.transform.position = new Vector3(p.posX, p.posY, p.posZ);
                _myPlayer = myPlayer;
            }
            else
            {
                // 그 외
                Player player = go.AddComponent <Player>();
                player.PlayerId           = p.playerId;
                player.transform.position = new Vector3(p.posX, p.posY, p.posZ);
                _players.Add(p.playerId, player);
            }
        }
    }
示例#5
0
 public static void S_PlayerListHandler(PacketSession session, IPacket packet)
 {
     S_PlayerList  pkt           = packet as S_PlayerList;
     ServerSession serverSession = session as ServerSession;
 }