Fix GetObject/SetObject usage in network replication hierarchy

This commit is contained in:
Wojtek Figat
2024-09-30 14:52:05 +02:00
parent babaa2680f
commit c063afc5bc
2 changed files with 11 additions and 4 deletions

View File

@@ -223,11 +223,17 @@ bool NetworkReplicationGridNode::GetObject(ScriptingObject* obj, NetworkReplicat
{
return false;
}
if (_children[coord].Node->GetObject(obj, result))
return _children[coord].Node->GetObject(obj, result);
}
bool NetworkReplicationGridNode::SetObject(const NetworkReplicationHierarchyObject& value)
{
Int3 coord;
if (!_objectToCell.TryGet(value.Object.Get(), coord))
{
return true;
return false;
}
return false;
return _children[coord].Node->SetObject(value);
}
bool NetworkReplicationGridNode::DirtyObject(ScriptingObject* obj)

View File

@@ -206,7 +206,7 @@ API_CLASS(Abstract, Namespace = "FlaxEngine.Networking") class FLAXENGINE_API Ne
/// <param name="obj">The object to get.</param>
/// <param name="result">The hierarchy object to retrieve.</param>
/// <returns>True on successful retrieval, otherwise false.</returns>
API_FUNCTION() virtual bool GetObject(ScriptingObject* obj, NetworkReplicationHierarchyObject& result);
API_FUNCTION() virtual bool GetObject(ScriptingObject* obj, API_PARAM(Out) NetworkReplicationHierarchyObject& result);
/// <summary>
/// Sets object properties in the hierarchy. Can be used to modify replication settings at runtime.
@@ -264,6 +264,7 @@ public:
void AddObject(NetworkReplicationHierarchyObject obj) override;
bool RemoveObject(ScriptingObject* obj) override;
bool GetObject(ScriptingObject* obj, NetworkReplicationHierarchyObject& result) override;
bool SetObject(const NetworkReplicationHierarchyObject& value) override;
bool DirtyObject(ScriptingObject* obj) override;
void Update(NetworkReplicationHierarchyUpdateResult* result) override;
};