50 lines
2.3 KiB
C#
50 lines
2.3 KiB
C#
![]() |
using Godot;
|
||
|
|
||
|
namespace Rokojori
|
||
|
{
|
||
|
public class Outline
|
||
|
{
|
||
|
public static readonly CachedResource<Shader> shader = new CachedResource<Shader>(
|
||
|
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Effects/Outline/Outline.gdshader"
|
||
|
);
|
||
|
|
||
|
public static readonly ColorPropertyName albedo = ColorPropertyName.Create( "albedo" );
|
||
|
public static readonly FloatPropertyName size = FloatPropertyName.Create( "size" );
|
||
|
public static readonly FloatPropertyName sizeCloseScale = FloatPropertyName.Create( "sizeCloseScale" );
|
||
|
public static readonly FloatPropertyName sizeFarScale = FloatPropertyName.Create( "sizeFarScale" );
|
||
|
public static readonly FloatPropertyName closeDistance = FloatPropertyName.Create( "closeDistance" );
|
||
|
public static readonly FloatPropertyName farDistance = FloatPropertyName.Create( "farDistance" );
|
||
|
|
||
|
}
|
||
|
|
||
|
public partial class OutlineMaterial:CustomMaterial
|
||
|
{
|
||
|
public static readonly CachedResource<OutlineMaterial> BoldYellow = CustomMaterial.Cached<OutlineMaterial>(
|
||
|
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Effects/Outline/Outline Bold Yellow.material"
|
||
|
);
|
||
|
public static readonly CachedResource<OutlineMaterial> ThinWhite = CustomMaterial.Cached<OutlineMaterial>(
|
||
|
"res://addons/rokojori_action_library/Runtime/Shading/Shaders/Effects/Outline/Outline Thin White.material"
|
||
|
);
|
||
|
|
||
|
public readonly CustomMaterialProperty<Color> albedo;
|
||
|
public readonly CustomMaterialProperty<float> size;
|
||
|
public readonly CustomMaterialProperty<float> sizeCloseScale;
|
||
|
public readonly CustomMaterialProperty<float> sizeFarScale;
|
||
|
public readonly CustomMaterialProperty<float> closeDistance;
|
||
|
public readonly CustomMaterialProperty<float> farDistance;
|
||
|
|
||
|
public OutlineMaterial()
|
||
|
{
|
||
|
Shader = Outline.shader.Get();
|
||
|
|
||
|
albedo = new CustomMaterialProperty<Color>( this, Outline.albedo );
|
||
|
size = new CustomMaterialProperty<float>( this, Outline.size );
|
||
|
sizeCloseScale = new CustomMaterialProperty<float>( this, Outline.sizeCloseScale );
|
||
|
sizeFarScale = new CustomMaterialProperty<float>( this, Outline.sizeFarScale );
|
||
|
closeDistance = new CustomMaterialProperty<float>( this, Outline.closeDistance );
|
||
|
farDistance = new CustomMaterialProperty<float>( this, Outline.farDistance );
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|