Browse Source

[animGraph] Properly pass context to customEditorResolverProvider

Clément Espeute 7 months ago
parent
commit
a50b3c02a8

+ 4 - 4
hide/view/animgraph/AnimGraphEditor.hx

@@ -55,7 +55,7 @@ class AnimGraphEditor extends GenericGraphEditor {
         refreshPamamList();
         refreshPamamList();
 
 
         var dl = new Element("<dl></dl>").appendTo(propertiesContainer);
         var dl = new Element("<dl></dl>").appendTo(propertiesContainer);
-        addAnimSetSelector(dl, undo, () -> previewState.providerIndex, (i: Int) -> {
+        addAnimSetSelector(dl, {animDirectory: animGraph.animFolder, assetPath: state.path}, undo, () -> previewState.providerIndex, (i: Int) -> {
 			previewState.providerIndex = i;
 			previewState.providerIndex = i;
             savePreviewState();
             savePreviewState();
 			refreshPreview();
 			refreshPreview();
@@ -238,13 +238,13 @@ class AnimGraphEditor extends GenericGraphEditor {
         return options;
         return options;
     }
     }
 
 
-    static public function addAnimSetSelector(target: Element, undo: hide.ui.UndoHistory, getIndex: () -> Int, setIndex:(Int) -> Void) {
+    static public function addAnimSetSelector(target: Element, context:hrt.animgraph.AnimGraph.EditorProviderContext, undo: hide.ui.UndoHistory, getIndex: () -> Int, setIndex:(Int) -> Void) {
         if (hrt.animgraph.AnimGraph.customEditorResolverProvider != null)
         if (hrt.animgraph.AnimGraph.customEditorResolverProvider != null)
         {
         {
             var div = new Element("<div></div>").appendTo(target);
             var div = new Element("<div></div>").appendTo(target);
             div.append(new Element("<dt>Anim Set</dt>"));
             div.append(new Element("<dt>Anim Set</dt>"));
 
 
-            var providers = hrt.animgraph.AnimGraph.customEditorResolverProvider(_);
+            var providers = hrt.animgraph.AnimGraph.customEditorResolverProvider(context);
 
 
             var button = new hide.comp.Button(div, null, null, {hasDropdown: true});
             var button = new hide.comp.Button(div, null, null, {hasDropdown: true});
             button.label = providers[getIndex()].name;
             button.label = providers[getIndex()].name;
@@ -297,7 +297,7 @@ class AnimGraphEditor extends GenericGraphEditor {
 
 
             var resolver = null;
             var resolver = null;
             if (AnimGraph.customEditorResolverProvider != null) {
             if (AnimGraph.customEditorResolverProvider != null) {
-                var providers = AnimGraph.customEditorResolverProvider(_);
+                var providers = AnimGraph.customEditorResolverProvider({animDirectory: animGraph.animFolder, assetPath: state.path});
                 if (providers != null && previewState.providerIndex > providers.length) {
                 if (providers != null && previewState.providerIndex > providers.length) {
                     previewState.providerIndex = 0;
                     previewState.providerIndex = 0;
                     savePreviewState();
                     savePreviewState();

+ 3 - 3
hide/view/animgraph/BlendSpace2DEditor.hx

@@ -363,7 +363,7 @@ class BlendSpace2DEditor extends hide.view.FileView {
 				@:privateAccess blendSpaceNode.blendSpace = blendSpace2D;
 				@:privateAccess blendSpaceNode.blendSpace = blendSpace2D;
 				var resolver = null;
 				var resolver = null;
 				if (hrt.animgraph.AnimGraph.customEditorResolverProvider != null) {
 				if (hrt.animgraph.AnimGraph.customEditorResolverProvider != null) {
-					var resolvers = hrt.animgraph.AnimGraph.customEditorResolverProvider(_);
+					var resolvers = hrt.animgraph.AnimGraph.customEditorResolverProvider({animDirectory: blendSpace2D.animFolder, assetPath: state.path});
 					if (resolvers != null) {
 					if (resolvers != null) {
 						if (previewState.providerIndex > resolvers.length) {
 						if (previewState.providerIndex > resolvers.length) {
 							previewState.providerIndex = 0;
 							previewState.providerIndex = 0;
@@ -382,7 +382,7 @@ class BlendSpace2DEditor extends hide.view.FileView {
 
 
 				var resolver = null;
 				var resolver = null;
 				if (hrt.animgraph.AnimGraph.customEditorResolverProvider != null) {
 				if (hrt.animgraph.AnimGraph.customEditorResolverProvider != null) {
-					var resolvers = hrt.animgraph.AnimGraph.customEditorResolverProvider(_);
+					var resolvers = hrt.animgraph.AnimGraph.customEditorResolverProvider({animDirectory: blendSpace2D.animFolder, assetPath: state.path});
 					if (resolvers != null) {
 					if (resolvers != null) {
 						resolver = resolvers[previewState.providerIndex]?.resolver;
 						resolver = resolvers[previewState.providerIndex]?.resolver;
 					}
 					}
@@ -474,7 +474,7 @@ class BlendSpace2DEditor extends hide.view.FileView {
 			updatePreviewAxis();
 			updatePreviewAxis();
 		});
 		});
 
 
-		AnimGraphEditor.addAnimSetSelector(preview.find("dl"), undo, () -> previewState.providerIndex, (i: Int) -> {
+		AnimGraphEditor.addAnimSetSelector(preview.find("dl"), {animDirectory: blendSpace2D.animFolder, assetPath: state.path}, undo, () -> previewState.providerIndex, (i: Int) -> {
 			previewState.providerIndex = i;
 			previewState.providerIndex = i;
 			savePreviewState();
 			savePreviewState();
 			refreshPreviewAnimation();
 			refreshPreviewAnimation();