Ejemplo n.º 1
0
 static void SetReferencedSyncModelPath(SyncPrefab syncPrefab, SyncManifest manifest)
 {
     foreach (var instance in syncPrefab.Instances)
     {
         SetReferencedSyncModelPath(instance, manifest);
     }
 }
        public static Transform Import(SyncPrefab syncPrefab, IObjectCache objectCache)
        {
            var root = CreateSyncPrefab(null, syncPrefab);

            foreach (var instance in syncPrefab.Instances)
            {
                CreateInstance(root.transform, syncPrefab.Name, instance, objectCache);
            }

            return(root);
        }
Ejemplo n.º 3
0
        private void Instance_PrefabLoaded(SyncInstance instance, SyncPrefab prefab)
        {
            foreach (SyncObjectInstance syncObjectInstance in prefab.Instances)
            {
                //Debug.LogFormat("<color=cyan>{0}</color>", syncObjectInstance.Id.Value);
                if (_syncIDs.Contains(syncObjectInstance.Id.Value))
                {
                    continue;
                }

                _syncIDs.Add(syncObjectInstance.Id.Value);
                _totalNumberOfSyncObjects++;
            }
        }
        public static Transform CreateSyncPrefab(Transform parent, SyncPrefab syncPrefab)
        {
            var root = new GameObject(syncPrefab.Name);

            if (parent != null)
            {
                root.transform.parent = parent;
            }

            var prefabComponent = root.AddComponent <SyncPrefabBinding>();

            prefabComponent.key = syncPrefab.Id.Value;

            return(root.transform);
        }
Ejemplo n.º 5
0
        internal static SyncPrefab GenerateSyncPrefabFromManifest(string name, string rootFolder, SyncManifest manifest)
        {
            var prefab = new SyncPrefab { Name = name };

            var content = manifest.Content;
            foreach (var pair in content)
            {
                if (pair.Key.IsKeyFor<SyncObjectInstance>())
                {
                    // Load SynObjectInstance from disk
                    var instancePath = Path.Combine(rootFolder, pair.Value.ModelPath);
                    var objectInstance = PlayerFile.Load<SyncObjectInstance>(instancePath);
                    objectInstance.Name = Path.GetFileNameWithoutExtension(objectInstance.Name);
                    prefab.Instances.Add(objectInstance);
                }
            }

            return prefab;
        }
Ejemplo n.º 6
0
 private void Instance_onPrefabChanged(SyncInstance instance, SyncPrefab prefab)
 {
     DebugLine("PREFAB CHANGED : {0}", "green", null, prefab.Name);
 }
Ejemplo n.º 7
0
 private void Instance_onPrefabLoaded(SyncInstance instance, SyncPrefab prefab)
 {
     DebugLine("PREFAB LOADED. Name : {0}, Id : {1}, Instance(s) Count : {2}", "green", null, prefab?.Name, prefab?.Id.Value.ToString(), prefab?.Instances.Count.ToString());
 }