Example #1
0
 public void UpdateStats()
 {
     Statistics.RequestQueueLength    = RequestManager.Count(t => t.Tileset == this);
     Statistics.ActiveDownloads       = RequestManager.CountActiveDownloads(t => t.Tileset == this);
     Statistics.ProcessingQueueLength = ProcessingQueue.Count(t => t.Tileset == this);
     Statistics.DownloadedTiles       = TileCache.Count(t => t.Tileset == this);
     Statistics.ReadyTiles            =
         TileCache.Count(t => t.Tileset == this && t.ContentState == Unity3DTileContentState.READY);
     Unity3DTilesetStatistics.MaxLoadedTiles = TileCache.MaxSize;
 }
        public void Start()
        {
            RequestManager = new RequestManager(SceneOptions);
            TileCache      = new TileCache(SceneOptions);

            if (SceneOptions.ClippingCameras.Count == 0)
            {
                SceneOptions.ClippingCameras.Add(Camera.main);
            }

            _start();
        }
Example #3
0
 protected override void UpdateStats()
 {
     //this works but is very inefficient and drags down framerate significantly when many tilesets are loaded
     //foreach (var tileset in tilesets)
     //{
     //    tileset.UpdateStats();
     //}
     RequestManager.ForEachQueuedDownload(t => { t.Tileset.Statistics.RequestQueueLength++; });
     RequestManager.ForEachActiveDownload(t => { t.Tileset.Statistics.ActiveDownloads++; });
     foreach (var tile in ProcessingQueue)
     {
         tile.Tileset.Statistics.ProcessingQueueLength++;
     }
     TileCache.ForEach(t => {
         t.Tileset.Statistics.DownloadedTiles++;
         if (t.ContentState == Unity3DTileContentState.READY)
         {
             t.Tileset.Statistics.ReadyTiles++;
         }
     });
     Unity3DTilesetStatistics.MaxLoadedTiles = TileCache.MaxSize;
     Stats = Unity3DTilesetStatistics.Aggregate(tilesets.Select(t => t.Statistics).ToArray());
 }