コード例 #1
0
        private IEnumerator CallSpawnEvents(NetworkSpawnArgs args)
        {
            yield return(null);

            foreach (var evt in initializationEvents)
            {
                evt(args);
            }
        }
コード例 #2
0
        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));
        }
コード例 #3
0
ファイル: ServerStage.cs プロジェクト: travakin/PRNet
        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);
        }
コード例 #4
0
ファイル: SpawnCommand.cs プロジェクト: travakin/PRNet
        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;
        }