a82b1762-2ea5-4e85-894e-fd48f5d79339.js.map 5.61 KB
{"version":3,"sources":["assets/script/common/utils/AnimationUtils.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import FrameAnimation from \"../components/FrameAnimation\";\nimport { ScheduleUtils } from \"./ScheduleUtils\";\n\nexport namespace AnimationUtils {\n    export function playFrameAnimation(node: cc.Node, loop: boolean, name: string, callback?: (loopCount?: number) => void) {\n        let anims = node.getComponents(FrameAnimation)\n        if (!anims || anims.length == 0) {\n            return\n        }\n        let findOne: FrameAnimation = anims[0]\n        for (let i = 0; i < anims.length; i++) {\n            const anim = anims[i];\n            if (anim.tag == name) {\n                findOne = anim\n            } else {\n                anim.enabled = false\n            }\n        }\n        findOne.enabled = true;\n        findOne.play(callback, loop);\n    }\n\n    export function playFrameAnimationOnce(node: cc.Node, name: string, callback?: (loopCount?: number) => void) {\n        playFrameAnimation(node, false, name, callback);\n    }\n\n    export function playFrameAnimationLoop(node: cc.Node, name: string) {\n        playFrameAnimation(node, true, name);\n    }\n\n    export function animateProgress(progressBar: cc.ProgressBar, progress: number, speed = 1, label?: cc.Label): Promise<void> {\n        return new Promise((resolve) => {\n            let oldProgress = progressBar.progress\n            if (oldProgress == progress) {\n                resolve();\n                return;\n            }\n            if (progress > 1) progress = 1;\n            if (progress < 0) progress = 0;\n            let delta = progress - oldProgress;\n\n            if ((<any>progressBar).updateFunc) ScheduleUtils.unscheduleUpdate((<any>progressBar).updateFunc);\n            const update = (dt: number) => {\n                oldProgress += delta * dt * speed;\n                if ((delta > 0 && oldProgress > progress) || (delta < 0 && oldProgress < progress)) {\n                    oldProgress = progress;\n                    delete (<any>progressBar).updateFunc;\n                    ScheduleUtils.unscheduleUpdate(update);\n                    resolve();\n                }\n                progressBar.progress = oldProgress;\n                if (label) label.string = `${Math.round(oldProgress * 1000) / 10}%`;\n            }\n            (<any>progressBar).updateFunc = update;\n            ScheduleUtils.scheduleUpdate(update);\n        });\n    }\n\n    //异步动画执行API. 方便链式调用.\n    export async function runAction(node: cc.Node | cc.Component, action: cc.FiniteTimeAction | cc.FiniteTimeAction[]): Promise<any> {\n        return new Promise<any>(resolve => {\n            if (!action || !node) {\n                console.info(\"runAction param is null:\", node, action)\n                resolve();\n                return;\n            }\n            let nd = node instanceof cc.Component ? node.node : node\n            nd.runAction(cc.sequence(action, cc.callFunc(function () {\n                resolve()\n            })))\n        })\n    }\n}\n"]}