Optimize navmesh building and reduce scene lock time

This commit is contained in:
Wojtek Figat
2024-05-09 18:58:47 +02:00
parent dc1f15f18d
commit f6aabf2d14
10 changed files with 245 additions and 148 deletions

View File

@@ -1,6 +1,7 @@
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
#include "NavLink.h"
#include "Engine/Level/Scene/Scene.h"
#include "Engine/Serialization/Serialization.h"
NavLink::NavLink(const SpawnParams& params)
@@ -62,6 +63,20 @@ void NavLink::Deserialize(DeserializeStream& stream, ISerializeModifier* modifie
DESERIALIZE(BiDirectional);
}
void NavLink::OnEnable()
{
GetScene()->Navigation.Actors.Add(this);
Actor::OnEnable();
}
void NavLink::OnDisable()
{
Actor::OnDisable();
GetScene()->Navigation.Actors.Remove(this);
}
void NavLink::OnTransformChanged()
{
// Base