rokojori_action_library/Runtime/UI/Actions/SetUIElementActiveState.cs

44 lines
686 B
C#
Raw Normal View History

2026-02-26 14:06:27 +00:00
using Godot;
using System;
namespace Rokojori;
[Tool,GlobalClass]
public partial class SetUIElementActiveState: Action
{
[Export]
public Control uiNode;
public enum ActiveState
{
Set_Active,
Remove_Active
}
[Export]
public ActiveState activeState = ActiveState.Set_Active;
protected override void _OnTrigger()
{
var uiStyleable = uiNode as UIStylePropertyContainer;
if ( uiStyleable == null )
{
return;
}
if ( ActiveState.Set_Active == activeState )
{
uiStyleable.AddUISelectorFlag( UISelectorFlag.Active );
}
else
{
uiStyleable.RemoveUISelectorFlag( UISelectorFlag.Active );
}
}
}