diff --git a/Editor/ClusterEditor.cs b/Editor/ClusterEditor.cs index 4a24d58..aa8584c 100644 --- a/Editor/ClusterEditor.cs +++ b/Editor/ClusterEditor.cs @@ -22,6 +22,8 @@ namespace NanoBrain.Unity { } public override void OnInspectorGUI() { + EditorGUI.BeginChangeCheck(); + // Begin horizontal split EditorGUILayout.BeginHorizontal(); @@ -45,6 +47,16 @@ namespace NanoBrain.Unity { EditorGUIUtility.labelWidth = prevLabelWidth; EditorGUILayout.EndVertical(); // end right column EditorGUILayout.EndHorizontal(); // end split + + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(target, "Edit ClusterPrefab"); + SerializedProperty versionProp = serializedObject.FindProperty("version"); + versionProp.intValue++; + serializedObject.ApplyModifiedProperties(); + EditorUtility.SetDirty(target); + Debug.Log($"{name} Prefab changed, version {versionProp.intValue}"); + } + } #region Inspector @@ -78,7 +90,7 @@ namespace NanoBrain.Unity { // Nucleus type System.Type nucleusType = this.view.currentNucleus.GetType(); if (nucleusType == typeof(Cluster)) { - Cluster cluster = this.view.currentNucleus as Cluster; + Cluster cluster = this.view.currentNucleus as Cluster; GUILayout.Label($"{cluster.prefab.name} {nucleusType.Name}", headerStyle); } else diff --git a/Editor/Cluster_Drawer.cs b/Editor/Cluster_Drawer.cs index 7608867..2a15872 100644 --- a/Editor/Cluster_Drawer.cs +++ b/Editor/Cluster_Drawer.cs @@ -12,10 +12,6 @@ namespace NanoBrain.Unity { static Cluster_Drawer() { if (Application.isPlaying) SceneView.duringSceneGui += OnSceneGUI; - - Selection.selectionChanged += OnSelectionChanged; - if (currentClusterView != null) - currentClusterView.initialized = false; } private const float graphHeight = 500f; // height reserved for the VisualElement @@ -31,15 +27,16 @@ namespace NanoBrain.Unity { SerializedProperty prefabProp = property.FindPropertyRelative(nameof(Cluster.prefab)); if (prefabProp.objectReferenceValue != null && Cluster_Drawer.currentClusterView.isOpen) { height = graphHeight; - } else { + } + else { // Unclear why this is necessary, // but without this, expanding the graph foldout is not possible - height += EditorGUIUtility.singleLineHeight; + height += EditorGUIUtility.singleLineHeight; } return height; } - private void InitializeCluster(SerializedProperty property, ClusterView clusterView) { + private void InstantiateCluster(SerializedProperty property, ClusterView clusterView) { if (property == null || property.serializedObject == null || clusterView.initialized) return; @@ -48,9 +45,8 @@ namespace NanoBrain.Unity { if (targetObject == null) return; - // Debug.Log($"Instantiate new Cluster for {targetObject.name}"); + Debug.Log($"Instantiate new Cluster for {targetObject.name}"); - // This does not work properly yet it seems ClusterPrefab clusterPrefab = prefabProp.objectReferenceValue as ClusterPrefab; Cluster cluster = new(clusterPrefab); object parent = SerializedPropertyUtility.GetParentObjectAndMember(targetObject, property.propertyPath, out var memberInfo, out int outIndex); @@ -59,11 +55,9 @@ namespace NanoBrain.Unity { EditorUtility.SetDirty(targetObject); } clusterView.initialized = true; - } public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { - //Debug.Log(Event.current.type); // Not sure if this works properly with multiple Clusters in a single gameObject ClusterView clusterView = Cluster_Drawer.currentClusterView; if (Cluster_Drawer.currentClusterView == null) @@ -104,12 +98,12 @@ namespace NanoBrain.Unity { UnityEngine.Object targetObject = property.serializedObject.targetObject; Cluster_Drawer.selectedTarget = targetObject; - Cluster cluster = null; - if (clusterView.initialized || Application.isPlaying) { - cluster = SerializedPropertyUtility.GetManagedObjectForProperty(targetObject, property.propertyPath) as Cluster; + Cluster cluster = SerializedPropertyUtility.GetManagedObjectForProperty(targetObject, property.propertyPath) as Cluster; + if (cluster.version != cluster.prefab.version) { + // Debug.Log($"prefab version: {cluster.prefab.version} cluster version: {cluster.version}"); + clusterView.initialized = false; + EditorApplication.delayCall += () => InstantiateCluster(property, clusterView); } - else - EditorApplication.delayCall += () => InitializeCluster(property, clusterView); // foldout header rect Rect headerRect = new(fieldRect.x, fieldRect.yMax + 4f, fieldRect.width, EditorGUIUtility.singleLineHeight); @@ -172,14 +166,6 @@ namespace NanoBrain.Unity { } } - private static void OnSelectionChanged() { - UnityEngine.Object active = Selection.activeObject; - if (active == null) - return; - - foreach (ClusterView clusterView in ClusterView.clusterViews.Values) - clusterView.initialized = false; - } } public static class SerializedPropertyUtility { diff --git a/Runtime/Scripts/ScriptableObjects/ClusterPrefab.cs b/Runtime/Scripts/ScriptableObjects/ClusterPrefab.cs index c4300ac..c1f4ae5 100644 --- a/Runtime/Scripts/ScriptableObjects/ClusterPrefab.cs +++ b/Runtime/Scripts/ScriptableObjects/ClusterPrefab.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using UnityEngine; namespace NanoBrain.Unity { @@ -17,25 +16,43 @@ namespace NanoBrain.Unity { //[HideInInspector] public int version; - /// - /// Call this function to ensure that there is at least one nucleus - /// - /// his is an invariant and should be ensured before the nucleus is used - /// because output requires it. - // public void EnsureInitialization() { - // this.cluster.prefab = this; - // this.cluster.name = this.name; - // this.cluster.nuclei ??= new List(); - // if (this.cluster.nuclei.Count <= 0) - // new Neuron(this.cluster, "Output"); // Every cluster should have at least 1 neuron - // this.cluster.instanceCount = 1; - // } +// #if UNITY_EDITOR +// private bool queuedIncrement = false; -#if UNITY_EDITOR - private void OnValidate() { - version++; - } -#endif +// private void OnValidate() { +// Debug.Log("Validating..."); +// if (queuedIncrement) { +// Debug.Log("Re-entry"); +// return; // avoid re-entrancy +// } + +// queuedIncrement = true; + +// // Defer so Unity finishes its internal serialization/validate cycle first +// UnityEditor.EditorApplication.update += IncrementVersion; +// } +// private void IncrementVersion() { +// UnityEditor.EditorApplication.update -= IncrementVersion; +// Debug.Log("updating version..."); +// // Ensure object still exists and hasn't been destroyed +// if (this == null) { +// queuedIncrement = false; +// return; +// } + +// // Record for Undo and mark dirty so change persists +// UnityEditor.Undo.RecordObject(this, $"Increment {name} version"); +// version++; +// UnityEditor.EditorUtility.SetDirty(this); +// Debug.Log($"{name} Prefab changed, version {version}"); + +// // Optional: force Inspector repaint +// //UnityEditor.EditorUtility.SetDirty(this); +// // clear the flag +// queuedIncrement = false; + +// } +// #endif } } diff --git a/Samples/Braitenberg/Brains/Braitenberg 1.asset b/Samples/Braitenberg/Brains/Braitenberg 1.asset index d9c138c..14291ce 100644 --- a/Samples/Braitenberg/Brains/Braitenberg 1.asset +++ b/Samples/Braitenberg/Brains/Braitenberg 1.asset @@ -17,103 +17,60 @@ MonoBehaviour: parent: rid: -2 prefab: {fileID: 11400000} + version: 65 + instances: [] instanceCount: 1 nuclei: - - rid: 4201949899492425781 - - rid: 4201949899492425817 + - rid: 4201950332465446972 + - rid: 4201950332465446973 + version: 506 references: version: 2 RefIds: - rid: -2 type: {class: , ns: , asm: } - - rid: 4201949899492425781 + - rid: 4201950332465446972 type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp} data: name: Output parent: - rid: 4201950148723474519 + rid: 4201950332465446974 bias: {x: 0, y: 0, z: 1} _synapses: - neuron: - rid: 4201949899492425817 + rid: 4201950332465446973 weight: 4 - combinator: 0 + combinator: 1 _activator: 0 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1000 - value: 1000 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curveMax: 1 persistOutput: 0 - lastUpdate: 19.870863 + lastUpdate: 35.320103 + breakOnUpdate: 0 _receivers: [] - - rid: 4201949899492425817 + - rid: 4201950332465446973 type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp} data: name: Sensor parent: - rid: 4201950148723474519 + rid: 4201950332465446974 bias: {x: 0, y: 0, z: 0} _synapses: [] combinator: 0 _activator: 0 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1000 - value: 1000 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curveMax: 1 persistOutput: 0 - lastUpdate: 19.870863 + lastUpdate: 35.320103 + breakOnUpdate: 0 _receivers: - - rid: 4201949899492425781 - - rid: 4201950148723474519 + - rid: 4201950332465446972 + - rid: 4201950332465446974 type: {class: Cluster, ns: NanoBrain, asm: Assembly-CSharp} data: name: Braitenberg 1 parent: rid: -2 prefab: {fileID: 11400000} + version: 65 + instances: [] instanceCount: 1 nuclei: - - rid: 4201949899492425781 - - rid: 4201949899492425817 + - rid: 4201950332465446972 + - rid: 4201950332465446973 diff --git a/Samples/Braitenberg/Brains/Braitenberg 2a.asset b/Samples/Braitenberg/Brains/Braitenberg 2a.asset index 8846545..dc88321 100644 --- a/Samples/Braitenberg/Brains/Braitenberg 2a.asset +++ b/Samples/Braitenberg/Brains/Braitenberg 2a.asset @@ -25,7 +25,7 @@ MonoBehaviour: - rid: 4201949899492425817 - rid: 4201950127862317404 - rid: 4201950127862317405 - version: 12 + version: 21 references: version: 2 RefIds: diff --git a/Samples/Braitenberg/Brains/Braitenberg 2b.asset b/Samples/Braitenberg/Brains/Braitenberg 2b.asset index 27e6ce2..5014df8 100644 --- a/Samples/Braitenberg/Brains/Braitenberg 2b.asset +++ b/Samples/Braitenberg/Brains/Braitenberg 2b.asset @@ -25,7 +25,7 @@ MonoBehaviour: - rid: 4201949899492425817 - rid: 4201950127862317404 - rid: 4201950127862317405 - version: 3 + version: 12 references: version: 2 RefIds: diff --git a/Samples/Braitenberg/Brains/Braitenberg 3a.asset b/Samples/Braitenberg/Brains/Braitenberg 3a.asset index 75200fb..eba6472 100644 --- a/Samples/Braitenberg/Brains/Braitenberg 3a.asset +++ b/Samples/Braitenberg/Brains/Braitenberg 3a.asset @@ -25,7 +25,7 @@ MonoBehaviour: - rid: 4201949899492425817 - rid: 4201950127862317404 - rid: 4201950127862317405 - version: 35 + version: 44 references: version: 2 RefIds: diff --git a/Samples/Braitenberg/Brains/Braitenberg 3b.asset b/Samples/Braitenberg/Brains/Braitenberg 3b.asset index d2619d2..e7ecc49 100644 --- a/Samples/Braitenberg/Brains/Braitenberg 3b.asset +++ b/Samples/Braitenberg/Brains/Braitenberg 3b.asset @@ -25,7 +25,7 @@ MonoBehaviour: - rid: 4201949899492425817 - rid: 4201950127862317404 - rid: 4201950127862317405 - version: 32 + version: 41 references: version: 2 RefIds: diff --git a/Samples/Braitenberg/Brains/Braitenberg 4a.asset b/Samples/Braitenberg/Brains/Braitenberg 4a.asset index 6866cd3..8f3f28b 100644 --- a/Samples/Braitenberg/Brains/Braitenberg 4a.asset +++ b/Samples/Braitenberg/Brains/Braitenberg 4a.asset @@ -29,7 +29,7 @@ MonoBehaviour: - rid: 4201950130928877961 - rid: 4201950130928878008 - rid: 4201950130928878009 - version: 2 + version: 11 references: version: 2 RefIds: diff --git a/Samples/Braitenberg/Prefabs/Vehicle 1.prefab b/Samples/Braitenberg/Prefabs/Vehicle 1.prefab index 8cf8dc3..c33bd23 100644 --- a/Samples/Braitenberg/Prefabs/Vehicle 1.prefab +++ b/Samples/Braitenberg/Prefabs/Vehicle 1.prefab @@ -86,7 +86,7 @@ PrefabInstance: objectReference: {fileID: 11400000, guid: c2d142058a073d6fdba2c8fab05834e3, type: 2} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: brain.version - value: 8 + value: 44 objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: brain.instanceCount @@ -98,11 +98,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: 'brain.nuclei.Array.data[0]' - value: 4201950310209421437 + value: 4201950330056344037 objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: 'brain.nuclei.Array.data[1]' - value: 4201950310209421438 + value: 4201950330056344038 objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: 'managedReferences[4201950310209421372]' @@ -128,6 +128,18 @@ PrefabInstance: propertyPath: 'managedReferences[4201950310209421439]' value: Assembly-CSharp NanoBrain.Cluster objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: 'managedReferences[4201950330056344037]' + value: Assembly-CSharp NanoBrain.Neuron + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: 'managedReferences[4201950330056344038]' + value: Assembly-CSharp NanoBrain.Neuron + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: 'managedReferences[4201950330056344039]' + value: Assembly-CSharp NanoBrain.Cluster + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421372].name value: Output @@ -152,6 +164,18 @@ PrefabInstance: propertyPath: managedReferences[4201950310209421439].name value: Braitenberg 1 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].name + value: Output + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].name + value: Sensor + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344039].name + value: Braitenberg 1 + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421372].bias.x value: 0 @@ -232,6 +256,46 @@ PrefabInstance: propertyPath: managedReferences[4201950310209421439].prefab value: objectReference: {fileID: 11400000, guid: c2d142058a073d6fdba2c8fab05834e3, type: 2} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].bias.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].bias.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].bias.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].parent + value: 4201950330056344039 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].bias.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].bias.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].bias.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].parent + value: 4201950330056344039 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344039].parent + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344039].prefab + value: + objectReference: {fileID: 11400000, guid: c2d142058a073d6fdba2c8fab05834e3, type: 2} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421374].version value: 1 @@ -240,6 +304,10 @@ PrefabInstance: propertyPath: managedReferences[4201950310209421439].version value: 8 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344039].version + value: 44 + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421372]._activator value: 0 @@ -288,6 +356,30 @@ PrefabInstance: propertyPath: managedReferences[4201950310209421438].lastUpdate value: 305.44333 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037]._activator + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].combinator + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].lastUpdate + value: 31.01318 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038]._activator + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].combinator + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].lastUpdate + value: 31.01318 + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421372].breakOnUpdate value: 0 @@ -328,6 +420,26 @@ PrefabInstance: propertyPath: managedReferences[4201950310209421439].instanceCount value: 1 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].breakOnUpdate + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037].persistOutput + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].breakOnUpdate + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038].persistOutput + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344039].instanceCount + value: 1 + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421374].nuclei.Array.size value: 2 @@ -336,6 +448,10 @@ PrefabInstance: propertyPath: managedReferences[4201950310209421439].nuclei.Array.size value: 2 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344039].nuclei.Array.size + value: 2 + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421372]._synapses.Array.size value: 1 @@ -376,6 +492,26 @@ PrefabInstance: propertyPath: 'managedReferences[4201950310209421439].nuclei.Array.data[1]' value: 4201950310209421438 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037]._synapses.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038]._synapses.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344039].instances.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: 'managedReferences[4201950330056344039].nuclei.Array.data[0]' + value: 4201950330056344037 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: 'managedReferences[4201950330056344039].nuclei.Array.data[1]' + value: 4201950330056344038 + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421372]._receivers.Array.size value: 0 @@ -392,6 +528,14 @@ PrefabInstance: propertyPath: managedReferences[4201950310209421438]._receivers.Array.size value: 1 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037]._receivers.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344038]._receivers.Array.size + value: 1 + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: 'managedReferences[4201950310209421373]._receivers.Array.data[0]' value: 4201950310209421372 @@ -400,6 +544,10 @@ PrefabInstance: propertyPath: 'managedReferences[4201950310209421438]._receivers.Array.data[0]' value: 4201950310209421437 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: 'managedReferences[4201950330056344038]._receivers.Array.data[0]' + value: 4201950330056344037 + objectReference: {fileID: 0} - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} propertyPath: managedReferences[4201950310209421372]._synapses.Array.data[0].neuron value: 4201950310209421373 @@ -416,6 +564,14 @@ PrefabInstance: propertyPath: managedReferences[4201950310209421437]._synapses.Array.data[0].weight value: 4 objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037]._synapses.Array.data[0].neuron + value: 4201950330056344038 + objectReference: {fileID: 0} + - target: {fileID: 8280937452374640854, guid: c0398fc7a48853d47acb42e4e3498383, type: 3} + propertyPath: managedReferences[4201950330056344037]._synapses.Array.data[0].weight + value: 4 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: - {fileID: 449746320909641321, guid: c0398fc7a48853d47acb42e4e3498383, type: 3}