You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-25 15:37:42 +00:00
[MP] Avoid unnecessary internal ref/unrefs
Access the various internal components (cache/replicator) via pointer, to avoid unnecessary overhead.
This commit is contained in:
@@ -680,12 +680,16 @@ void SceneMultiplayer::_bind_methods() {
|
||||
|
||||
SceneMultiplayer::SceneMultiplayer() {
|
||||
relay_buffer.instantiate();
|
||||
replicator = Ref<SceneReplicationInterface>(memnew(SceneReplicationInterface(this)));
|
||||
rpc = Ref<SceneRPCInterface>(memnew(SceneRPCInterface(this)));
|
||||
cache = Ref<SceneCacheInterface>(memnew(SceneCacheInterface(this)));
|
||||
replicator = Ref<SceneReplicationInterface>(memnew(SceneReplicationInterface(this, cache.ptr())));
|
||||
rpc = Ref<SceneRPCInterface>(memnew(SceneRPCInterface(this, cache.ptr(), replicator.ptr())));
|
||||
set_multiplayer_peer(Ref<OfflineMultiplayerPeer>(memnew(OfflineMultiplayerPeer)));
|
||||
}
|
||||
|
||||
SceneMultiplayer::~SceneMultiplayer() {
|
||||
clear();
|
||||
// Ensure unref in reverse order for safety (we shouldn't use those pointers in the deconstructors anyway).
|
||||
rpc.unref();
|
||||
replicator.unref();
|
||||
cache.unref();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user