Skip to content

Commit

Permalink
Fix package in isolation (to master) (Unity-Technologies#3758)
Browse files Browse the repository at this point in the history
* Fix package isolation :
- Add DummyTest for Editor & Runtime
- Add menu entry to clear runtime data

* Fix unexpected automatic compilation coming afterwards

* Empty runtime data for template (do not backport this change, use entry menu to process this)
  • Loading branch information
PaulDemeulenaere authored and julienf-unity committed Jun 3, 2019
1 parent d0ab0a5 commit 9c5a7df
Show file tree
Hide file tree
Showing 16 changed files with 193 additions and 2,184 deletions.
30 changes: 28 additions & 2 deletions com.unity.visualeffectgraph/Editor/Models/VFXGraph.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ namespace UnityEditor.VFX
{
public class VFXCacheManager : EditorWindow
{
[MenuItem("Edit/Visual Effects//Rebuild All Visual Effect Graphs", priority = 320)]
public static void Build()
private static List<VisualEffectAsset> GetAllVisualEffectAssets()
{
var vfxAssets = new List<VisualEffectAsset>();
var vfxAssetsGuid = AssetDatabase.FindAssets("t:VisualEffectAsset");
Expand All @@ -29,7 +28,13 @@ public static void Build()
vfxAssets.Add(vfxAsset);
}
}
return vfxAssets;
}

[MenuItem("Edit/Visual Effects//Rebuild All Visual Effect Graphs", priority = 320)]
public static void Build()
{
var vfxAssets = GetAllVisualEffectAssets();
foreach (var vfxAsset in vfxAssets)
{
if (VFXViewPreference.advancedLogs)
Expand All @@ -41,6 +46,27 @@ public static void Build()
}
AssetDatabase.SaveAssets();
}

[MenuItem("Edit/Visual Effects//Clear All Visual Effect Runtime Data", priority = 321)]
public static void ClearRuntime()
{
var vfxAssets = GetAllVisualEffectAssets();
foreach (var vfxAsset in vfxAssets)
{
if (VFXViewPreference.advancedLogs)
Debug.Log(string.Format("Clear VFX asset Runtime Data: {0} ({1})", vfxAsset, AssetDatabase.GetAssetPath(vfxAsset)));

//Prevent possible automatic compilation afterwards ClearRuntimeData
VFXExpression.ClearCache();
vfxAsset.GetResource().GetOrCreateGraph().SetExpressionGraphDirty();
vfxAsset.GetResource().GetOrCreateGraph().OnSaved();

//Now effective clear runtime data
vfxAsset.GetResource().shaderSources = new VFXShaderSourceDesc[] { }; //TODO: Should be done by ClearRuntimeData, remove this when it's fixed
vfxAsset.GetResource().ClearRuntimeData();
}
AssetDatabase.SaveAssets();
}
}

public class VisualEffectAssetModicationProcessor : UnityEditor.AssetModificationProcessor
Expand Down
388 changes: 11 additions & 377 deletions com.unity.visualeffectgraph/Editor/Templates/Empty Particle System.vfx

Large diffs are not rendered by default.

Loading

0 comments on commit 9c5a7df

Please sign in to comment.