private IEnumerator CallSpawnEvents(NetworkSpawnArgs args) { yield return(null); foreach (var evt in initializationEvents) { evt(args); } }
public void Initialize(int ownerId, NetworkInstanceId id, string definitionName, NetworkSpawnArgs args) { this.ownerId = ownerId; this.instanceId = id; this.definitionName = definitionName; this._args = args; Debug.Log(ownerId); StartCoroutine(CallSpawnEvents(args)); }
public static void ServerSpawn(NetworkEntity toSpawn, NetworkSpawnArgs args) { Debug.Log("Spawning object with no ownership"); List <int> currentIds = objectsManager.spawnedEntities.Keys.Select(key => key.id).ToList(); NetworkInstanceId id = new NetworkInstanceId(Identification.GetUniqueIdentifierFromList(currentIds)); toSpawn.Initialize(-1, id, toSpawn.definitionName, args); objectsManager.spawnedEntities.Add(id, toSpawn); SpawnCommand spawnCommand = toSpawn.GetSpawnRequest(); pendingSpawnCommands.Add(spawnCommand); }
public SpawnCommand(int ownerId, NetworkInstanceId id, string name, NetworkSyncVector3 position, NetworkSyncQuaternion rotation, NetworkSyncVarValue syncVarValues, NetworkSpawnArgs args) { this.id = id; this.ownerId = ownerId; this.name = name; this.position = position; this.rotation = rotation; this.syncVarValues = syncVarValues; this.arguments = args; }