Optimize asset references to support direct registration to reduce Delegate memory allocations and overhead

This commit is contained in:
Wojtek Figat
2025-06-08 00:58:15 +02:00
parent bffb175a9b
commit 73c30d3d89
26 changed files with 365 additions and 141 deletions

View File

@@ -15,7 +15,7 @@ class RigidBody;
/// </summary>
/// <seealso cref="Actor" />
/// <seealso cref="PhysicsColliderActor" />
API_CLASS(Abstract) class FLAXENGINE_API Collider : public PhysicsColliderActor
API_CLASS(Abstract) class FLAXENGINE_API Collider : public PhysicsColliderActor, protected IAssetReference
{
API_AUTO_SERIALIZATION();
DECLARE_SCENE_OBJECT_ABSTRACT(Collider);
@@ -154,9 +154,6 @@ protected:
/// </summary>
void RemoveStaticActor();
private:
void OnMaterialChanged();
public:
// [PhysicsColliderActor]
RigidBody* GetAttachedRigidBody() const override;
@@ -181,4 +178,9 @@ protected:
void OnLayerChanged() override;
void OnStaticFlagsChanged() override;
void OnPhysicsSceneChanged(PhysicsScene* previous) override;
// [IAssetReference]
void OnAssetChanged(Asset* asset, void* caller) override;
void OnAssetLoaded(Asset* asset, void* caller) override;
void OnAssetUnloaded(Asset* asset, void* caller) override;
};