Files
Enigmos/Manual/ModuleBoolValueParameterSetter.cs
2024-07-10 07:02:11 +01:00

39 lines
1.1 KiB
C#

using Godot;
using Nocturnis;
using Nocturnis.DataStructures.ConfigurableParameters;
namespace Enigmos.Manual;
public partial class ModuleBoolValueParameterSetter : ModuleParameterSetter, ISceneConcept
{
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;
}