From 50250caa32d361f2c0afe14532e8a3006e1813db Mon Sep 17 00:00:00 2001 From: Kailey Joanette Date: Thu, 26 Sep 2019 06:25:48 -0400 Subject: [PATCH] Fix for drawer priority of primitives over dynamic port lists --- .../Odin/DynamicPortListBackedResolver.cs | 17 +++++++++++++++++ .../Odin/DynamicPortListNoDataResolver.cs | 1 + 2 files changed, 18 insertions(+) diff --git a/Scripts/Editor/Drawers/Odin/DynamicPortListBackedResolver.cs b/Scripts/Editor/Drawers/Odin/DynamicPortListBackedResolver.cs index 248c997..c5be0f0 100644 --- a/Scripts/Editor/Drawers/Odin/DynamicPortListBackedResolver.cs +++ b/Scripts/Editor/Drawers/Odin/DynamicPortListBackedResolver.cs @@ -11,6 +11,23 @@ using static XNode.Node; namespace XNodeEditor.Odin { + [DrawerPriority( 0.4, 0, 0 )] + public class DynamicPortCollectionOverrideDrawer : CollectionDrawer + { + protected override bool CanDrawValueProperty( InspectorProperty property ) + { + var input = property.GetAttribute(); + if ( input != null ) + return input.dynamicPortList; + + var output = property.GetAttribute(); + if ( output != null ) + return output.dynamicPortList; + + return false; + } + } + [ResolverPriority( 10 )] public class DynamicPortListBackedResolver : StrongListPropertyResolver where TList : IList diff --git a/Scripts/Editor/Drawers/Odin/DynamicPortListNoDataResolver.cs b/Scripts/Editor/Drawers/Odin/DynamicPortListNoDataResolver.cs index 5bd455c..ec30682 100644 --- a/Scripts/Editor/Drawers/Odin/DynamicPortListNoDataResolver.cs +++ b/Scripts/Editor/Drawers/Odin/DynamicPortListNoDataResolver.cs @@ -13,6 +13,7 @@ using static XNode.Node; namespace XNodeEditor { + [ResolverPriority( 10 )] public class DynamicPortListNoDataResolver : BaseOrderedCollectionResolver { public override bool CanResolveForPropertyFilter( InspectorProperty property )