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 };
 | 
						|
    }    
 | 
						|
 | 
						|
  }
 | 
						|
} |