Page 1 of 1

SubStateMachineのパラメータリストからリンクをつないでいる状態でリストから削除するとNullReferenceが発生する

Posted: 2019/11/07 03:52
by kag
OS:Windows10
Unity: 2018.4.11
Arbor: 3.6.6

いつもお世話になっております。

・SubStateMachineのパラメータリストからCalculatorTransitionにリンクを繋いでいる状態で、SubStetMachineのリストからパラメータを削除する
・SubStateMachineのパラメータリストからCalculatorTransitionにリンクを繋いでいる状態で、パラメータのGetを無効にして適用や修復をする
と、それぞれ次の例外が発生しました。

Code: Select all

NullReferenceException: Object reference not set to an instance of an object
Arbor.DataSlotField.IsConnectable (Arbor.DataSlotField slotField) (at Assets/Plugins/Arbor/Internal/Scripts/DataFlow/DataSlot/DataSlotField.cs:222)
ArborEditor.InputSlotGUI.RebuildConnectGUI () (at Assets/Plugins/Arbor/Internal/Editor/DataFlow/InputSlotGUI.cs:52)
ArborEditor.DataSlotGUI.Initialize (UnityEditor.SerializedProperty property, Arbor.DataSlot slot) (at Assets/Plugins/Arbor/Internal/Editor/DataFlow/DataSlotGUI.cs:295)
ArborEditor.DataSlotGUI.GetGUI (UnityEditor.SerializedProperty property, Arbor.DataSlot slot) (at Assets/Plugins/Arbor/Internal/Editor/DataFlow/DataSlotGUI.cs:209)
ArborEditor.DataSlotGUI.GetGUI (UnityEditor.SerializedProperty property) (at Assets/Plugins/Arbor/Internal/Editor/DataFlow/DataSlotGUI.cs:223)
ArborEditor.DataSlotPropertyDrawer.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyDrawers/DataSlotPropertyDrawer.cs:127)
UnityEditor.PropertyDrawer.OnGUISafe (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyDrawer.cs:23)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.Rect visibleArea) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:139)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:106)
UnityEditor.EditorGUI.PropertyFieldInternal (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:5953)
UnityEditor.EditorGUI.PropertyField (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:7287)
ArborEditor.FlexiblePrimitivePropertyEditor.OnDataSlotGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/FlexibleField/FlexiblePrimitivePropertyEditor.cs:161)
ArborEditor.FlexiblePrimitivePropertyEditor.OnGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/FlexibleField/FlexiblePrimitivePropertyEditor.cs:221)
ArborEditor.PropertyEditor.DoOnGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyEditor.cs:54)
ArborEditor.PropertyEditorDrawer`1[T].OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyEditor.cs:142)
UnityEditor.PropertyDrawer.OnGUISafe (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyDrawer.cs:23)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.Rect visibleArea) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:139)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:106)
UnityEditor.EditorGUI.PropertyFieldInternal (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:5953)
UnityEditor.EditorGUI.PropertyField (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:7287)
ArborEditor.LayoutArea.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, ArborEditor.LayoutOption[] options) (at Assets/Plugins/Arbor/Internal/Editor/LayoutArea.cs:319)
ArborEditor.LayoutArea.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, ArborEditor.LayoutOption[] options) (at Assets/Plugins/Arbor/Internal/Editor/LayoutArea.cs:309)
ArborEditor.CalculatorConditionListEditor.DoGUI (UnityEditor.SerializedProperty elementProperty) (at Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Common/CalculatorConditionListPropertyDrawer.cs:159)
ArborEditor.CalculatorConditionListEditor.DrawElement (UnityEngine.Rect rect, System.Int32 index, System.Boolean isActive, System.Boolean isFocused) (at Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Common/CalculatorConditionListPropertyDrawer.cs:185)
UnityEditorInternal.ReorderableList.DoListElements (UnityEngine.Rect listRect) (at C:/buildslave/unity/build/Editor/Mono/GUI/ReorderableList.cs:589)
UnityEditorInternal.ReorderableList.DoList (UnityEngine.Rect rect) (at C:/buildslave/unity/build/Editor/Mono/GUI/ReorderableList.cs:414)
ArborEditor.CalculatorConditionListEditor.OnGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Common/CalculatorConditionListPropertyDrawer.cs:292)
ArborEditor.PropertyEditor.DoOnGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyEditor.cs:54)
ArborEditor.PropertyEditorDrawer`1[T].OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyEditor.cs:142)
UnityEditor.PropertyDrawer.OnGUISafe (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyDrawer.cs:23)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.Rect visibleArea) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:139)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:106)
UnityEditor.PropertyHandler.OnGUILayout (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:208)
UnityEditor.EditorGUILayout.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:9231)
UnityEditor.EditorGUILayout.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:9215)
ArborEditor.StateMachine.StateBehaviours.CalculatorTransitionInspector.OnInspectorGUI () (at Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Behaviours/Transition/CalculatorTransitionInspector.cs:25)
ArborEditor.BehaviourEditorGUI.OnGUI () (at Assets/Plugins/Arbor/Internal/Editor/BehaviourEditorGUI.cs:536)
UnityEngine.Debug:LogException(Exception)
ArborEditor.BehaviourEditorGUI:OnGUI() (at Assets/Plugins/Arbor/Internal/Editor/BehaviourEditorGUI.cs:546)
ArborEditor.BehaviourEditorList`1:OnGUI() (at Assets/Plugins/Arbor/Internal/Editor/BehaviourEditorList.cs:586)
ArborEditor.StateEditor:OnGUI() (at Assets/Plugins/Arbor/Internal/Editor/NodeEditors/StateEditor.cs:342)
ArborEditor.NodeEditor:DoGUI() (at Assets/Plugins/Arbor/Internal/Editor/NodeEditors/NodeEditor.cs:426)
ArborEditor.NodeEditor:OnWindow(Int32) (at Assets/Plugins/Arbor/Internal/Editor/NodeEditors/NodeEditor.cs:668)
UnityEditor.EditorWindow:EndWindows()
ArborEditor.ArborEditorWindow:GraphGUI() (at Assets/Plugins/Arbor/Internal/Editor/Windows/ArborEditorWindow.cs:2394)
ArborEditor.ArborEditorWindow:GraphViewGUI() (at Assets/Plugins/Arbor/Internal/Editor/Windows/ArborEditorWindow.cs:2329)
ArborEditor.ArborEditorWindow:<SetupGUI>b__204_8() (at Assets/Plugins/Arbor/Internal/Editor/Windows/ArborEditorWindow.cs:2993)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
よろしくお願いいたします。

Re: SubStateMachineのパラメータリストからリンクをつないでいる状態でリストから削除するとNullReferenceが発生する

Posted: 2019/11/07 04:07
by caitsithware
ご報告ありがとうございます。
調査の後、修正いたします。

Re: SubStateMachineのパラメータリストからリンクをつないでいる状態でリストから削除するとNullReferenceが発生する

Posted: 2019/11/08 11:01
by caitsithware
Arbor 3.6.7にて修正いたしました。
アセットストアから再DLし、リリースノートやreadme記載の更新手順に従って再インポートしてください。
Arbor 3.6.7 リリース | Arbor 3