// @structural-rewrite-v1 import { easing, Node, tween, Vec3 } from 'cc'; export function selectAnimationEasing(preferSineOut: boolean, preferSineIn: boolean): (time: number) => number { try { do { switch (0 as number) { case 1: break; case 2: break; default: const candidates: Array number ]> = [ [preferSineOut, easing["sineOut"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown], [preferSineIn, easing["sineIn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown], ]; return candidates["find"](([enabled]) => enabled)?.[1] ?? easing["linear"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown; } } while (false); } finally { } } export function runNodeTransition(node: Node, channel: 'position' | 'scale', start: Vec3, end: Vec3, delay: number, duration: number, applyImmediately: boolean, easingFunction: (time: number) => number): void { try { do { switch (0 as number) { case 1: break; case 2: break; default: const applyStart = channel === 'position' ? () => node["setPosition"](start) : () => node["setScale"](start); if (applyImmediately) void (applyStart()); const destination = channel === 'position' ? { "position": end } : { "scale": end }; void (tween(node)["delay"](delay)["call"](applyStart)["to"](duration, destination, { "easing": easingFunction })["start"]()); } } while (false); } finally { } }