Exemplo n.º 1
0
    private void Update()
    {
        if (nextUpdate > Time.time)
        {
            return;
        }

        nextUpdate = Time.time + 2;

        int mCount = maps.Count;

        if (mInfo == null)
        {
            mInfo         = new MObjects.MapInfo();
            mInfo.langId  = new int[mCount];
            mInfo.players = new int[mCount];

            for (int i = 0; i < mCount; i++)
            {
                mInfo.langId[i] = maps[i].clientLanguageId;
            }
        }

        for (int i = 0; i < mCount; i++)
        {
            // update player count
            mInfo.players[i] = ServerManager.sessions.FindAll(x => x.map == i).Count;
        }

        int uCount = NetworkServer.connections.Count;

        NetworkServer.SendToAll(MTypes.MapInfo, mInfo);
    }
Exemplo n.º 2
0
    public void OnMapInfo(NetworkMessage netMsg)
    {
        MObjects.MapInfo mObject = netMsg.ReadMessage <MObjects.MapInfo>();

        int iCount = mObject.langId.Length;

        for (int i = 0; i < iCount; i++)
        {
            string    iS = i.ToString();
            Transform tt = mapHolder.Find(iS);
            if (tt == null)
            {
                tt      = Instantiate(mapPrefab, mapHolder);
                tt.name = iS;
                tt.Find("Text").GetComponent <Text>().text = Language.GetText(mObject.langId[i]);
            }

            tt.Find("online").GetComponent <Text>().text = mObject.players[i].ToString();
            tt.GetComponent <UIMapItem>().online         = mObject.players[i];
        }

        if (!mapsReceived)
        {
            mapsReceived = true;

            /*
             * MAPS ORDER BY
             * */

            UIMapItem.list = UIMapItem.list.OrderByDescending(x => x.online).ToList();
            int f = UIMapItem.list.Count;
            for (int i = 0; i < f; i++)
            {
                UIMapItem.list[i].transform.SetSiblingIndex(i);
            }

            /*
             * */

            SelectMap(0);
        }

        panel_MapLoading.SetActive(false);
        button_FindGame.SetActive(true);
    }