示例#1
0
        public void PlayerJoin(long guid, string name)
        {
            if (m_allPlayers.ContainsKey(guid))
            {
                HallManager.Instance.Print("Already Exist Player : " + guid);
            }
            else
            {
                Player player = new Player();
                player.level  = 1;
                player.guid   = guid;
                player.name   = name;
                player.radius = 0.5f;
                player.pos    = Vector3.zero;
                player.dir    = Vector3.zero;
                m_allPlayers.Add(guid, player);
            }

            List <Player> playerList = GetPlayerList();

            for (int i = playerList.Count - 1; i >= 0; i--)
            {
                Player player = playerList[i];
                if (player.guid != guid)
                {
                    SC_PlayerJoinOther snd = new SC_PlayerJoinOther();
                    snd.guid = player.guid;
                    snd.name = player.name;
                    SessionManager.Instance.SendTo(guid, snd);
                }
            }
            ActiveFoodPosSync();
        }
示例#2
0
        /*----------- Handles -----------*/
        void CS_LoginHandle(long guid, CS_Login msg)
        {
            SC_PlayerJoin snd = new SC_PlayerJoin();

            snd.bornPos   = MathHelper.RandomPos(15, 40);
            snd.bornPos.y = 10;
            snd.guid      = guid;
            snd.name      = msg.name;
            SessionManager.Instance.SendTo(guid, snd);

            SC_PlayerJoinOther snd2 = new SC_PlayerJoinOther();

            snd2.guid = guid;
            snd2.name = msg.name;
            SessionManager.Instance.SendToOthers(guid, snd2);

            HallManager.Instance.Print(guid + " ---> " + msg.name);
            EntryManager.Instance.PlayerJoin(guid, msg.name);
            FrameSyncManager.Instance.FrameAdd(guid, new FrameState(snd.bornPos, Vector3.zero));
        }