// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Compiler.h" #include "Engine/Core/Config.h" /// /// Interface for objects for network replication to receive additional events. /// API_INTERFACE(Namespace = "FlaxEngine.Networking") class FLAXENGINE_API INetworkObject { DECLARE_SCRIPTING_TYPE_MINIMAL(INetworkObject); public: /// /// Event called when network object gets spawned. /// API_FUNCTION() virtual void OnNetworkSpawn() {}; /// /// Event called when network object gets despawned. /// API_FUNCTION() virtual void OnNetworkDespawn() {}; /// /// Event called before network object gets replicated (before reading data). /// API_FUNCTION() virtual void OnNetworkSerialize() {}; /// /// Event called when network object gets replicated (after reading data). /// API_FUNCTION() virtual void OnNetworkDeserialize() {}; /// /// Event called when network object gets synced (called only once upon initial sync). /// API_FUNCTION() virtual void OnNetworkSync() {}; };