using Godot; namespace Rokojori { public class TriPlanarOverlay { public static readonly CachedResource shader = new CachedResource( "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Effects/TriPlanarOverlay/TriPlanarOverlay.gdshader" ); public static readonly ColorPropertyName albedo = ColorPropertyName.Create( "albedo" ); public static readonly FloatPropertyName uvBlendSharpness = FloatPropertyName.Create( "uv_blend_sharpness" ); public static readonly Vector3PropertyName uvScale = Vector3PropertyName.Create( "uv_scale" ); public static readonly Vector3PropertyName uvOffset = Vector3PropertyName.Create( "uv_offset" ); public static readonly Vector3PropertyName uvMovement = Vector3PropertyName.Create( "uvMovement" ); public static readonly Texture2DPropertyName textureAlbedo = Texture2DPropertyName.Create( "texture_albedo" ); } public partial class TriPlanarOverlayMaterial:CustomMaterial { public static readonly CachedResource BlueShield = CustomMaterial.Cached( "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Effects/TriPlanarOverlay/TriPlanarOverlay BlueShield.material" ); public static readonly CachedResource WhiteShield = CustomMaterial.Cached( "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Effects/TriPlanarOverlay/TriPlanarOverlay WhiteShield.material" ); public readonly CustomMaterialProperty albedo; public readonly CustomMaterialProperty uvBlendSharpness; public readonly CustomMaterialProperty uvScale; public readonly CustomMaterialProperty uvOffset; public readonly CustomMaterialProperty uvMovement; public readonly CustomMaterialProperty textureAlbedo; public TriPlanarOverlayMaterial() { Shader = TriPlanarOverlay.shader.Get(); albedo = new CustomMaterialProperty( this, TriPlanarOverlay.albedo ); uvBlendSharpness = new CustomMaterialProperty( this, TriPlanarOverlay.uvBlendSharpness ); uvScale = new CustomMaterialProperty( this, TriPlanarOverlay.uvScale ); uvOffset = new CustomMaterialProperty( this, TriPlanarOverlay.uvOffset ); uvMovement = new CustomMaterialProperty( this, TriPlanarOverlay.uvMovement ); textureAlbedo = new CustomMaterialProperty( this, TriPlanarOverlay.textureAlbedo ); } } }