public InstanceConverter(EventHub hub, MemoryTracker memTracker, Transform root, bool generateSourceRoots, IMaterialCache materialCache, IMeshCache meshCache, ISyncLightImporter lightImporter, DataOutput <GameObject> output) { m_Hub = hub; m_MemTracker = memTracker; m_MaterialCache = materialCache; m_MeshCache = meshCache; m_Output = output; m_SyncLightImporter = lightImporter; m_Originals = new Dictionary <StreamKey, OriginalInstance>(); m_Root = root; m_SourceRoots = generateSourceRoots ? new Dictionary <string, Transform>() : null; m_SyncObjects = new Dictionary <StreamKey, SyncObject>(); m_Instances = new Dictionary <StreamKey, SyncObjectBinding>(); m_HubGroup = m_Hub.CreateGroup(); m_Hub.Subscribe <PeriodicMemoryEvent>(m_HubGroup, OnPeriodicMemoryEvent); m_Hub.Subscribe <MemoryTrackerCacheCreatedEvent <Mesh> >(m_HubGroup, e => m_MeshesHandle = e.handle); }