From 34b6cfebc3763d6e4c68fddd2047cf9bc746a482 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 12 Feb 2021 12:20:58 +0100 Subject: [PATCH] Fix navmesh update on some spline editing operations --- Source/Editor/CustomEditors/Dedicated/SplineEditor.cs | 3 +++ Source/Editor/SceneGraph/Actors/SplineNode.cs | 2 +- Source/Editor/Undo/Actions/EditSplineAction.cs | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs b/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs index 9eedd0ed3..51d137ea9 100644 --- a/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs @@ -1,6 +1,7 @@ // Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. using FlaxEditor.Actions; +using FlaxEditor.SceneGraph.Actors; using FlaxEngine; using FlaxEngine.GUI; @@ -40,6 +41,7 @@ namespace FlaxEditor.CustomEditors.Dedicated spline.SetTangentsLinear(); if (enableUndo) Presenter.Undo.AddAction(new EditSplineAction(spline, before)); + SplineNode.OnSplineEdited(spline); Editor.Instance.Scene.MarkSceneEdited(spline.Scene); } } @@ -56,6 +58,7 @@ namespace FlaxEditor.CustomEditors.Dedicated spline.SetTangentsSmooth(); if (enableUndo) Presenter.Undo.AddAction(new EditSplineAction(spline, before)); + SplineNode.OnSplineEdited(spline); Editor.Instance.Scene.MarkSceneEdited(spline.Scene); } } diff --git a/Source/Editor/SceneGraph/Actors/SplineNode.cs b/Source/Editor/SceneGraph/Actors/SplineNode.cs index a9dec21b6..f0db64fca 100644 --- a/Source/Editor/SceneGraph/Actors/SplineNode.cs +++ b/Source/Editor/SceneGraph/Actors/SplineNode.cs @@ -337,7 +337,7 @@ namespace FlaxEditor.SceneGraph.Actors Editor.Instance.SceneEditing.Spawn(actor, Actor); } - private static void OnSplineEdited(Spline spline) + internal static void OnSplineEdited(Spline spline) { var collider = spline.GetChild(); if (collider && collider.Scene && collider.IsActiveInHierarchy && collider.HasStaticFlag(StaticFlags.Navigation) && !Editor.IsPlayMode) diff --git a/Source/Editor/Undo/Actions/EditSplineAction.cs b/Source/Editor/Undo/Actions/EditSplineAction.cs index 3bb8dac5c..7fb836459 100644 --- a/Source/Editor/Undo/Actions/EditSplineAction.cs +++ b/Source/Editor/Undo/Actions/EditSplineAction.cs @@ -2,6 +2,7 @@ using System; using FlaxEditor.Modules; +using FlaxEditor.SceneGraph.Actors; using FlaxEngine; namespace FlaxEditor.Actions @@ -45,6 +46,7 @@ namespace FlaxEditor.Actions if (spline == null) return; spline.SplineKeyframes = _after; + SplineNode.OnSplineEdited(spline); } /// @@ -54,6 +56,7 @@ namespace FlaxEditor.Actions if (spline == null) return; spline.SplineKeyframes = _before; + SplineNode.OnSplineEdited(spline); } ///