예제 #1
0
        void _RPC_NotifyGameStart(IPEndPoint remote, byte[] bytes)
        {
            // Debuger.Log(LOG_TAG, "_RPC_NotifyGameStart()");
            FSPGameStartParam data = PBSerializer.Deserialize <FSPGameStartParam>(bytes);

            PVPStartParam startParam = new PVPStartParam();

            startParam.fspParam  = data.fspParam;
            startParam.gameParam = PBSerializer.Deserialize <GameParam>(data.customGameParam);

            for (int i = 0; i < data.players.Count; i++)
            {
                FSPPlayerData player = data.players[i];
                byte[]        buff   = player.customPlayerData;

                PlayerData pb = PBSerializer.Deserialize <PlayerData>(buff);
                pb.playerID = (int)player.id;
                pb.userID   = (uint)player.userId;
                pb.userName = player.name;
                pb.teamID   = (int)player.id;
                startParam.players.Add(pb);

                Debuger.Log(LOG_TAG, "_RPC_NotifyGameStart: {0}", pb.ToString());
            }

            // EventManager.Instance.SendEvent<PVPStartParam>("OnGameStart", startParam);
        }
예제 #2
0
    public override void UpdateItem(int index, object data)
    {
        FSPPlayerData player = data as FSPPlayerData;

        lab_PlayerInfo.text = string.Format("{0}-{1}", player.name, player.userId);

        lab_Ready.enabled = player.isReady;
    }
예제 #3
0
 public override void UpdateItem(int index, object data)
 {
     m_data = data as FSPPlayerData;
     if (m_data != null)
     {
         m_txtPlayerInfo.text = "[" + m_data.id + "] " + m_data.name + "(UID:" + m_data.userId + ") ";
         UIUtils.SetActive(m_ctlReady, m_data.isReady);
     }
 }
예제 #4
0
        void SetReady(uint userId, bool ready)
        {
            FSPPlayerData player = GetPlayerInfoByUserId(userId);

            if (player != null)
            {
                player.isReady = ready;
            }
        }
예제 #5
0
        private void AddPlayer(uint userId, string name, byte[] customPlayerData, IPEndPoint address)
        {
            FSPPlayerData data = GetPlayerInfoByUserId(userId);

            if (data == null)
            {
                data = new FSPPlayerData();
                m_data.players.Add(data);
                data.id  = (uint)m_data.players.Count;
                data.sid = data.id;
            }
            data.customPlayerData       = customPlayerData;
            data.isReady                = false;
            data.userId                 = userId;
            data.name                   = name;
            m_mapUserId2Address[userId] = address;
        }
예제 #6
0
        /// <summary>
        /// Raises the button test event.
        /// </summary>
        public void OnBtnTest()
        {
            List <FSPPlayerData> list = new List <FSPPlayerData> ();

            for (int i = 0; i < 20; ++i)
            {
                FSPPlayerData data = new FSPPlayerData();
                data.name    = "名字";
                data.id      = (uint)i + 1;
                data.userId  = (uint)SGFRandom.Default.Range(100000, 999999);
                data.sid     = data.id;
                data.isReady = SGFRandom.Default.Rnd() > 0.5f;
                list.Add(data);
            }

            ctlRoomPlayerList.SetData(list);
        }
예제 #7
0
        void AddPlayer(IPEndPoint remote, uint userId, string name, byte[] customPlayerData)
        {
            FSPPlayerData player = GetPlayerInfoByUserId(userId);

            if (player == null)
            {
                player = new FSPPlayerData();
                m_data.players.Add(player);

                player.id  = (uint)m_data.players.Count;
                player.sid = player.id;
            }

            player.userId           = userId;
            player.name             = name;
            player.customPlayerData = customPlayerData;

            // 刚进来不准备
            player.isReady = false;

            m_mapUserId2Address[userId] = remote;
        }