public DataProvider(EventHub hub,
                            MemoryTracker memTracker,
                            ISyncModelProvider client,
                            IHashProvider hashProvider,
                            DataOutput <SyncMesh> syncMeshOutput,
                            DataOutput <SyncMaterial> syncMaterialOutput,
                            DataOutput <SyncTexture> syncTextureOutput,
                            DataOutput <StreamInstanceData> instanceDataOutput)
        {
            m_Hub          = hub;
            m_MemTracker   = memTracker;
            m_Client       = client;
            m_HashProvider = hashProvider;

            m_SyncMaterialOutput = syncMaterialOutput;
            m_SyncMeshOutput     = syncMeshOutput;
            m_SyncTextureOutput  = syncTextureOutput;
            m_InstanceDataOutput = instanceDataOutput;

            m_DownloadRequests    = new ConcurrentQueue <IStream>();
            m_DownloadedInstances = new ConcurrentQueue <DownloadResult>();
            m_DownloadedModels    = new ConcurrentQueue <ObjectDownloadResult>();

            m_StreamCaches  = new Dictionary <StreamKey, StreamCache>();
            m_InstanceCache = new Dictionary <StreamKey, StreamInstanceData>();

            m_AddedModels = new HashSet <StreamKey>();

            m_HubHandle = m_Hub.Subscribe <MemoryTrackerCacheCreatedEvent <Mesh> >(e => m_MeshesHandle = e.handle);
        }
Example #2
0
 public override void OnPipelineInitialized()
 {
     m_GlobalBounds.size = Vector3.zero;
     m_ErrorHandle       = m_Hub.Subscribe <StreamingErrorEvent>(OnStreamingError);
 }