This commit is contained in:
33333-33333 2026-06-25 14:51:58 +09:00
commit 434f07cc4e
103 changed files with 8387 additions and 8152 deletions

View file

@ -41,8 +41,6 @@
if (!id) throw new TypeError("ActionSpec.id is required");
// Public lifecycle: canStart -> selectTarget -> start -> tick -> finish/fail -> text.
// Legacy hooks (`condition`, `run`, `update`) remain accepted so old code can be
// migrated incrementally, but newly migrated actions should use the lifecycle names.
const spec = {
...input,
id,
@ -59,12 +57,9 @@
};
const originalCanStart = hasOwnFn(input, "canStart") ? input.canStart : null;
const originalCondition = hasOwnFn(input, "condition") ? input.condition : null;
const originalSelectTarget = hasOwnFn(input, "selectTarget") ? input.selectTarget : null;
const originalStart = hasOwnFn(input, "start") ? input.start : null;
const originalRun = hasOwnFn(input, "run") ? input.run : null;
const originalTick = hasOwnFn(input, "tick") ? input.tick : null;
const originalUpdate = hasOwnFn(input, "update") ? input.update : null;
const originalFinish = hasOwnFn(input, "finish") ? input.finish : null;
const originalFail = hasOwnFn(input, "fail") ? input.fail : null;
const originalText = hasOwnFn(input, "text") ? input.text : null;
@ -76,19 +71,16 @@
spec.canStart = function canStart(tarinai, world, ctx = {}) {
if (originalCanStart) return Boolean(originalCanStart.call(spec, tarinai, world, ctx));
if (originalCondition) return Boolean(originalCondition.call(spec, tarinai, world, ctx));
return true;
};
spec.start = function start(tarinai, world, ctx = {}) {
if (originalStart) return originalStart.call(spec, tarinai, world, ctx);
if (originalRun) return originalRun.call(spec, tarinai, world, ctx);
return true;
};
spec.tick = function tick(tarinai, world, dt = 0, needs = null, ctx = {}) {
if (originalTick) return originalTick.call(spec, tarinai, world, dt, needs, ctx);
if (originalUpdate) return originalUpdate.call(spec, tarinai, world, dt, needs, ctx);
return undefined;
};