diag(lua): Touched.Fire() без аргумента — изолируем виновника

Гипотеза: hrp передача в Lua-функцию через wasmoon крашит null.then.
Если без hrp handler отработает — значит точно hrp.
This commit is contained in:
min 2026-06-09 10:26:35 +03:00
parent c6ba06eea6
commit 0cbd1d7a82

View File

@ -1933,13 +1933,12 @@ export function registerRobloxShim(lua, opts) {
if (!p) return; if (!p) return;
const id = p.primId ?? p.target; const id = p.primId ?? p.target;
const part = partById.get(Number(id)); const part = partById.get(Number(id));
// eslint-disable-next-line no-console
console.warn(`[shim fireTargetEvent] id=${id} kind=${p.kind} part=${part?.Name || 'NOT_FOUND'} connections=${part?.Touched?.connections?.length || 0}`);
if (!part) return; if (!part) return;
// ДИАГНОСТИКА: пробуем сначала без аргумента — чтобы понять hrp ли виноват
if (p.kind === 'touch' || p.kind === 'touched') { if (p.kind === 'touch' || p.kind === 'touched') {
part.Touched.Fire(hrp); part.Touched.Fire(); // БЕЗ hrp — тест
} else if (p.kind === 'untouch' || p.kind === 'untouched') { } else if (p.kind === 'untouch' || p.kind === 'untouched') {
part.TouchEnded.Fire(hrp); part.TouchEnded.Fire();
} }
}, },
fireGlobalEvent(p) { fireGlobalEvent(p) {