Initial implementation of the MultiplayerReplicationInterface and its default implementation (SceneReplicationInterface). New MultiplayerSpawner node helps dealing with instantiation of scenes on remote peers (e.g. clients). It supports both custom spawns via a `_spawn_custom` virtual function, and optional auto-spawn of known scenes via a TypedArray<PackedScenes> property. New MultiplayerSynchornizer helps synchronizing states between the local and remote peers, supports both sync and spawn properties and is configured via a `SceneReplicationConfig` resource. It can also sync via path (i.e. without being spawned by a MultiplayerSpawner if both peers has it in tree, but will not send the spawn state in that case, only the sync one.
25 lines
528 B
Python
25 lines
528 B
Python
#!/usr/bin/env python
|
|
|
|
Import("env")
|
|
|
|
env.scene_sources = []
|
|
|
|
# Godot source files
|
|
env.add_source_files(env.scene_sources, "*.cpp")
|
|
|
|
# Chain load SCsubs
|
|
SConscript("main/SCsub")
|
|
SConscript("multiplayer/SCsub")
|
|
SConscript("gui/SCsub")
|
|
if not env["disable_3d"]:
|
|
SConscript("3d/SCsub")
|
|
SConscript("2d/SCsub")
|
|
SConscript("animation/SCsub")
|
|
SConscript("audio/SCsub")
|
|
SConscript("resources/SCsub")
|
|
SConscript("debugger/SCsub")
|
|
|
|
# Build it all as a library
|
|
lib = env.add_library("scene", env.scene_sources)
|
|
env.Prepend(LIBS=[lib])
|