public override void OnImportAsset(AssetImportContext ctx) { var syncMaterial = PlayerFile.Load <SyncMaterial>(ctx.assetPath); Init(syncMaterial.Name); var syncedData = new SyncedData <SyncMaterial>(StreamKey.FromSyncId <SyncMaterial>(EditorSourceId, syncMaterial.Id), syncMaterial); var materialImporter = new SyncMaterialImporter(); var material = materialImporter.Import(syncedData, this); material.name = Path.GetFileNameWithoutExtension(syncMaterial.Name); ctx.AddObjectToAsset("material", material); var root = ScriptableObject.CreateInstance <ReflectScriptableObject>(); ctx.AddObjectToAsset("root", root, AssetPreview.GetMiniThumbnail(material)); ctx.SetMainObject(root); }
public MaterialConverter(EventHub hub, MemoryTracker memTracker, ITextureCache textureCache, IOutput <SyncedData <Material> > output) : base(hub, memTracker, output) { m_Importer = new SyncMaterialImporter(); m_TextureCache = textureCache; }