38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using Godot;
|
|
using Nocturnis.DataStructures.ConfigurableParameters;
|
|
|
|
namespace Enigmos.Manual;
|
|
|
|
public partial class ModuleBoolValueParameterSetter : ModuleParameterSetter
|
|
{
|
|
private CheckButton ToggleSetter { get; set; }
|
|
private Label TrueLabel { get; set; }
|
|
private Label FalseLabel { get; set; }
|
|
|
|
public void Init(IBoolParameter parameter)
|
|
{
|
|
UnderlyingParameter = parameter;
|
|
InitFlag = true;
|
|
}
|
|
|
|
public new IBoolParameter UnderlyingParameter
|
|
{
|
|
get => (base.UnderlyingParameter as IBoolParameter)!;
|
|
set => base.UnderlyingParameter = value;
|
|
}
|
|
|
|
public override void _Ready()
|
|
{
|
|
if (!InitFlag)
|
|
throw new Exception("TODO - INIT NEED");
|
|
ToggleSetter = GetNode<CheckButton>("ToggleSetter");
|
|
TrueLabel = GetNode<Label>("TrueLabel");
|
|
FalseLabel = GetNode<Label>("FalseLabel");
|
|
ToggleSetter.ButtonPressed = UnderlyingParameter.ParameterValue;
|
|
TrueLabel.Text = UnderlyingParameter.TrueDescription;
|
|
FalseLabel.Text = UnderlyingParameter.FalseDescription;
|
|
base._Ready();
|
|
}
|
|
|
|
private void ToggleHandler(bool val) => UnderlyingParameter.ParameterValue = val;
|
|
} |