class NetworkSpawner (Niantic.ARDK.Networking.HLAPI.Object.Unity.NetworkSpawner)
Overview
A static class that handles the replication and network spawning of NetworkedUnityObjects for all peers across the network. Also handles the network destruction of spawned objects. More...
class NetworkSpawner { public: // structs struct SpawnMessage; // events static event NetworkObjectDestroyed(); static event NetworkObjectSpawned(); // methods static void LoadManifest(PrefabManifest manifest); static void NetworkDestroy(this NetworkedUnityObject networkedObject); static NetworkedUnityObject NetworkSpawn( this NetworkedUnityObject spawnObject, IMultipeerNetworking networking, Vector3? position = null, Quaternion? rotation = null, Role? startingLocalRole = null, NetworkId? newNetId = null, List<IPeer> targetPeers = null ); static NetworkedUnityObject NetworkSpawn( this NetworkedUnityObject spawnObject, Vector3? position = null, Quaternion? rotation = null, Role? startingLocalRole = null, NetworkId? newNetId = null, List<IPeer> targetPeers = null ); static void UnloadManifest(PrefabManifest manifest); };
Detailed Documentation
A static class that handles the replication and network spawning of NetworkedUnityObjects for all peers across the network. Also handles the network destruction of spawned objects.
Methods
static void LoadManifest(PrefabManifest manifest)
Loads all prefabs in the PrefabManifest to prepare for network spawning. This is automatically called by the NetworkSceneSpawnManifest MonoBehaviour.
Parameters:
manifest |
Manifest containing prefabs to load into memory |
static void NetworkDestroy(this NetworkedUnityObject networkedObject)
Check if we are allowed to propagate the destruction message, then send it if allowed. If no one had previously destroyed the object, destroy it after sending the message. Only objects that were network spawned can be network destroyed
Parameters:
networkedObject |
The object to be destroyed |
static NetworkedUnityObject NetworkSpawn( this NetworkedUnityObject spawnObject, IMultipeerNetworking networking, Vector3? position = null, Quaternion? rotation = null, Role? startingLocalRole = null, NetworkId? newNetId = null, List<IPeer> targetPeers = null )
Locally instantiates a prefab with given starting parameters, then sends a message across the network for all listening peers to also instantiate the same prefab.
Parameters:
spawnObject |
The prefab to spawn |
networking |
The networking stack on which to spawn the object |
position |
The initial position of the object |
rotation |
The initial rotation of the object |
startingLocalRole |
The starting role of the local peer |
newNetId |
The network ID of the new object, will be automatically assigned if empty |
targetPeers |
The peers for which to spawn the object |
Returns:
The spawned NetworkedUnityObject
static NetworkedUnityObject NetworkSpawn( this NetworkedUnityObject spawnObject, Vector3? position = null, Quaternion? rotation = null, Role? startingLocalRole = null, NetworkId? newNetId = null, List<IPeer> targetPeers = null )
Locally instantiates a prefab with given starting parameters, then sends a message across the network for all listening peers to also instantiate the same prefab.
Parameters:
spawnObject |
The prefab to spawn |
position |
The initial position of the object |
rotation |
The initial rotation of the object |
startingLocalRole |
The starting role of the local peer |
newNetId |
The network ID of the new object, will be automatically assigned if empty |
targetPeers |
The peers for which to spawn the object |
Returns:
The spawned NetworkedUnityObject
static void UnloadManifest(PrefabManifest manifest)
Unloads prefabs loaded from the PrefabManifest from memory. This is called by the NetworkSceneSpawnManifest MonoBehaviour
Parameters:
manifest |
Manifest containing prefabs to unload from memory |