44 lines
686 B
C#
44 lines
686 B
C#
|
|
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 );
|
|
}
|
|
|
|
}
|
|
}
|