Add OnParamEdited callback to Visject surface parameters API

This commit is contained in:
Wojciech Figat
2021-11-16 16:38:46 +01:00
parent d102f7f7f8
commit 336f4debf1
4 changed files with 33 additions and 3 deletions

View File

@@ -291,6 +291,12 @@ namespace FlaxEditor.Surface.Archetypes
UpdateTitle();
}
/// <inheritdoc />
public void OnParamEdited(SurfaceParameter param)
{
UpdateLayout();
}
/// <inheritdoc />
public void OnParamDeleted(SurfaceParameter param)
{
@@ -572,6 +578,12 @@ namespace FlaxEditor.Surface.Archetypes
UpdateUI();
}
/// <inheritdoc />
public void OnParamEdited(SurfaceParameter param)
{
UpdateUI();
}
/// <inheritdoc />
public void OnParamDeleted(SurfaceParameter param)
{

View File

@@ -11,19 +11,25 @@ namespace FlaxEditor.Surface
public interface IParametersDependantNode
{
/// <summary>
/// On new parameter created
/// On new parameter created.
/// </summary>
/// <param name="param">The parameter.</param>
void OnParamCreated(SurfaceParameter param);
/// <summary>
/// On new parameter renamed
/// On parameter renamed.
/// </summary>
/// <param name="param">The parameter.</param>
void OnParamRenamed(SurfaceParameter param);
/// <summary>
/// On new parameter deleted
/// 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);

View File

@@ -57,6 +57,17 @@ namespace FlaxEditor.Surface
MarkAsEdited();
}
/// <inheritdoc />
public void OnParamEdited(SurfaceParameter param)
{
for (int i = 0; i < Nodes.Count; i++)
{
if (Nodes[i] is IParametersDependantNode node)
node.OnParamEdited(param);
}
MarkAsEdited();
}
/// <inheritdoc />
public void OnParamDeleted(SurfaceParameter param)
{

View File

@@ -235,6 +235,7 @@ namespace FlaxEditor.Surface
{
var param = Window.VisjectSurface.Parameters[Index];
param.Meta.SetAttributes(value);
Window.VisjectSurface.OnParamEdited(param);
Window.VisjectSurface.MarkAsEdited();
Window.OnParamEditAttributesUndo();
}