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); }
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); }