diff --git a/Package/embedded/GlobalClasses/Nodes/Buttons/PoloniumTextureButton.cs b/Package/embedded/GlobalClasses/Nodes/Buttons/PoloniumTextureButton.cs index 3e087bb..03a3550 100644 --- a/Package/embedded/GlobalClasses/Nodes/Buttons/PoloniumTextureButton.cs +++ b/Package/embedded/GlobalClasses/Nodes/Buttons/PoloniumTextureButton.cs @@ -3,6 +3,8 @@ using Godot; using Polonium.Attributes; using Polonium.DataStructures; using System.Collections.Generic; +using Polonium.Interfaces; + // ReSharper disable once CheckNamespace namespace GlobalClasses; [GlobalClass] @@ -13,8 +15,26 @@ public partial class PoloniumTextureButton : TextureButton [ProxyProperty] public virtual TextureSet TextureSet => null; - [Export] - public GlobalRegistry.TextureSetName TextureSetName { get; set; } + private GlobalRegistry.TextureSetName PrivateTextureSetName { get; set; } + + [Export] + public GlobalRegistry.TextureSetName TextureSetName + { + get => PrivateTextureSetName; + set + { + PrivateTextureSetName = value; + t = GlobalRegistry.TextureSetMap.GetValueOrDefault(value, null); + if (t is not null) + { + TextureNormal = t.Normal; + TextureHover = t.Hover; + TexturePressed = t.Pressed; + TextureDisabled = t.Disabled; + TextureFocused = t.Focused; + } + } + } public sealed override void _Ready() {