improve: dynamic textureset

This commit is contained in:
h z
2025-02-18 14:28:26 +00:00
parent f9a6dbe55b
commit a95de5aa59

View File

@@ -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()
{