tarinai/js/item_lifecycle_runtime.js

45 lines
2.6 KiB
JavaScript
Raw Normal View History

2026-06-25 14:51:58 +09:00
"use strict";
2026-06-26 12:46:32 +09:00
// Layer: entity-runtime/items/compatibility
// Keeps legacy Item.prototype methods available while implementation ownership
// lives in lifecycle/dynamic systems.
2026-06-25 14:51:58 +09:00
Object.assign(Item.prototype, {
2026-06-26 12:46:32 +09:00
update(dt, worldRef = world) { return window.TarinaiItemLifecycleLegacySystem?.updateOne?.(this, dt, worldRef) ?? false; },
2026-06-25 17:43:24 +09:00
2026-06-26 12:46:32 +09:00
updateFan(dt, worldRef) { return window.TarinaiItemDynamicToolSystem?.updateFan?.(this, dt, worldRef); },
2026-06-25 17:43:24 +09:00
2026-06-26 12:46:32 +09:00
updateMagnet(dt, worldRef) { return window.TarinaiItemDynamicToolSystem?.updateMagnet?.(this, dt, worldRef); },
2026-06-25 17:43:24 +09:00
2026-06-26 12:46:32 +09:00
updateRotator(dt, worldRef) { return window.TarinaiItemDynamicToolSystem?.updateRotator?.(this, dt, worldRef); },
2026-06-25 17:43:24 +09:00
2026-06-26 12:46:32 +09:00
updateDuplicator(dt, worldRef) { return window.TarinaiItemDynamicDuplicatorSystem?.update?.(this, dt, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
updateZunchiMotion(dt, worldRef) { return window.TarinaiItemDynamicZunchiSystem?.updateMotion?.(this, dt, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
resolveHighSpeedZunchiTarinaiCollision(dt, worldRef, speed = 0) { return window.TarinaiItemDynamicZunchiSystem?.resolveHighSpeedTarinaiCollision?.(this, dt, worldRef, speed); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
updateBall(dt, worldRef) { return window.TarinaiItemDynamicBallSystem?.update?.(this, dt, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
resolveBallObstacleCollisions(dt, worldRef) { return window.TarinaiItemDynamicBallSystem?.resolveObstacleCollisions?.(this, dt, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
applyBallHayDrag(bed, dt, worldRef) { return window.TarinaiItemDynamicBallSystem?.applyHayDrag?.(this, bed, dt, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
resolveBallCircleBounce(obstacle, hitRadius, restitution, worldRef) { return window.TarinaiItemDynamicBallSystem?.resolveCircleBounce?.(this, obstacle, hitRadius, restitution, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
resolveBallRectBounce(rect, worldRef, source = null) { return window.TarinaiItemDynamicBallSystem?.resolveRectBounce?.(this, rect, worldRef, source); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
emitBallBounce(worldRef, obstacle) { return window.TarinaiItemDynamicBallSystem?.emitBounce?.(this, worldRef, obstacle); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
updatePushpin(dt, worldRef) { return window.TarinaiItemDynamicPinSystem?.update?.(this, dt, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
tryStickPushpin(worldRef) { return window.TarinaiItemDynamicPinSystem?.tryStick?.(this, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
attachPushpin(t, worldRef, d = null) { return window.TarinaiItemDynamicPinSystem?.attach?.(this, t, worldRef, d); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
updateLodgedPushpin(dt, worldRef) { return window.TarinaiItemDynamicPinSystem?.updateLodged?.(this, dt, worldRef); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
detachPushpin(worldRef, reason = "released") { return window.TarinaiItemDynamicPinSystem?.detach?.(this, worldRef, reason); },
2026-06-25 14:51:58 +09:00
2026-06-26 12:46:32 +09:00
updateZunchi(dt, worldRef) { return window.TarinaiItemDynamicZunchiSystem?.updateLifecycle?.(this, dt, worldRef); }
2026-06-25 14:51:58 +09:00
});