ekfvoddl3536 / OniMods

산미 모드 개발중 공유할 만한 코드를 모아둡니다.
https://blog.naver.com/ekfvoddl3535
MIT License
12 stars 5 forks source link

Crash after deconstructing wireless receiver #4

Open wadiv76 opened 8 months ago

wadiv76 commented 8 months ago

[02:22:09.252] [1] [INFO] [InterfaceTool] Popping config with key: DebugInstantBuildMode NullReferenceException at (wrapper managed-to-native) UnityEngine.Component.GetComponentFastPath(UnityEngine.Component,System.Type,intptr) at UnityEngine.Component.GetComponent[T] () [0x00021] in <72b60a3dd8cd4f12a155b761a1af9144>:0 at FastWirelessAutomation.SignalNetworkBase.OnOperationalChanged (System.Boolean on) [0x00000] in <83cdda67166e4dbba2caeda6f8f6d0d2>:0 at FastWirelessAutomation.SignalReceiver.OnUpdateState (System.Boolean on) [0x00000] in <83cdda67166e4dbba2caeda6f8f6d0d2>:0 at (wrapper delegate-invoke) System.Action1[System.Boolean].invoke_void_T(bool) at FastWirelessAutomation.Networks.ChannelData.InvokeEvent (System.Boolean sig) [0x0000a] in <83cdda67166e4dbba2caeda6f8f6d0d2>:0 at FastWirelessAutomation.Networks.ChannelManager.SignalEmit (System.Int32 ch, System.Boolean ison) [0x00020] in <83cdda67166e4dbba2caeda6f8f6d0d2>:0 at FastWirelessAutomation.SignalEmitter.OnOperationalChanged (System.Boolean on) [0x00007] in <83cdda67166e4dbba2caeda6f8f6d0d2>:0 at FastWirelessAutomation.SignalNetworkBase.OnOperChngSTATIC (FastWirelessAutomation.SignalNetworkBase inst, System.Object data) [0x00000] in <83cdda67166e4dbba2caeda6f8f6d0d2>:0 at EventSystem+IntraObjectHandler1[ComponentType].Trigger (UnityEngine.GameObject gameObject, System.Object eventData) [0x0001e] in :0 at EventSystem.Trigger (UnityEngine.GameObject go, System.Int32 hash, System.Object data) [0x0004f] in :0 at KMonoBehaviour.Trigger (System.Int32 hash, System.Object data) [0x00026] in :0 at Operational.UpdateOperational () [0x00085] in :0 at Operational.SetFlag (Operational+Flag flag, System.Boolean value) [0x0006b] in :0 at LogicOperationalController.CheckWireState () [0x0002b] in :0 at LogicOperationalController.OnLogicValueChanged (System.Object data) [0x00017] in :0 at LogicOperationalController+<>c.<.cctor>b13_0 (LogicOperationalController component, System.Object data) [0x00000] in :0 at EventSystem+IntraObjectHandler`1[ComponentType].Trigger (UnityEngine.GameObject gameObject, System.Object eventData) [0x0001e] in :0 at EventSystem.Trigger (UnityEngine.GameObject go, System.Int32 hash, System.Object data) [0x0004f] in :0 at EventExtensions.Trigger (UnityEngine.GameObject go, System.Int32 hash, System.Object data) [0x0001d] in :0 at LogicPorts.OnLogicValueChanged (HashedString port_id, System.Int32 new_value) [0x00014] in :0 at LogicPorts+<>c__DisplayClass16_1.b1 (System.Int32 new_value) [0x0000e] in :0 at LogicEventHandler.ReceiveLogicEvent (System.Int32 value) [0x0000e] in :0 at LogicCircuitNetwork.SendLogicEvents (System.Boolean force_send, System.Int32 id) [0x00033] in :0 at LogicCircuitManager.PropagateSignals (System.Boolean force_send_events) [0x00052] in :0 at LogicCircuitManager.Refresh (System.Single dt) [0x00085] in :0 at LogicCircuitManager.RenderEveryTick (System.Single dt) [0x00000] in :0 at Game.Update () [0x00056] in :0

Things that may be important: I am using the wireless mod to communicate with power stations to turn on when battery transformers are low on power. Some of these power stations are inside rocket modules. This only started becoming a problem when I transferred one of my power stations along with its wireless receiver into one of the rocket modules. I have to delete the old one on the asteroid and shortly after that the game crashes

ekfvoddl3536 commented 8 months ago

The issue has been resolved, and the Workshop item will be updated soon. If it works fine, please close the issue :)

wadiv76 commented 8 months ago

This appears to be somewhat resolved. I am able to get past the crash now, but if I deconstruct the Receiver while it is still on the primary Channel(1) that I am using the game will still crash with the same error. My work around is to change the channel to something unused and then have the Receiver deconstructed. This seems to bypass the crash now.

ekfvoddl3536 commented 2 months ago

It should be fine now. Initially, the issue could be reproduced by 'setting the channel to 1(OR channel), then constructing and deconstructing a wireless receiver, followed by clicking on a wireless transmitter'. After resolving this issue, I tested it again and it no longer caused any problems.

Thank you for reporting the bug :)