Files
FlaxEngine/Source/Editor/Surface/IParametersDependantNode.cs
2024-10-24 23:24:28 +02:00

46 lines
1.5 KiB
C#

// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using FlaxEngine;
namespace FlaxEditor.Surface
{
/// <summary>
/// Interface for surface nodes that depend on surface parameters collection.
/// </summary>
[HideInEditor]
public interface IParametersDependantNode
{
/// <summary>
/// On new parameter created.
/// </summary>
/// <param name="param">The parameter.</param>
void OnParamCreated(SurfaceParameter param);
/// <summary>
/// On parameter renamed.
/// </summary>
/// <param name="param">The parameter.</param>
void OnParamRenamed(SurfaceParameter param);
/// <summary>
/// On parameter modified (eg. type changed).
/// </summary>
/// <param name="param">The parameter.</param>
void OnParamEdited(SurfaceParameter param);
/// <summary>
/// On parameter deleted.
/// </summary>
/// <param name="param">The parameter.</param>
void OnParamDeleted(SurfaceParameter param);
/// <summary>
/// Get if the parameter is referenced in a graph. Referenced in this case means in a graph and at least one node in-/output connected to another node.
/// </summary>
/// <param name="param">The parameter.</param>
/// /// <param name="surface">The visject surface.</param>
/// <returns>How often the parameter is referenced.</returns>
bool IsParameterReferenced(SurfaceParameter param, VisjectSurface surface);
}
}