60 lines
1.1 KiB
C#
60 lines
1.1 KiB
C#
![]() |
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 };
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|