Nepeo - I wonder if I may ask for your help, if you're able?
I did some regression testing and it appears that r237 and later versions of C3 break the LFJS plugin. Specifically, there is a crash when the layout restarts, but this only happens after there have been object collisions. The collision triggers operate in a similar way to the Physics plugin, but the callback and collision filtering system is different (I am not sure if this is relevant necessarily, but the fact that the crash only happens after a collision makes me suspect that the problem is here somewhere). Here are some details from the console:
Uncaught (in promise) TypeError: Cannot read property 'GetFamilies' of null
at EventSheet._Trigger (eventSheet.js:11)
at EventSheetManager._Trigger (eventSheetManager.js:13)
at EventSheetManager._RunQueuedTriggers (eventSheetManager.js:18)
at Layout._StartRunning (layout.js:16)
at async C3Runtime._DoChangeLayout (runtime.js:78)
at async C3Runtime._MaybeChangeLayout (runtime.js:75)
at async C3Runtime.Tick (runtime.js:68)
This relates to this function:
_Trigger(method, inst, behaviorType) {
if (inst) {
const objectClass = inst.GetObjectClass();
let ret = false;
let r = this._TriggerForClass(method, inst, objectClass, behaviorType);
ret = ret || r;
for (const family of objectClass.GetFamilies()) {
r = this._TriggerForClass(method, inst, family, behaviorType);
ret = ret || r
}
} else
return this._TriggerForClass(method, inst, null, null)
}
I couldn't find anything in the plugin SDK examples that stood out as different and that maybe I should now be doing... I wondered what might have changed so that I can work around it? Thanks.