分岐設定、And条件、二重使用の、コンパイルエラー
分岐設定、And条件、二重使用の、コンパイルエラー
新規プロジェクトの、コモンイベントで、以下を設定します。
1回目の分岐設定を、クリックすると、赤枠の部分が変わっています。
2回目の分岐設定をクリックすると、元に戻ります。
条件を色々いじったり、新規作成で新たに似たコモンイベントを作ったりしていると、たまに以下のコンパイルエラーが起こり、そのコモンイベントが二度と開けなくなります。
NullReferenceException: Object reference not set to an instance of an object
RPGMaker.Codebase.Editor.MapEditor.Component.EventText.FlowControl.FlowAnd.Invoke (System.String indent, RPGMaker.Codebase.CoreSystem.Knowledge.DataModel.Event.EventDataModel+EventCommand eventCommand) (at Assets/RPGMaker/Codebase/Editor/MapEditor/Component/EventText/FlowControl/FlowAnd.cs:40)
RPGMaker.Codebase.CoreSystem.Service.EventManagement.GetEventCommandLabelText.Invoke (RPGMaker.Codebase.CoreSystem.Knowledge.DataModel.Event.EventDataModel+EventCommand eventCommand) (at Assets/RPGMaker/Codebase/Editor/MapEditor/Component/EventText/GetEventCommandLabelText.cs:241)
RPGMaker.Codebase.Editor.MapEditor.Window.EventEdit.ExecutionContentsWindow.CreateCommandButton (RPGMaker.Codebase.CoreSystem.Knowledge.DataModel.Event.EventDataModel+EventCommand eventCommand, System.Int32 index) (at Assets/RPGMaker/Codebase/Editor/MapEditor/Window/EventEdit/ExecutionContentsWindow.cs:231)
RPGMaker.Codebase.Editor.MapEditor.Window.EventEdit.ExecutionContentsWindow.InitUI (System.Boolean initEvent) (at Assets/RPGMaker/Codebase/Editor/MapEditor/Window/EventEdit/ExecutionContentsWindow.cs:156)
RPGMaker.Codebase.Editor.MapEditor.Window.EventEdit.ExecutionContentsWindow.Init (RPGMaker.Codebase.CoreSystem.Knowledge.DataModel.Event.EventDataModel eventDataModelEntity, System.Boolean initEvent, RPGMaker.Codebase.Editor.MapEditor.Window.EventEdit.ExecutionContentsWindow+EventType eventType) (at Assets/RPGMaker/Codebase/Editor/MapEditor/Window/EventEdit/ExecutionContentsWindow.cs:105)
RPGMaker.Codebase.Editor.MapEditor.Window.EventEdit.ExecutionContentsWindow.Refresh (RPGMaker.Codebase.CoreSystem.Knowledge.DataModel.Event.EventDataModel eventDataModelEntity, System.Boolean flg) (at Assets/RPGMaker/Codebase/Editor/MapEditor/Window/EventEdit/ExecutionContentsWindow.cs:321)
RPGMaker.Codebase.Editor.MapEditor.MapEditor.EventRefresh (System.Boolean flg) (at Assets/RPGMaker/Codebase/Editor/MapEditor/MapEditor.cs:1124)
RPGMaker.Codebase.Editor.MapEditor.Window.EventEdit.ExecutionContentsWindow.ProcessTextSetting () (at Assets/RPGMaker/Codebase/Editor/MapEditor/Window/EventEdit/ExecutionContentsWindow.cs:356)
RPGMaker.Codebase.Editor.MapEditor.Component.CommandEditor.AbstractCommandEditor.Save (RPGMaker.Codebase.CoreSystem.Knowledge.DataModel.Event.EventDataModel eventDataModelEntity) (at Assets/RPGMaker/Codebase/Editor/MapEditor/Component/CommandEditor/AbstractCommandEditor.cs:224)
RPGMaker.Codebase.Editor.MapEditor.Component.CommandEditor.FlowControl.ConditionalBranch+<>c__DisplayClass85_0.<Invoke>b__9 (UnityEngine.UIElements.ChangeEvent`1[T] o) (at Assets/RPGMaker/Codebase/Editor/MapEditor/Component/CommandEditor/FlowControl/ConditionalBranch.cs:423)
UnityEngine.UIElements.EventCallbackFunctor`1[TEventType].Invoke (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.PropagationPhase propagationPhase) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventCallbackRegistry.InvokeCallbacks (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.PropagationPhase propagationPhase) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatchUtilities.PropagateEvent (UnityEngine.UIElements.EventBase evt) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.DefaultDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <8759e14def7c40b68c657c638e8a0434>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <44335255efcb428fb633c913db3eed7a>:0)
UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at <4746c126b0b54f3b834845974d1a9190>:0)
Windows 10
Unity Editor 2021.3.16f
RPG Maker Unite 1.00.08
原因を特定しようと、いろいろ試しているのですが、これ以上分かりません。
これに遭遇しない対策は、おそらく、分岐設定のAnd条件を二重に使わない事だと推測しています。
対応、よろしくお願いします。
-
正式评论
ご報告誠にありがとうございます。
こちらの事象につきまして、不具合を確認致しました。
AND条件で変数が入れ子になっている場合に、アクティブのチェックを外した状態でも値が残ってしまうことで、内側の入れ子のAnd条件に影響が出ておりました。修正の対応を致しますので、今しばらくお待ちください。
ご不便をお掛けして大変申し訳ありません。
何卒よろしくお願い致します。
请先登录再写评论。
评论
1 条评论