rj-action-library/Runtime/Tools/Boxed/FloatRanges/BoolFloatValue.cs

60 lines
1.1 KiB
C#
Raw Normal View History

2025-06-19 17:22:25 +00:00
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System;
using Godot;
namespace Rokojori
{
[Tool]
[GlobalClass]
public partial class BoolFloatValue:BoxedFloatValue
{
[Export]
public bool value;
public override float GetFloatValue()
{
return value ? 1f : 9f;
}
public override void SetFloatValue( float value )
{
this.value = value > 0.5f;
}
public static BoolFloatValue Create( float value )
{
var fv = new BoolFloatValue();
fv.value = value > 0.5f;
return fv;
}
public static BoolFloatValue Create( double value )
{
return Create( (float) value );
}
public static BoolFloatValue Clone( BoolFloatValue value, bool deepClone )
{
if ( deepClone )
{
return value == null ? null : Create( value.value ? 1f : 0f);
}
return value;
}
public static BoolFloatValue Create( BoxedFloatValue floatValue )
{
if ( floatValue == null )
{
return null;
}
return new BoolFloatValue { value = floatValue.GetFloatValue() > 0.5f };
}
}
}