{"version":3,"sources":["Users/smallmain/Documents/Work/cocos-service-pack-src/engine/gulp/browserify_prelude.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/DebugInfos.json","cocos2d-js.be84c.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/actions/CCAction.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/actions/CCActionCatmullRom.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/actions/CCActionEase.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/actions/CCActionInstant.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/actions/CCActionInterval.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/actions/CCActionManager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/actions/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/actions/tween.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/animation-animator.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/animation-clip.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/animation-curves.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/animation-manager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/animation-state.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/bezier.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/easing.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/motion-path-helper.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/playable.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/animation/types.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/CCDebug.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/CCDirector.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/CCGame.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/CCNode.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/CCPrivateNode.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/CCScene.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/CCScheduler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/CCAssetManager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/builtins.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/bundle.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/cache.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/config.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/depend-util.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/deprecated.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/deserialize.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/download-dom-audio.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/download-dom-image.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/download-file.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/download-script.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/downloader.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/factory.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/fetch.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/font-loader.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/helper.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/load.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/pack-manager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/parser.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/pipeline.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/preprocess.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/releaseManager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/request-item.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/shared.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/task.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/urlTransformer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/asset-manager/utilities.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCAsset.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCAudioClip.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCBitmapFont.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCBufferAsset.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCFont.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCJsonAsset.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCLabelAtlas.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCPrefab.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCRenderTexture.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCSceneAsset.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCScripts.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCSpriteAtlas.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCSpriteFrame.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCTTFFont.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCTextAsset.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCTexture2D.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/CCVideoClip.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/CCEffectAsset.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/CCMaterial.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/effect-base.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/effect-parser.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/effect-variant.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/effect.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/material-pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/material-variant.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/assets/material/utils.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/base-ui/CCWidgetManager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/camera/CCCamera.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/component-scheduler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCAnimation.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCBlockInputEvents.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCButton.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCCanvas.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCComponent.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCComponentEventHandler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCLabel.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCLabelOutline.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCLabelShadow.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCLayout.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCMask.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCMotionStreak.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCRenderComponent.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCRichText.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCScrollBar.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCScrollView.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCSlider.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCSprite.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCToggle.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCToggleContainer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCToggleGroup.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCViewGroup.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/CCWidget.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/components/missing-script.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event-manager/CCEvent.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event-manager/CCEventListener.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event-manager/CCEventManager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event-manager/CCTouch.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event-manager/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event/event-listeners.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event/event-target.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event/event.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/event/system-event.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/graphics/graphics.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/graphics/helper.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/graphics/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/graphics/types.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/node-activator.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCClass.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCClassDecorator.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCEnum.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCInputExtension.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCInputManager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCMacro.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCObject.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCSAXParser.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCScreen.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCSys.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCView.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/CCVisibleRect.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/attribute.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/callbacks-invoker.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/compiler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/deserialize-compiled.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/deserialize.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/id-generater.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/instantiate-jit.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/instantiate.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/js.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/preprocess-class.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/requiring-frame.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/platform/utils.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/predefine.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/assembler-2d.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/assembler-pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/assembler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/canvas/Device.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/canvas/Texture2D.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/render-flow.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/utils/dynamic-atlas/manager.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/utils/dynamic-atlas/reusable-atlas.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/utils/label/bmfont.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/utils/label/label-frame.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/utils/label/letter-font.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/utils/label/ttf.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/utils/utils.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/graphics/earcut.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/graphics/impl.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/graphics/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/label/2d-multi/bmfont.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/label/2d-multi/ttf.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/label/2d/bmfont.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/label/2d/letter.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/label/2d/nativeTTF.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/label/2d/ttf.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/label/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/mask-assembler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/motion-streak-multi.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/motion-streak.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/bar-filled.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/mesh.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/radial-filled.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/simple.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/sliced.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/tiled.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/bar-filled.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/mesh.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/radial-filled.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/simple.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/sliced.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/tiled.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/assemblers/sprite/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/flex-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/mesh-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/model-batcher.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/quad-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/render-data.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/spine-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/renderer/webgl/vertex-format.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/sp/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/sp/multi-batcher.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/sp/multi-handler.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/sp/sp.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/CCPath.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/affine-transform.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/base-node.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/binary-search.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/blend-func.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/decode-uuid.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/find.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/gray-sprite-state.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/html-text-parser.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/misc.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/mutable-forward-iterator.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/prefab-helper.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/profiler/CCProfiler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/profiler/counter.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/profiler/perf-counter.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/text-utils.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/texture-util.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/trans-pool/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/trans-pool/mem-pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/trans-pool/node-mem-pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/trans-pool/node-unit.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/utils/trans-pool/unit-base.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/color.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/index.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/mat3.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/mat4.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/quat.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/rect.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/size.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/trs.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/utils.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/value-type.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/vec2.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/vec3.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/core/value-types/vec4.ts","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/deprecated.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/particle/CCParticleAsset.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/build/mappings/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/core/base-renderer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/core/input-assembler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/core/pass.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/core/program-lib.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/core/technique.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/core/view.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/enums.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/device.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/enums.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/frame-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/index-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/misc.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/program.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/render-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/state.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/texture-2d.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/texture-cube.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/texture.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/vertex-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/gfx/vertex-format.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/memop/circular-pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/memop/fixed-array.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/memop/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/memop/linked-array.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/memop/pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/memop/recycle-pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/memop/timsort.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/memop/typed-array-pool.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/murmurhash2_gc.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/renderers/forward-renderer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/scene/camera.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/scene/model.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/scene/scene.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/renderer/types.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/cocos2d/tilemap/CCTiledMapAsset.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extends.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/AttachUtil.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/Skeleton.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/lib/spine.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/skeleton-cache.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/skeleton-data.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/skeleton-texture.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/spine-assembler.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/track-entry-listeners.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/extensions/spine/vertex-effect-delegate.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/index.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/polyfill/array-buffer.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/polyfill/array.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/polyfill/misc.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/polyfill/number.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/polyfill/object.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/polyfill/string.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/polyfill/typescript.js","Users/smallmain/Documents/Work/cocos-service-pack-src/engine/predefine.js"],"names":["outer","modules","cache","entry","newRequire","name","jumped","module","moduleData","exports","x","i","length","1","require","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1100","1101","1200","1201","1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1300","1400","1404","1405","1406","1408","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1513","1605","1606","1610","1612","1613","1617","1618","1619","1620","1623","1624","1625","1626","1627","1632","1633","1634","1635","1636","1637","1638","1639","1800","1801","1802","1803","1900","2000","2200","2201","2300","2400","2602","2603","2606","2607","2608","2609","2610","2614","2616","2617","2618","2619","2623","2625","2626","2627","2628","2712","3005","3006","3007","3103","3112","3113","3116","3117","3119","3120","3121","3300","3400","3401","3500","3501","3502","3503","3504","3505","3506","3507","3508","3509","3510","3511","3600","3601","3602","3603","3604","3605","3606","3607","3608","3609","3610","3611","3612","3613","3614","3615","3616","3617","3618","3619","3620","3621","3622","3623","3624","3625","3626","3627","3628","3633","3634","3635","3636","3637","3638","3639","3640","3641","3642","3643","3644","3645","3646","3647","3648","3649","3651","3652","3653","3654","3655","3700","3701","3800","3801","3802","3803","3804","3805","3806","3807","3808","3809","3810","3811","3812","3813","3814","3815","3816","3817","3818","3819","3820","3821","3900","3901","3902","3903","3904","3905","3906","3907","3912","4003","4004","4011","4012","4013","4200","4201","4202","4300","4400","4600","4700","4800","4901","4902","4914","4915","4916","4921","4922","4923","4924","4925","4926","4927","4928","4929","4930","4932","4933","5000","5001","5100","5200","5201","5202","5300","5301","5302","5303","5304","5402","5403","5404","5405","5406","5500","5501","5507","5508","5510","5511","5512","5513","5514","5515","5516","5517","5601","5602","5603","5700","5800","5801","5802","5900","5901","5902","6000","6001","6017","6018","6019","6020","6021","6022","6023","6024","6025","6026","6027","6028","6029","6030","6031","6032","6400","6402","6500","6600","6601","6700","6800","6801","6900","6901","6902","6903","6904","6905","7100","7101","7200","7201","7202","7203","7210","7211","7215","7216","7217","7218","7219","7221","7222","7236","7237","7238","7239","7240","7241","7401","7402","7501","7502","7503","7504","7506","7507","7508","7509","7510","7600","7601","7602","7603","7604","7605","7700","7701","7702","7800","7801","7802","7803","7804","7805","7900","7901","7902","7903","7904","7905","7906","7907","7908","7909","8000","8001","8002","8003","8103","8104","8105","8106","8107","8108","8109","8200","8300","8301","8400","8401","9000","9001","9100","9101","9102","9103","9104","9105","9106","9107","9200","0100","2","misc","cc","Action","Class","ctor","this","originalTarget","target","tag","TAG_INVALID","clone","action","isDone","startWithTarget","stop","step","dt","logID","update","getTarget","setTarget","getOriginalTarget","setOriginalTarget","getTag","setTag","retain","release","FiniteTimeAction","extends","_duration","getDuration","_timesForRepeat","setDuration","duration","reverse","Speed","speed","_speed","_innerAction","initWithAction","getSpeed","setSpeed","errorID","prototype","call","setInnerAction","getInnerAction","Follow","followedNode","rect","_followedNode","_boundarySet","_boundaryFullyCovered","_halfScreenSize","_fullScreenSize","leftBoundary","rightBoundary","topBoundary","bottomBoundary","_worldRect","initWithTarget","locRect","Rect","y","width","height","isBoundarySet","setBoundarySet","value","setBoudarySet","_this","winSize","v2","mul","targetWorldPos","convertToWorldSpaceAR","Vec2","ZERO","followedWorldPos","delta","sub","tempPos","parent","convertToNodeSpaceAR","add","setPosition","clampf","activeInHierarchy","follow","../core/platform/CCClass","../core/utils/misc","3","cardinalSplineAt","p0","p1","p2","p3","tension","t","t2","t3","s","b1","b2","b3","b4","getControlPointAt","controlPoints","pos","p","Math","min","max","reverseControlPoints","newArray","push","cloneControlPoints","CardinalSplineTo","ActionInterval","points","_points","_deltaT","_tension","_previousPosition","_accumulatedDiff","undefined","initWithDuration","setPoints","_computeEaseTime","lt","ps","locDT","newPos","macro","ENABLE_STACKABLE_ACTIONS","tempX","tempY","locAccDiff","updatePosition","reversePoints","cardinalSplineTo","getPoints","CardinalSplineBy","_startPosition","copyConfig","slice","current","reverseArray","pop","unshift","cardinalSplineBy","posX","posY","a","CatmullRomTo","catmullRomTo","CatmullRomBy","catmullRomBy","4","easeIn","rate","_rate","easing","pow","easeOut","easeInOut","_easeExponentialInObj","_easeExponentialOutObj","easeExponentialIn","easeExponentialOut","_easeExponentialInOutObj","easeExponentialInOut","_easeSineInObj","cos","PI","_easeSineOutObj","easeSineIn","sin","easeSineOut","_easeSineInOutObj","easeSineInOut","_easeElasticInObj","_easeElasticOutObj","easeElasticIn","period","_period","easeElasticOut","easeElasticInOut","newT","locPeriod","_bounceTime","time1","_easeBounceInObj","_easeBounceOutObj","easeBounceIn","easeBounceOut","_easeBounceInOutObj","easeBounceInOut","_easeBackInObj","overshoot","_easeBackOutObj","easeBackIn","easeBackOut","_easeBackInOutObj","easeBackInOut","easeBezierAction","b","c","d","_easeQuadraticActionIn","time","easeQuadraticActionIn","_easeQuadraticActionOut","easeQuadraticActionOut","_easeQuadraticActionInOut","resultTime","easeQuadraticActionInOut","_easeQuarticActionIn","easeQuarticActionIn","_easeQuarticActionOut","easeQuarticActionOut","_easeQuarticActionInOut","easeQuarticActionInOut","_easeQuinticActionIn","easeQuinticActionIn","_easeQuinticActionOut","easeQuinticActionOut","_easeQuinticActionInOut","easeQuinticActionInOut","_easeCircleActionIn","sqrt","easeCircleActionIn","_easeCircleActionOut","easeCircleActionOut","_easeCircleActionInOut","easeCircleActionInOut","_easeCubicActionIn","easeCubicActionIn","_easeCubicActionOut","easeCubicActionOut","_easeCubicActionInOut","easeCubicActionInOut","5","ActionInstant","Show","_renderComps","getComponentsInChildren","RenderComponent","render","enabled","Hide","show","hide","ToggleVisibility","toggleVisibility","RemoveSelf","isNeedCleanUp","_isNeedCleanUp","init","removeFromParent","removeSelf","DestroySelf","destroy","destroySelf","FlipX","flip","_flippedX","initWithFlipX","scaleX","abs","flipX","FlipY","_flippedY","initWithFlipY","scaleY","flipY","Place","_x","_y","initWithPosition","place","CallFunc","selector","selectorTarget","data","_selectorTarget","_function","_data","initWithFunction","execute","getTargetCallback","setTargetCallback","sel","callFunc","6","MAX_VALUE","_elapsed","_firstTick","_easeList","_repeatForever","_repeatMethod","_speedMethod","getElapsed","FLT_EPSILON","_cloneDecoration","_reverseEaseList","easeObj","arguments","locList","n","setAmplitudeRate","amp","getAmplitudeRate","repeat","times","round","isNaN","repeatForever","actionInterval","Sequence","tempArray","_actions","_split","_last","_reversed","paramArray","Array","last","prev","action1","_actionOneTwo","initWithTwoActions","actionOne","actionTwo","durationOne","durationTwo","new_t","found","locSplit","locActions","locLast","actionFound","sequence","result","Repeat","_times","_total","_nextDt","_actionInstant","locInnerAction","locDuration","locTimes","locNextDt","RepeatForever","Spawn","_one","_two","action2","ret","d1","d2","delayTime","spawn","pSpawn","RotateTo","statics","_reverse","dstAngle","_startAngle","_dstAngle","_angle","startAngle","angle","rotateTo","RotateBy","deltaAngle","_deltaAngle","rotateBy","MoveBy","deltaPos","deltaY","_positionDelta","position","locPosX","locPosY","locStartPosition","targetX","targetY","locPreviousPosition","moveBy","MoveTo","_endPosition","moveTo","SkewTo","sx","sy","_skewX","_skewY","_startSkewX","_startSkewY","_endSkewX","_endSkewY","_deltaX","_deltaY","skewX","skewY","skewTo","SkewBy","deltaSkewX","deltaSkewY","skewBy","JumpBy","jumps","_delta","_height","_jumps","frac","jumpBy","JumpTo","jumpTo","bezierAt","BezierBy","_config","newConfigs","selConf","locConfig","xa","xb","xc","xd","ya","yb","yc","yd","x0","y0","x1","y1","x2","y2","r","bezierBy","BezierTo","_toConfig","locStartPos","locToConfig","bezierTo","ScaleTo","_scaleX","_scaleY","_startScaleX","_startScaleY","_endScaleX","_endScaleY","scaleTo","ScaleBy","scaleBy","Blink","blinks","_originalState","m","opacity","blink","FadeTo","_toOpacity","_fromOpacity","fromOpacity","fadeTo","FadeIn","_reverseAction","FadeOut","fadeIn","fadeOut","TintTo","red","green","blue","_to","color","_from","Color","g","locTo","locFrom","tintTo","TintBy","deltaRed","deltaGreen","deltaBlue","_deltaR","_deltaG","_deltaB","_fromR","_fromG","_fromB","tintBy","DelayTime","ReverseTime","_other","reverseTime","TargetedAction","_action","_forcedTarget","getForcedTarget","setForcedTarget","forcedTarget","targetedAction","7","js","HashElement","actions","actionIndex","currentAction","paused","lock","ActionManager","_hashTargets","createMap","_arrayTargets","_currentTarget","director","_scheduler","enableForTarget","constructor","_elementPool","_searchElementByTarget","arr","k","_getElement","element","_putElement","addAction","_id","removeAllActions","locTargets","removeAllActionsFromTarget","forceDelete","_deleteHashElement","removeAction","splice","_removeActionByTag","l","_removeActionAtIndex","_removeAllActionsByTag","removeActionByTag","hashTargets","_element","removeAllActionsByTag","_element2","getActionByTag","getNumberOfRunningActionsInTarget","pauseTarget","resumeTarget","pauseAllRunningActions","idsWithActions","resumeTargets","targetsToResume","pauseTargets","targetsToPause","purgeSharedManager","getScheduler","unscheduleUpdate","index","targets","locCurrTarget","elt","CC_TEST","../core/platform/js","8","./CCAction","./CCActionCatmullRom","./CCActionEase","./CCActionInstant","./CCActionInterval","./CCActionManager","./tween","9","_bezier","_tweenID","TweenAction","props","opts","_opts","Object","create","_props","progress","easingName","warnID","relative","isNumber","lerp","warn","prop","_originProps","start","end","easingTime","onUpdate","SetAction","Tween","_finalAction","_target","_tag","stopAll","getActionManager","stopAllByTag","stopAllByTarget","then","other","_union","isValid","tween","union","assign","c1","c2","to","c0x","c0y","c1x","c1y","bezier","by","_this2","tmp_args","wrapAction","arg","apply","set","delay","parallel","previousAsInputActions","keys","_loop","key","_loop2","_i","args","_i2","../animation/bezier","10","Playable","_require","EventAnimCurve","EventInfo","WrapModeMask","binarySearch","binarySearchEpsilon","AnimationAnimator","animation","_anims","array","MutableForwardIterator","extend","playState","state","startTime","clip","curveLoaded","initClipData","animator","play","setTime","stopStatesExcept","iterator","anim","stopState","addAnimation","indexOf","_setEventTarget","removeAnimation","fastRemoveAt","sample","pauseState","pause","resumeState","resume","isPaused","setStateTime","onStop","onPause","onResume","_reloadClip","createBatchedProperty","propPath","firstDotIndex","mainValue","animValue","nextValue","leftIndex","rightIndex","nextName","lastPropName","root","wrapMode","frameRate","Loop","repeatCount","Infinity","curves","createCurves","events","curve","eventData","ratio","frame","eventInfo","ratios","func","params","../core/utils/binary-search","./animation-curves","./playable","./types","11","WrapMode","DynamicAnimCurve","quickFindIndex","sampleMotionPaths","AnimationClip","Asset","properties","default","type","Float","get","Normal","curveData","visible","createWithSpriteFrames","spriteFrames","isArray","frames","comps","cc.Sprite","spriteFrame","onLoad","Number","parseFloat","parseInt","createPropCurve","keyframes","motionPaths","isMotionPathProp","Node","keyframe","motionPath","curveValue","values","curveTypes","types","Linear","Bezier","currRatioDif","lastRatioDif","canOptimize","EPSILON","_l","_findFrameIndex","firstValue","_lerp","_lerpNumber","Quat","_lerpQuat","_lerpVector2","Vec3","_lerpVector3","_lerpObject","createTargetCurves","propsData","compsData","compName","comp","getComponent","compData","_propPath","_curve","childrenCurveDatas","paths","namePath","find","childCurveDatas","./motion-path-helper","12","bezierByTime","WrappedInfo","computeRatioByType","AnimCurve","onTimeChangedManually","eachLength","floorIndex","_cachedIndex","from","out","quat","v3","frameCount","shoudRefind","cachedIndex","_fromRatio","_toRatio","fromVal","fromRatio","toRatio","ratioBetweenFrames","toVal","_wrappedInfo","_default","_lastWrappedInfo","_ignoreIndex","NaN","_wrapIterations","iterations","currentWrappedInfo","getWrappedInfo","direction","currentIndex","frameIndex","_fireEvent","currentIterations","lastWrappedInfo","lastIterations","lastIndex","lastDirection","interationsChanged","PingPong","getAnimationManager","pushDelayEvent","components","_components","event","funcName","j","component","info","./bezier","13","AnimationManager","_delayEvents","_isPlaying","_isPaused","destruct","14","Types","AnimationState","_currentFramePlayed","_delay","_delayTime","_process","process","_clip","_name","_lastframeEventOn","emit","proto","_emit","on","callback","once","self","off","hasEventListener","onPlay","lastInfo","stopped","simpleProcess","len","_lastIterations","_needRevers","needRevers","isEnd","isOddIteration","Reverse","tempRatio","tempTime","shouldWrap","_wrapMode","ShouldWrap","obsolete","getset","CC_EDITOR","_repeatCount","15","C1","C2","C3","C4","t1","acos","pi","tau","crt","v","cardano","pa","pb","pc","pd","pa3","pb3","pc3","rd","r3","a3","q","q2","discriminant","u1","v1","x3","mp3","mp33","cosphi","phi","crtr","sd","percent","p1y","p2y","16","constant","linear","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","quartIn","quartOut","quartInOut","quintIn","quintOut","quintInOut","sineIn","sineOut","sineInOut","expoIn","expoOut","expoInOut","circIn","circOut","circInOut","elasticIn","asin","elasticOut","elasticInOut","backIn","backOut","backInOut","bounceIn","bounceOut","bounceInOut","smooth","fade","_makeOutIn","fnIn","fnOut","quadOutIn","cubicOutIn","quartOutIn","quintOutIn","sineOutIn","expoOutIn","circOutIn","backOutIn","bounceOutIn","17","./animation-animator","./animation-clip","./animation-manager","./animation-state","./easing","18","Curve","beziers","progresses","computeBeziers","startPoint","endPoint","startCtrlPoint","endCtrlPoint","getLength","getPointAt","u","getUtoTmapping","getPoint","lengths","getLengths","divisions","__arcLengthDivisions","cacheArcLengths","vector","sum","mag","distance","arcLengths","il","targetArcLength","low","high","comparison","floor","lengthBefore","lengthAfter","segmentLength","segmentFraction","checkMotionPath","controls","fps","createControlPoints","in","map","motionPathValid","_motionPath","newValues","newTypes","newRatios","addNewDatas","startRatioOffset","newType","nextRatio","betweenRatio","results","finalProgress","l2","normal","normalize","bezierIndex","newRatio","19","debug","_stepOnce","virtual","onError","getError","../core/CCDebug","20","Enum","Default","LoopReverse","PingPongReverse","21","utils","debugInfos","ERROR_MAP_URL","logList","log","error","assert","console","bind","resetDebugSetting","mode","DebugMode","NONE","ERROR","logToWebPage","msg","game","canvas","logDiv","document","createElement","setAttribute","logDivStyle","style","zIndex","top","left","logListStyle","backgroundColor","borderBottom","borderTopWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderLeftStyle","borderRightStyle","padding","margin","appendChild","parentNode","scrollTop","scrollHeight","formatStr","cond","shiftArguments","ERROR_FOR_WEB_PAGE","INFO_FOR_WEB_PAGE","CC_JSB","CC_DEV","Error","INFO","CC_RUNTIME","_throw","callInNextTick","getTypedFormatter","id","argsArray","concat","logFormatter","warnFormatter","errorFormatter","assertFormatter","assertID","WARN","WARN_FOR_WEB_PAGE","_resetDebugSetting","isDisplayStats","profiler","isShowingStats","setDisplayStats","displayStats","renderType","RENDER_TYPE_CANVAS","showStats","hideStats","config","showFPS","../../DebugInfos","./platform/utils","22","EventTarget","ComponentScheduler","NodeActivator","Obj","renderer","eventManager","Scheduler","Director","_paused","_purgeDirectorInNextLoop","_winSizeInPoints","_scene","_loadingScene","_totalFrames","_lastUpdate","_deltaTime","_startTime","_maxParticleDeltaTime","_compScheduler","_nodeActivator","_actionManager","EVENT_SHOW","performance","now","EVENT_ENGINE_INITED","size","scheduleUpdate","PRIORITY_SYSTEM","sharedInit","setEnabled","_animationManager","CollisionManager","_collisionManager","PhysicsManager","_physicsManager","Physics3DManager","CC_PHYSICS_BUILTIN","CC_PHYSICS_CANNON","_physics3DManager","_widgetManager","calculateDeltaTime","CC_DEBUG","convertToGL","uiPoint","container","view","box","getBoundingClientRect","window","pageXOffset","clientLeft","pageYOffset","clientTop","_devicePixelRatio","_isRotated","_viewportRect","convertToUI","glPoint","getWinSize","getWinSizeInPixels","purgeCachedData","assetManager","releaseAll","purgeDirector","unscheduleAll","reset","clear","builtins","runSceneImmediate","scene","onBeforeLoadScene","onLaunched","Scene","SceneAsset","CC_BUILD","_load","timeEnd","persistNodeList","_persistRootNodes","node","existNode","getChildByUuid","uuid","getSiblingIndex","_destroyImmediate","insertChild","oldScene","_releaseManager","_autoRelease","_deferredDestroy","EVENT_BEFORE_SCENE_LAUNCH","_activate","EVENT_AFTER_SCENE_LAUNCH","runScene","EVENT_AFTER_DRAW","loadScene","sceneName","_onUnloaded","bundle","bundles","getSceneInfo","EVENT_BEFORE_SCENE_LOADING","err","preloadScene","onProgress","onLoaded","setDepthTest","Camera","main","depth","setClearColor","clearColor","getRunningScene","getScene","getAnimationInterval","getFrameRate","setAnimationInterval","setFrameRate","getDeltaTime","getTotalTime","getTotalFrames","setScheduler","scheduler","setActionManager","actionManager","getCollisionManager","getPhysicsManager","getPhysics3DManager","startAnimation","stopAnimation","_resetDeltaTime","mainLoop","EVENT_BEFORE_UPDATE","startPhase","updatePhase","lateUpdatePhase","EVENT_AFTER_UPDATE","EVENT_BEFORE_DRAW","frameUpdateListeners","__fastOn","__fastOff","addon","EVENT_PROJECTION_CHANGED","EVENT_BEFORE_VISIT","EVENT_AFTER_VISIT","PROJECTION_2D","PROJECTION_3D","PROJECTION_CUSTOM","PROJECTION_DEFAULT","EVENT_BEFORE_PHYSICS","EVENT_AFTER_PHYSICS","./CCGame","./CCScheduler","./component-scheduler","./event-manager","./event/event-target","./node-activator","./platform/CCObject","./renderer","23","dynamicAtlasManager","EVENT_HIDE","EVENT_RESTART","EVENT_GAME_INITED","EVENT_RENDERER_INITED","RENDER_TYPE_WEBGL","RENDER_TYPE_OPENGL","_configLoaded","_isCloning","_prepared","_rendererInitialized","_renderContext","_intervalId","_lastTime","_frameTime","onStart","cancelAnimFrame","_setAnimFrame","_runMainLoop","audioEngine","_break","_restore","restart","removePersistRootNode","uncacheAll","close","_initEngine","_initRenderer","_initEvents","_loadPreviewScript","cb","CC_PREVIEW","_prepareFinished","ENGINE_VERSION","eventTargetOn","eventTargetOnce","prepare","run","_initConfig","addPersistRootNode","isNode","_persistNode","_addPersistNodeRef","_removePersistNodeRef","isPersistRootNode","rAF","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","requestAnimFrame","_stTimeWithRAF","_stTime","_ctTime","cancelAnimationFrame","cancelRequestAnimationFrame","msCancelRequestAnimationFrame","mozCancelRequestAnimationFrame","oCancelRequestAnimationFrame","webkitCancelRequestAnimationFrame","msCancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","oCancelAnimationFrame","currTime","timeToCall","setTimeout","clearTimeout","_callback","skip","debugMode","exposeClassName","renderMode","registerSystemEvent","collisionMatrix","groupList","_determineRenderType","userRenderMode","supportRender","sys","capabilities","el","localCanvas","localContainer","addClass","hasClass","className","HTMLElement","querySelector","tagName","insertBefore","clientWidth","clientHeight","body","documentElement","stencil","antialias","ENABLE_WEBGL_ANTIALIAS","alpha","ENABLE_TRANSPARENT_CANVAS","initWebGL","device","_gl","CLEANUP_IMAGE_CACHE","initCanvas","_ctx","oncontextmenu","_isContextMenuEnable","win","hiddenPropName","internal","inputManager","hidden","mozHidden","msHidden","webkitHidden","onHidden","onShown","arg0","arg1","arg2","arg3","arg4","changeList","addEventListener","navigator","userAgent","onfocus","../audio/CCAudioEngine","../core/renderer/utils/dynamic-atlas/manager","./CCDebug","./renderer/index.js","24","_valueTypes","_utils","BaseNode","PrefabHelper","nodeMemPool","NodeMemPool","AffineTrans","Event","RenderFlow","Flags","Destroying","ERR_INVALID_NUMBER","ONE_DEGREE","ActionManagerExist","emptyFunc","_gwpVec3","_gwpQuat","_tpVec3a","_tpVec3b","_tpQuata","_tpQuatb","_swpVec3","_gwsVec3","_swsVec3","_gwrtVec3a","_gwrtVec3b","_gwrtQuata","_gwrtQuatb","_laVec3","_laQuat","_urfVec3","_urfQuat","_htVec3a","_htVec3b","_gwrQuat","_swrQuat","_quata","_mat4_temp","mat4","_vec3_temp","POSITION_ON","SCALE_ON","ROTATION_ON","SIZE_ON","ANCHOR_ON","COLOR_ON","_cachedPool","Pool","_get","BuiltinGroupIndex","DEBUG","LocalDirtyFlag","POSITION","SCALE","ROTATION","SKEW","TRS","RS","TRSS","PHYSICS_POSITION","PHYSICS_SCALE","PHYSICS_ROTATION","PHYSICS_TRS","PHYSICS_RS","ALL_POSITION","ALL_SCALE","ALL_ROTATION","ALL_TRS","ALL","EventType","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","MOUSE_DOWN","MOUSE_MOVE","MOUSE_ENTER","MOUSE_LEAVE","MOUSE_UP","MOUSE_WHEEL","POSITION_CHANGED","ROTATION_CHANGED","SCALE_CHANGED","SIZE_CHANGED","ANCHOR_CHANGED","COLOR_CHANGED","CHILD_ADDED","CHILD_REMOVED","CHILD_REORDER","GROUP_CHANGED","SIBLING_ORDER_CHANGED","_touchEvents","_mouseEvents","_skewNeedWarn","_skewWarn","nodePath","NodeUtils","_currentHovered","_touchStartHandler","touch","getLocation","owner","_hitTest","bubbles","dispatchEvent","_touchMoveHandler","_touchEndHandler","_touchCancelHandler","_mouseDownHandler","_mouseMoveHandler","hit","_previousIn","_mouseListener","stopPropagation","_mouseUpHandler","_mouseWheelHandler","_searchComponentsInParent","list","curr","_parent","next","_checkListeners","_objFlags","_bubblingListeners","_capturingListeners","_doDispatchEvent","cachedArray","_getCapturingTargets","eventPhase","currentTarget","_propagationStopped","_propagationImmediateStopped","_getBubblingTargets","_getActualGroupIndex","groupIndex","_updateCullingMask","_cullingMask","_children","updateLocalMatrix3D","_localMatDirty","_matrix","tm","Trs","toMat4","_trs","skx","tan","sky","_worldMatDirty","updateLocalMatrix2D","dirtyFlag","trs","rotation","_eulerAngles","z","hasSkew","rotationRadians","_a","_b","_c","_d","calculWorldMatrix3D","_updateLocalMatrix","parentMat","_worldMatrix","Mat4","copy","calculWorldMatrix2D","_mulMat","mulMat2D","am","bm","outm","aa","ab","ac","ad","atx","aty","ba","bb","bc","bd","btx","bty","mulMat3D","NodeDefines","_opacity","_color","WHITE","_contentSize","Size","_anchorPoint","_position","_scale","_zIndex","Integer","_localZOrder","serializable","_is3DNode","_groupIndex","formerlySerializedAs","group","oldValue","setLocalDirty","_eventMask","_renderFlag","FLAG_WORLD_TRANSFORM","fromAngleZ","rotationX","fromEulerNumber","rotationY","eulerAngles","toEuler","fromEuler","FLAG_TRANSFORM","setRotation","scale","setScale","scaleZ","FLAG_OPACITY_COLOR","range","equals","FLAG_COLOR","anchorX","anchorPoint","anchorY","MAX_ZINDEX","MIN_ZINDEX","_onSiblingIndexChanged","is3DNode","_update3DFunction","up","_up","transformQuat","UP","getWorldRotation","right","_right","RIGHT","forward","_forward","FORWARD","_reorderChildDirty","_widget","_renderComponent","_touchListener","_initDataFromPool","_childArrivalOrder","_LocalDirtyFlag","obj","_delaySort","_onPreDestroy","destroyByParent","_onPreDestroyBase","removeListeners","mask","_backDataIntoPool","sortAllChildren","_onPostActivated","active","_checkListenerMask","_onHierarchyChanged","oldParent","_updateOrderOfArrival","_onHierarchyChangedBase","_nodesOrderDirty","_activeInHierarchy","_calculWorldMatrix","_on3DNodeChanged","_spaceInfo","spaceInfo","localMat","identity","worldMat","_toEuler","_fromEuler","_initProperties","desTrs","subarray","_onBatchCreated","dontSyncChildPrefab","children","child","prefabInfo","_prefab","sync","syncWithPrefab","FLAG_CHILDREN","Mask","_checknSetupSysEvent","newAdded","forDispatch","EventListener","TOUCH_ONE_BY_ONE","swallowTouches","onTouchBegan","onTouchMoved","onTouchEnded","onTouchCancelled","addListener","MOUSE","onMouseDown","onMouseMove","onMouseUp","onMouseScroll","schedule","useCapture","_onDispatch","listeners","__eventTargets","touchEvent","mouseEvent","_offDispatch","removeListener","hasListeners","fastRemove","removeAll","targetOff","has","arg5","_array","put","pauseSystemEvents","recursive","resumeSystemEvents","point","listener","w","h","cameraPt","testPt","camera","findCamera","getScreenToWorldPoint","_updateWorldMatrix","invert","transformMat4","temp","_enabled","runAction","_suppressDeprecation","pauseAllActions","resumeAllActions","stopAllActions","stopAction","stopActionByTag","getNumberOfRunningActions","getPosition","toPosition","newPosOrX","oldPosition","getScale","toScale","newScaleOrX","getRotation","toRotation","getContentSize","setContentSize","locContentSize","approx","getAnchorPoint","setAnchorPoint","locAnchorPoint","_invTransformPoint","ltrs","conjugate","inverseSafe","getWorldPosition","setWorldPosition","fromPosition","setWorldRotation","val","fromRotation","getWorldScale","setWorldScale","div","fromScale","getWorldRT","opos","orot","fromRT","lookAt","fromViewUp","flag","setWorldDirty","getLocalMatrix","getWorldMatrix","worldPoint","nodePoint","convertToNodeSpace","convertToWorldSpace","getNodeToParentTransform","contentSize","transform","fromMat4","getNodeToParentTransformAR","getNodeToWorldTransform","getNodeToWorldTransformAR","getParentToNodeTransform","getWorldToNodeTransform","convertTouchToNodeSpace","convertTouchToNodeSpaceAR","getBoundingBox","getBoundingBoxToWorld","_getBoundingBoxTo","locChildren","childRect","arrivalOrder","setSelfGroupIndex","addChild","cleanup","_setDirtyForNode","_child","child2","count","_restoreProperties","onRestore","_p","vec3_tmp","./event/event","./platform/CCMacro","./platform/js","./renderer/render-flow","./utils/affine-transform","./utils/base-node","./utils/prefab-helper","./utils/trans-pool","./value-types","./value-types/utils","25","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","_unsupportedIterableToArray","done","TypeError","minLen","_arrayLikeToArray","toString","test","arr2","HideInHierarchy","PrivateNode","_originPos","localPosition","_posDirty","override","showInEditor","editorOnly","sendEvent","_super","setParent","getParent","./CCNode","26","NIL","autoReleaseAssets","_inited","dependAssets","_active","_instantiate","activateNode","27","IdGenerater","MAX_POOL_SIZE","idGenerater","ListEntry","priority","markedForDeletion","_listEntries","HashUpdateEntry","_hashUpdateEntries","HashTimerEntry","timers","timerIndex","currentTimer","currentTimerSalvaged","_t","_hashTimerEntries","CallbackTimer","_lock","_runForever","_useDelay","_timesExecuted","_repeat","_interval","initWithCallback","seconds","REPEAT_FOREVER","getInterval","setInterval","interval","trigger","cancel","getCallback","unschedule","_timers","timer","_timeScale","_updatesNegList","_updates0List","_updatesPosList","_hashForUpdates","_hashForTimers","_currentTargetSalvaged","_updateHashLocked","_arrayForTimers","_removeHashElement","_removeUpdateFromHash","targetId","listEntry","_priorityIn","ppList","listElement","_appendIn","__instanceId","getNewId","setTimeScale","timeScale","getTimeScale","tmp","hashElement","li","unscheduleAllForTarget","unscheduleAllWithMinPriority","minPriority","temp_length","isScheduled","pauseAllTargets","pauseAllTargetsWithMinPriority","idsWithSelectors","locArrayForTimers","elementUpdate","isTargetPaused","PRIORITY_NON_SYSTEM","./platform/id-generater","28","preprocess","fetch","Cache","helper","releaseManager","dependUtil","load","Pipeline","Task","RequestItem","downloader","parser","packManager","Bundle","factory","parse","combine","_require2","parseParameters","asyncify","_require3","assets","files","parsed","pipeline","transformPipeline","fetchPipeline","RequestType","BuiltinBundleName","AssetManager","_preprocessPipe","_fetchPipe","_loadPipe","append","_files","_parsed","generalImportBase","generalNativeBase","cacheAsset","force","cacheManager","presets","preload","maxConcurrency","maxRequestsPerFrame","remote","maxRetryCount","script","MAIN","resources","RESOURCES","INTERNAL","options","bundleVers","server","importBase","nativeBase","getBundle","removeBundle","_destroy","remove","loadAny","requests","onComplete","_parseParameters","preset","task","input","async","preloadAny","_parseParameters2","postLoadNative","asset","_parseParameters3","_native","_nativeAsset","depend","getNativeDep","_uuid","getAssetInfo","message","stack","loadRemote","url","_parseParameters4","__isNative__","ext","path","extname","loadScript","_parseParameters5","__requestType__","URL","loadBundle","nameOrUrl","_parseParameters6","bundleName","basename","releaseAsset","tryRelease","releaseUnusedAssets","forEach","_transform","subTask","urls","item","recycle","e","output","defineProperty","./builtins","./bundle","./cache","./depend-util","./downloader","./factory","./fetch","./helper","./load","./pack-manager","./parser","./pipeline","./preprocess","./releaseManager","./request-item","./shared","./task","./urlTransformer","./utilities","29","_assets","material","effect","_loadBuiltins","dirname","builtin","loadDir","addRef","_loadBuiltinsSP","sp","MAX_MULTITEXTURE_NUM","_loadMultiEffect","multi2dSpriteEffectAsset","inited","multiBatcher","maxAtlasCount","charAtlasAutoBatchCount","EffectAsset","getBuiltin","30","Config","parseLoadResArgs","deps","base","getInfoWithPath","getDirWithPath","_parseLoadResArgs","PATH","__outputAsArray__","_parseLoadResArgs2","dir","_parseLoadResArgs3","DIR","preloadDir","_parseLoadResArgs4","sceneAsset","redirect","./config","31","_map","_count","predicate","../platform/js","32","processOptions","assetInfos","scenes","_initUuid","uuids","_initPath","_initScene","_initPackage","packs","_initVersion","versions","_initRedirect","uuidList","pathList","isSubAsset","assetInfo","_getClassById","sceneList","packageList","packUuid","pack","assetPacks","entries","ver","nativeVer","items","isChildClassOf","infos","isMatchByWord","nextAscii","charCodeAt","startsWith","endsWith","33","_deserializeCompiled","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","__esModule","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","hasOwnProperty","desc","deserialize","_depends","nativeDep","getDeps","getDepsRecursively","exclude","depends","_descend","json","__type__","hasNativeDep","_parseDepsFromJson","_parseDepsFromAsset","parsedFromExistAsset","preventPreloadNativeObject","preventDeferredLoadDependents","__depends__","dep","__nativeDepend__","_nativeDep","getDependUuidList","decodeUuid","../platform/deserialize-compiled","./deserialize","34","utilities","ImageFmts","AudioFmts","GetTrue","md5Pipe","transformURL","getUuidFromURL","hashValue","hashPatchInFolder","replace","match","loader","_autoReleaseSetting","_cache","progressCallback","completeCallback","images","audios","finish","total","content","includes","res","image","audio","isCompleted","getXMLHttpRequest","XMLHttpRequest","getItem","loadRes","_this$_parseLoadResAr","loadResArray","_this$_parseLoadResAr2","loadResDir","_this$_parseLoadResAr3","getRes","getResCount","getDependsRecursively","assetLoader","addDownloadHandlers","extMap","handler","register","addLoadHandlers","file","flowInDeps","isBuiltin","builtinAsset","_isBuiltin","releaseRes","releaseResDir","removeItem","setAutoRelease","autoRelease","setAutoReleaseRecursively","isAutoRelease","loadSubpackage","AssetLibrary","libraryPath","rawAssetsBase","rawAssets","loadAsset","getLibUrlNoExt","queryAssetInfo","raw","changeExtname","substr","onceWarns","assetLibrary","defineProperties","LoadingItems","DOWNLOAD_MAX_CONCURRENT","_getSceneUuid","_sceneInfos","releaseSettings","../CCDirector","35","MissingClass","classFinder","missingClass","_MissingScript","safeFindClass","pool","deserializeForCompiled","deserializeForEditor","Details","tdInfo","customEnv","objList","uuidObjList","propList","uuidPropList","dependUuid","../platform/deserialize","../platform/deserialize-editor","36","__audioSupport","downloadDomAudio","dom","src","clearEvent","removeEventListener","success","failure","USE_LOADER_EVENT","readyState","37","downloadDomImage","img","Image","location","protocol","crossOrigin","loadCallback","errorCallback","38","downloadFile","xhr","errInfo","open","responseType","withCredentials","mimeType","overrideMimeType","timeout","header","setRequestHeader","onload","status","response","onprogress","lengthComputable","loaded","onerror","ontimeout","onabort","send","39","downloaded","downloadScript","loadHandler","removeChild","errorHandler","40","loadFont","_require4","urlAppendTimestamp","retry","REGEX","formatSupport","format","unsupported","downloadAudio","audioLoadMode","AudioClip","LoadMode","DOM_AUDIO","downloadArrayBuffer","WEB_AUDIO","downloadImage","imageBitmap","ALLOW_IMAGE_BITMAP","downloadBlob","onFileProgress","downloadJson","JSON","downloadText","downloadVideo","downloadBundle","version","_downloading","_queue","_queueDirty","_totalNum","_totalNumThisPeriod","_lastDate","_checkNextPeriod","updateTime","Date","_maxInterval","handleQueue","sort","nextOne","invoke","_remoteServerAddress","remoteServerAddress","appendTimeStamp","limited","retryInterval","mixin","downloaders","download","downloadCallbacks","finale","callbacks",".png",".jpg",".bmp",".jpeg",".gif",".ico",".tiff",".webp",".image",".pvr",".pkm",".mp3",".ogg",".wav",".m4a",".txt",".xml",".vsh",".fsh",".atlas",".tmx",".tsx",".json",".ExportJson",".plist",".fnt",".font",".eot",".ttf",".woff",".svg",".ttc",".mp4",".avi",".mov",".mpg",".mpeg",".rm",".rmvb",".binary",".bin",".dbbin",".skel",".js","_downloaders","../CCDebug","../platform/CCSys","../platform/utils","./download-dom-audio","./download-dom-image","./download-file","./download-script.js","./font-loader","41","_creating","createTexture","Texture2D","_nativeUrl","createAudioClip","createVideoClip","VideoClip","createJsonAsset","JsonAsset","createTextAsset","TextAsset","text","createFont","TTFFont","createBufferAsset","BufferAsset","createAsset","createBundle","producers","creating","42","getDepends","firstTask","canInvoke","__exclude__","isNative","handle","__asyncLoadAssets__","isFinish","dispatch","decreaseRef","decRef","loadDepends","43","textUtils","_canvasContext","_testString","_fontFaces","_loadingFonts","_timeout","useNativeCheck","nativeCheck","FontFace","exec","safari10Match","vendor","_checkFontLoaded","allFontsLoaded","fontLoadHandle","fontFamily","fontFamilyName","oldWidth","refWidth","fontDesc","font","newWidth","safeMeasureText","clearInterval","nativeCheckFontLoaded","Promise","resolve","reject","check","fonts","timeoutId","race","fontLoader","_getFontFamily","labelCanvas","getContext","fontStyle","fontStr","textContent","preloadDiv","divStyle","innerHTML","fontHandle","ttfIndex","lastIndexOf","slashPos","substring","../utils/text-utils","44","_uuidRegex","matches","getUrlWithUuid","nativeExt","isScene","../utils/decode-uuid","45","./CCAssetManager","./deprecated","46","gatherAsset","setProperties","checkCircleReference","loadOneAssetPipeline","reload","_exclude$uuid","repeatItem","dependAsset","missingAsset","__onLoadInvoked__","47","_loading","isLoading","unpackJson","unpackJSONs","textureType","_getClassId","datas","split","packCustomObjData","unpackers","unpack","unpacker","48","plistParser","_parsing","parseImage","Blob","imageOptions","imageOrientation","__flipY__","premultiplyAlpha","__premultiplyAlpha__","createImageBitmap","parseAudio","ArrayBuffer","context","decodeAudioData","buffer","parsePVRTex","PVR_HEADER_LENGTH","PVR_MAGIC","PVR_HEADER_MAGIC","PVR_HEADER_FORMAT","PVR_HEADER_HEIGHT","PVR_HEADER_WIDTH","PVR_HEADER_MIPMAPCOUNT","PVR_HEADER_METADATA","Int32Array","dataOffset","pvrtcData","Uint8Array","_compressed","parsePKMTex","ETC_PKM_HEADER_SIZE","ETC_PKM_FORMAT_OFFSET","ETC_PKM_ENCODED_WIDTH_OFFSET","ETC_PKM_ENCODED_HEIGHT_OFFSET","ETC_PKM_WIDTH_OFFSET","ETC_PKM_HEIGHT_OFFSET","ETC1_RGB_NO_MIPMAPS","ETC2_RGB_NO_MIPMAPS","ETC2_RGBA_NO_MIPMAPS","readBEUint16","offset","encodedWidth","encodedHeight","etcData","parsePlist","parseImport","parsers","parsedAsset","parsing","parseHandler","import","../platform/CCSAXParser","49","_pipelineId","funcs","pipes","insert","_isFinish","pipe","_flow","50","subOptions","leftOptions","op","UUID","SCENE","source","51","visitAsset","visitComponent","getOwnPropertyNames","propName","_j","_val","_temp","visitNode","descendOpRef","refs","refCount","checkCircularReference","_persistNodeDeps","_toDelete","eventListener","freeAssets","_free","newScene","persistNodes","childs","dependencies","persistDeps","_asset","sceneDeps","_i3","_l2","../assets/CCAsset","52","MAX_DEAD_NUM","_deadPool","53","START_SCENE","54","_taskId","param1","param2","param3","param4","str","toUpperCase","55","stringify","__nativeName__","56","MissingObjectReporter","realEntries","_entry","packId","packedIds","folder","_uuid2","clearRef","wait","asyncLoadAssets","includeNative","_i4","_dep","_isScene","assetsMap","missingAssetReporter","reportByOwner","errs","isCallback","isValidType","checked","57","CCObject","writable","_ref","nativeUrl","_$nativeAsset","serialize","createNode","_setRawAsset","filename","inLibrary","../platform/CCObject","58","mixins","_audio","loadMode","_loadByUrl","audioClip","_ensureLoaded","uncache","../event/event-target","./CCAsset","59","FontLetterDefinition","offsetX","offsetY","textureID","valid","xAdvance","FontAtlas","texture","_letterDefinitions","_texture","addLetterDefinitions","letter","letterDefinition","cloneLetterDefinition","copyLetterDefinitions","getTexture","getLetter","getLetterDefinitionForChar","_char","hasKey","BitmapFont","Font","fntDataStr","SpriteFrame","fontSize","_fntConfig","_fontDefDictionary","fntConfig","fontDict","fontDefDictionary","fontDef","xOffset","yOffset","60","_buffer","bin","61","62","63","LabelAtlas","64","OptimizationPolicy","AUTO","SINGLE_INSTANCE","MULTI_INSTANCE","Prefab","_createFunction","_instantiatedTimes","optimizationPolicy","readonly","OptimizationPolicyThreshold","compileCreateFunction","jit","compile","_doInstantiate","rootToRedirect","useJit","CC_SUPPORT_JIT","PrefabUtils","../platform/instantiate-jit","65","_gfx","_interopRequireDefault","DepthStencilFormat","RB_FMT_D24S8","RB_FMT_S8","RB_FMT_D16","RenderTexture","_framebuffer","initWithSize","depthStencilFormat","visibleRect","_resetUnderlyingMipmaps","colors","_depthStencilBuffer","depthStencilBuffer","RenderBuffer","depthStencil","FrameBuffer","_packable","updateSize","rbo","_width","drawTextureAt","_image","updateSubImage","level","_premultiplyAlpha","readPixels","gl","oldFBO","getParameter","FRAMEBUFFER_BINDING","bindFramebuffer","FRAMEBUFFER","getHandle","RGBA","UNSIGNED_BYTE","../../renderer/gfx","../renderer","./CCTexture2D","66","67","Script","_Script","JavaScript","_JavaScript","TypeScript","_TypeScript","68","SpriteAtlas","_spriteFrames","getSpriteFrame","sf","getSpriteFrames","69","INSET_LEFT","INSET_TOP","INSET_RIGHT","INSET_BOTTOM","temp_uvs","_textureSetter","_refreshTexture","insetTop","_capInsets","_calculateSlicedUV","insetBottom","insetLeft","insetRight","rotated","originalSize","_rect","uv","_original","_offset","_originalSize","_rotated","_flipX","_flipY","vertices","uvSliced","setTexture","textureLoaded","onTextureLoaded","ensureLoadTexture","isRotated","setRotated","bRotated","_calculateUV","isFlipX","isFlipY","setFlipX","setFlipY","getRect","setRect","getOriginalSize","setOriginalSize","_textureLoadedCallback","_checkRect","setOffset","getOffset","offsets","maxX","maxY","_flipXY","uvs","tempVal","_tempVal","atlasWidth","atlasHeight","leftWidth","rightWidth","centerWidth","topHeight","bottomHeight","centerHeight","row","rowD","col","colD","_row","_rowD","_col","_colD","_setDynamicAtlasFrame","_resetDynamicAtlasFrame","texw","texh","_r","_tempVal2","nu","nv","_serialize","exporting","ctx","_textureFilename","Editor","Utils","UuidCache","urlToUuid","UuidUtils","compressUuid","dependsOn","triangles","atlas","_atlasUuid","capInsets","_deserialize","textureUuid","deleteSpriteFrame","copyWithZone","initWithTexture","70","_fontFamily","String","./CCFont","71","72","GL_NEAREST","GL_LINEAR","GL_REPEAT","GL_CLAMP_TO_EDGE","GL_MIRRORED_REPEAT","GL_RGBA","CHAR_CODE_0","CHAR_CODE_1","CUSTOM_PIXEL_FORMAT","PixelFormat","RGB565","TEXTURE_FMT_R5_G6_B5","RGB5A1","TEXTURE_FMT_R5_G5_B5_A1","RGBA4444","TEXTURE_FMT_R4_G4_B4_A4","RGB888","TEXTURE_FMT_RGB8","RGBA8888","TEXTURE_FMT_RGBA8","RGBA32F","TEXTURE_FMT_RGBA32F","A8","TEXTURE_FMT_A8","I8","TEXTURE_FMT_L8","AI8","TEXTURE_FMT_L8_A8","RGB_PVRTC_2BPPV1","TEXTURE_FMT_RGB_PVRTC_2BPPV1","RGBA_PVRTC_2BPPV1","TEXTURE_FMT_RGBA_PVRTC_2BPPV1","RGB_A_PVRTC_2BPPV1","RGB_PVRTC_4BPPV1","TEXTURE_FMT_RGB_PVRTC_4BPPV1","RGBA_PVRTC_4BPPV1","TEXTURE_FMT_RGBA_PVRTC_4BPPV1","RGB_A_PVRTC_4BPPV1","RGB_ETC1","TEXTURE_FMT_RGB_ETC1","RGBA_ETC1","RGB_ETC2","TEXTURE_FMT_RGB_ETC2","RGBA_ETC2","TEXTURE_FMT_RGBA_ETC2","REPEAT","CLAMP_TO_EDGE","MIRRORED_REPEAT","Filter","LINEAR","NEAREST","FilterIndex","9728","9729","_images","_sharedOpts","minFilter","magFilter","wrapS","wrapT","genMipmaps","_getSharedOptions","initWithData","_format","initWithElement","_minFilter","_magFilter","_mipFilter","_wrapS","_wrapT","_isAlphaAtlas","_genMipmaps","packable","_FilterIndex","extnames","_parseExt","extIdStr","defaultFormat","extIds","defaultExt","bestExt","bestIndex","bestFormat","SupportTextureFormats","SUPPORT_TEXTURE_FORMATS","extFormat","tmpExt","tmpFormat","webp","_hashDirty","_hash","_multiMaterial","getImpl","getId","updateImg","mipFilter","ImageBitmap","_checkImageBitmap","_upload","complete","HTMLCanvasElement","handleLoadedTexture","pixelFormat","pixelsWidth","pixelsHeight","_getGFXPixelFormat","_updateFormat","_checkPackable","getHtmlElementObj","deleteAtlasTexture","unlinkMaterial","getPixelFormat","hasPremultipliedAlpha","isAlphaAtlas","_cleanupImageCache","HTMLImageElement","_clearImage","description","releaseTexture","setWrapMode","setFilters","setPremultiplyAlpha","premultiply","dynamicAtlas","_isCompressed","maxFrameSize","_getHash","Atlas","DEFAULT_HASH","_getOpts","anisotropy","_anisotropy","mipmapSources","extId","exportedExts","_exportedExts","exts","_extId","join","fields","linkMaterial","getMultiHandler","autoSetTexture","removeTexture","getLinkedMaterial","hasLinkedMaterial","../platform/CCClass","../platform/id-generater","73","74","./CCAudioClip","./CCBitmapFont","./CCBufferAsset","./CCJsonAsset","./CCLabelAtlas","./CCPrefab","./CCRenderTexture","./CCSceneAsset","./CCScripts","./CCSpriteAtlas","./CCSpriteFrame","./CCTTFFont","./CCTextAsset","./CCVideoClip","./material","75","_CCAsset","_effectParser","_effect","techniques","shaders","lib","_programLib","define","_initEffect","parseEffect","freeze","getInstantiatedEffect","getEffect","../CCAsset","./effect-parser","76","Texture","textureUtil","gfx","BUILTIN_NAME","SPRITE","GRAY_SPRITE","UNLIT","Material","_manualHash","_dirty","_multiHandler","_defines","_effectAsset","_techniqueIndex","_techniqueData","effectName","effectAsset","updateMultiSupport","techniqueIndex","switchTechnique","getBuiltinMaterial","createWithBuiltin","setProperty","passIdx","directly","def","getDefine","getProperty","setCullMode","cullMode","CULL_BACK","setDepth","depthTest","depthWrite","depthFunc","DS_FUNC_LESS","setBlend","blendEq","blendSrc","blendDst","blendAlphaEq","blendSrcAlpha","blendDstAlpha","blendColor","BLEND_FUNC_ADD","BLEND_SRC_ALPHA","BLEND_ONE_MINUS_SRC_ALPHA","setStencilEnabled","stencilTest","STENCIL_INHERIT","setStencil","stencilFunc","stencilRef","stencilMask","stencilFailOp","stencilZFailOp","stencilZPassOp","stencilWriteMask","DS_FUNC_ALWAYS","STENCIL_OP_KEEP","updateHash","hash","getHash","passDatas","passData","defines","syncTextures","passes","technique","setMultiSupport","isMultiSupport","bool","MultiHandler","../../utils/texture-util","../CCTexture2D","./CCEffectAsset","77","_pass","_enums","_defineProperties","descriptor","enumerable","configurable","_createClass","Constructor","protoProps","staticProps","EffectBase","_technique","_proto","_createPassProp","pass","_properties","uniform","Float32Array","Float64Array","_setPassProperty","compareValue","PARAM_TEXTURE_2D","setStencilFront","setStencilBack","../../../renderer/core/pass","../../../renderer/enums","78","_types","getInvolvedProgram","programName","getTemplate","parseProperties","passJson","propertiesJson","program","uniformInfo","uniforms","_ret","propInfo","PARAM_INT","PARAM_FLOAT","enums2default","passDefines","parseTechniques","techNum","tech","techName","passNum","passName","detailName","stage","newPass","rasterizerState","blendState","blend","depthStencilState","stencilFuncFront","stencilRefFront","stencilMaskFront","stencilFailOpFront","stencilZFailOpFront","stencilZPassOpFront","stencilWriteMaskFront","stencilFuncBack","stencilRefBack","stencilMaskBack","stencilFailOpBack","stencilZFailOpBack","stencilZPassOpBack","stencilWriteMaskBack","../../../renderer/core/technique","../../../renderer/types","./effect","79","_murmurhash2_gc","_effectBase","_inheritsLoose","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","EffectVariant","_EffectBase","_passes","_stagePasses","_onEffectChanged","variantPasses","stagePasses","variant","_stage","serializePasses","../../../renderer/murmurhash2_gc","./effect-base","./utils","80","Effect","_techniques","createNative","81","./CCMaterial","./material-variant","82","_pool","MaterialPool","_Pool","_len","_key","exampleMat","renderComponent","MaterialVariant","_owner","instance","serializeDefines","serializeTechniques","mat","maxSize","_clean","materialPool","../../utils/pool","83","_CCMaterial","_effectVariant","_materialPool","_dec","_class","ccclass","_decorator","_Material","materialName","_material","./effect-variant","./material-pool","84","hashArray","names","serializePass","excludeProperties","_programName","_cullMode","_blend","_blendEq","_blendAlphaEq","_blendSrc","_blendDst","_blendSrcAlpha","_blendDstAlpha","_blendColor","_depthTest","_depthWrite","_depthFunc","_stencilTest","_stencilFuncFront","_stencilRefFront","_stencilMaskFront","_stencilFailOpFront","_stencilZFailOpFront","_stencilZPassOpFront","_stencilWriteMaskFront","_stencilFuncBack","_stencilRefBack","_stencilMaskBack","_stencilFailOpBack","_stencilZFailOpBack","_stencilZPassOpBack","_stencilWriteMaskBack","serializeUniforms","_propertyNames","_defineNames","hashData","param","PARAM_TEXTURE_CUBE","85","TOP","MID","BOT","LEFT","CENTER","HORIZONTAL","VERTICAL","AlignMode","ONCE","ON_WINDOW_RESIZE","ALWAYS","getReadonlyNodeSize","computeInverseTransForTarget","widgetNode","out_inverseTranslate","out_inverseScale","translateX","translateY","tInverseTranslate","tInverseScale","ONE","align","widget","hasTarget","inverseTranslate","inverseScale","targetSize","targetAnchor","isRoot","anchor","_alignFlags","localLeft","localRight","targetWidth","_isAbsLeft","_left","_isAbsRight","isStretchWidth","isAlignHorizontalCenter","localHorizontalCenter","_isAbsHorizontalCenter","_horizontalCenter","targetCenter","isAlignLeft","localTop","localBottom","targetHeight","bottom","_isAbsBottom","_bottom","_isAbsTop","_top","isStretchHeight","isAlignVerticalCenter","localVerticalCenter","_isAbsVerticalCenter","_verticalCenter","targetMiddle","isAlignBottom","alignMode","widgetManager","activeWidgets","animationState","refreshScene","AnimUtils","EditMode","nowPreviewing","_component","_animation","isAligning","_activeWidgetsIterator","editingNode","adjustWidgetToAllowMovingInEditor","adjustWidgetToAllowResizingInEditor","updateAlignment","Widget","_AlignFlags","thisOnResized","onResized","refreshWidgetOnResized","../CCNode","86","_geomUtils","RendererCamera","_mat4_temp_1","_mat4_temp_2","_v3_temp_1","_v3_temp_2","_v3_temp_3","_cameras","updateMainCamera","minDepth","_depth","_debugCamera","repositionDebugCamera","getNode","ClearFlags","COLOR","DEPTH","STENCIL","StageFlags","OPAQUE","TRANSPARENT","Component","setStages","dirty","_camera","editor","_clearFlags","_backgroundColor","_zoomRatio","_targetTexture","_fov","_orthoSize","_nearClip","_farClip","_ortho","_renderStages","_alignWithScreen","zoomRatio","tooltip","fov","orthoSize","nearClip","_updateClippingpPlanes","farClip","ortho","_updateProjection","_updateRect","cullingMask","_updateCameraMask","clearFlags","setClearFlags","_updateBackgroundColor","setPriority","targetTexture","_updateTargetTexture","renderStages","_updateStages","alignWithScreen","_is3D","cameras","containsNode","_findRendererCamera","_setupDebugCamera","setFov","setNear","setFar","setColor","setNode","addCamera","setFrameBuffer","setType","flags","stages","_init","beforeDraw","__preload","onEnable","onDisable","removeCamera","getScreenToWorldMatrix2D","getWorldToScreenMatrix2D","_mat4_temp_1m","m12","m13","center","screenPosition","screenToWorld","getWorldToScreenPoint","worldPosition","worldToScreen","getRay","screenPos","geomUtils","Ray","fromPoints","rootNode","renderCamera","_onAlignWithScreen","RAD","atan","setOrthoHeight","getNodeToCameraTransform","getWorldToCameraMatrix","getCameraToWorldPoint","getWorldToCameraPoint","getCameraToWorldMatrix","../../renderer/scene/camera","../CCGame","../geom-utils","../renderer/index","../renderer/render-flow","../utils/affine-transform","../value-types","87","jsArray","IsStartCalled","IsOnEnableCalled","IsEditorOnEnableCalled","callerFunctor","callOnEnableInTryCatch","callOnDisableInTryCatch","sortedIndex","order","_executionOrder","testOrder","testId","stableRemoveInactive","flagToClear","removeAt","LifeCycleInvoker","__ctor__","invokeFunc","Iterator","_zero","_neg","_pos","_invoke","compareOrder","OneOffInvoker","cancelInactive","compsNeg","compsPos","ReusableInvoker","enableInEditor","engine","createInvokeImpl","indiePath","useDt","ensureFlag","fastPath","Function","invokeStart","invokeUpdate","invokeLateUpdate","startInvoker","updateInvoker","lateUpdateInvoker","_deferredComps","_updating","invokeOnEnable","compScheduler","deactivatedDuringOnEnable","_onEnabled","_scheduleImmediate","_onDisabled","lateUpdate","enableComp","invoker","disableComp","_deferredSchedule","_startForNewComps","./platform/CCClass","./utils/misc","88","equalClips","clip1","clip2","PLAY","STOP","PAUSE","RESUME","LASTFRAME","FINISHED","Animation","_animator","_nameToState","_didInit","_currentClip","_defaultClip","defaultClip","contain","currentClip","_writableClips","_clips","playOnLoad","isPlaying","getAnimationState","onDestroy","getClips","playAdditive","enabledInHierarchy","setCurrentTime","hasAnimationState","addClip","newName","contains","oldState","newState","removeClip","filter","_EventTargetOn","states","_EventTargetOff","_createStates","defaultClipState","../../animation/animation-animator","../../animation/animation-clip","./CCComponent","89","BlockEvents","BlockInputEvents","menu","inspector","help","90","GraySpriteState","Transition","State","NORMAL","HOVER","PRESSED","DISABLED","Button","_pressed","_hovered","_fromColor","_toColor","_time","_transitionFinished","_fromScale","_toScale","_originalScale","_graySpriteMaterial","_spriteMaterial","_sprite","interactable","notify","_updateState","_resetState","animatable","_resizeToTarget","_resizeNodeToTargetNode","enableAutoGrayEffect","_updateDisabledState","transition","_updateTransition","normalColor","displayName","_getButtonState","_getTarget","pressedColor","hoverColor","disabledColor","zoomScale","normalSprite","pressedSprite","hoverSprite","disabledSprite","_applyTarget","_unregisterTargetEvent","clickEvents","EventHandler","originalScale","_setTargetColor","_registerNodeEvent","_unregisterNodeEvent","_onTargetSpriteFrameChanged","_setCurrentStateSprite","_onTargetColorChanged","_setCurrentStateColor","_onTargetScaleChanged","cloneColor","_getStateColor","_getStateSprite","_onTouchBegan","_onTouchMove","_onTouchEnded","_onTouchCancel","_onMouseMoveIn","_onMouseMoveOut","_registerTargetEvent","_getTargetSprite","sprite","Sprite","_applyTransition","emitEvents","_updateColorTransitionImmediately","_updateColorTransition","_updateSpriteTransition","_updateScaleTransition","_zoomUp","_zoomBack","oldTransition","useGrayMaterial","_switchGrayMaterial","../utils/gray-sprite-state","91","resetWidgetComponent","addComponent","isAlignTop","isAlignRight","Canvas","resetInEditor","_designResolution","designResolution","applySettings","_fitWidth","_fitHeight","fitHeight","fitWidth","_fitDesignResolution","cameraNode","setSiblingIndex","ResolutionPolicy","policy","SHOW_ALL","FIXED_WIDTH","FIXED_HEIGHT","NO_BORDER","designRes","setDesignResolutionSize","../camera/CCCamera","92","IsOnLoadCalled","getClassName","trimLeft","__scriptAsset","_this$node","_this$node2","_this$node2$_parent","_isOnLoadCalled","onFocusInEditor","onLostFocusInEditor","typeOrClassName","getComponents","getComponentInChildren","_getLocalBounds","unscheduleAllCallbacks","eventTargets","destroyComp","_removeComponent","cloned","instantiate","_clone","scheduleOnce","callback_fn","_requireComponent","cls","reqComp","requireComponent","executionOrder","_disallowMultiple","willExecuteInEditMode","__scriptUuid","93","_componentId","_componentName","_genCompIdIfNeeded","_compId2Name","_compName2Id","customEventData","compType","getClassByName","compId","94","LabelFrame","BlendFunc","deleteFromDynamicAtlas","HorizontalAlign","TextAlignment","VerticalAlign","VerticalTextAlignment","Overflow","CLAMP","SHRINK","RESIZE_HEIGHT","CacheMode","BITMAP","CHAR","BOLD_FLAG","ITALIC_FLAG","UNDERLINE_FLAG","Label","_actualFontSize","_assemblerData","_frame","_ttfTexture","_letterTexture","_updateMaterial","_updateMaterialCanvas","_updateMaterialWebgl","_string","string","setVertsDirty","_checkStringEmpty","multiline","horizontalAlign","verticalAlign","actualFontSize","_fontSize","_lineHeight","lineHeight","overflow","_enableWrapText","enableWrapText","_N$file","_isSystemFontUsed","_forceUpdateRenderData","useSystemFont","markForValidate","_bmFontOriginalSize","_spacingX","spacingX","_batchAsBitmap","cacheMode","_materials","_shareAtlas","setMaterial","_getDefaultMaterial","_styleFlags","enableBold","enableItalic","enableUnderline","_underlineHeight","underlineHeight","autoSwitchMaterial","EnableType","GLOBAL","allowDynamicAtlas","enableRetina","clearCharCache","clearAllCache","_nodeSizeChanged","_nodeColorChanged","_assembler","_resetAssemblerData","_resetFrame","_updateColor","_srcBlendFactor","BlendFactor","SRC_ALPHA","FLAG_OPACITY","_validateRender","disableRender","_resetAssembler","markForRender","_applyFontTexture","_onBMFontTextureLoaded","updateRenderData","_onBlendChanged","_nativeTTF","_getAssemblerData","getMaterial","_updateTTFMaterial","isMultiMaterial","_texIdDirty","isMulti","_forceUseCanvas","_useNativeTTF","ENABLE_NATIVE_TTF_RENDERER","_enableBold","_enableItalics","_enableUnderline","../assets/material/CCMaterial","../platform/CCMacro","../renderer/utils/label/label-frame","../renderer/utils/utils","../utils/blend-func","./CCRenderComponent","95","LabelOutline","_updateRenderData","label","96","LabelShadow","_blur","blur","97","NodeEvent","Type","GRID","ResizeMode","CONTAINER","CHILDREN","AxisDirection","VerticalDirection","BOTTOM_TO_TOP","TOP_TO_BOTTOM","HorizontalDirection","LEFT_TO_RIGHT","RIGHT_TO_LEFT","Layout","_layoutSize","_layoutDirty","_resize","_N$layoutType","reLayouted","_doLayoutDirty","resizeMode","cellSize","startAxis","paddingLeft","paddingRight","paddingTop","paddingBottom","spacingY","verticalDirection","horizontalDirection","affectedByScale","_addEventListeners","_removeEventListeners","_doScaleDirty","updateLayout","_resized","_childAdded","_childRemoved","_addChildrenEventListeners","_removeChildrenEventListeners","_doLayoutHorizontally","baseWidth","rowBreak","fnPositionY","applyChildren","layoutAnchor","sign","paddingX","leftBoundaryOfLayout","nextX","rowMaxHeight","tempMaxHeight","secondMaxHeight","containerResizeBoundary","maxHeightChildAnchorY","activeChildCount","newChildWidth","childScaleX","_getUsedScaleValue","childScaleY","childBoundingBoxWidth","childBoundingBoxHeight","rightBoundaryOfChild","rowBreakBoundary","leftToRightRowBreak","rightToLeftRowBreak","finalPositionY","signX","tempFinalPositionY","topMarign","_getVerticalBaseHeight","newHeight","_doLayoutVertically","baseHeight","columnBreak","fnPositionX","paddingY","bottomBoundaryOfLayout","nextY","columnMaxWidth","tempMaxWidth","secondMaxWidth","column","maxWidthChildAnchorX","newChildHeight","topBoundaryOfChild","columnBreakBoundary","bottomToTopColumnBreak","topToBottomColumnBreak","finalPositionX","tempFinalPositionX","rightMarign","_doLayoutBasic","allChildrenBoundingBox","leftBottomSpace","rightTopSpace","xMax","yMax","newSize","toFixed","newAnchorX","newAnchorY","_doLayoutGridAxisHorizontal","layoutSize","topOffset","boundary","_doLayoutGridAxisVertical","leftOffset","_doLayoutGrid","_getHorizontalBaseWidth","_doLayout","activeChild","98","_mat","_vec","_materialVariant","Graphics","_vec2_temp","_circlepoints","_calculateCircle","radius","segements","anglePerStep","MaskType","RECT","ELLIPSE","IMAGE_STENCIL","SEGEMENTS_MIN","SEGEMENTS_MAX","_graphics","_enableMaterial","_exitMaterial","_clearMaterial","_spriteFrame","_type","alphaThreshold","_updateGraphics","_activateMaterial","lastSprite","slide","inverted","Boolean","_segments","FLAG_POST_RENDER","_removeGraphics","_createGraphics","STENCIL_DISABLE","Assembler","lineWidth","strokeColor","graphics","lineTo","stroke","fill","rx","ry","px","py","enable","FLAG_RENDER","FLAG_UPDATE_RENDER_DATA","../assets/material/material-variant","../graphics/graphics","../utils/misc","../value-types/mat4","../value-types/vec2","99","MotionStreak","_lastWPos","preview","_fadeTime","fadeTime","_minSeg","minSeg","_stroke","_checkSwitchMaterial","_fastMode","fastMode","checkAndSwitchMaterial","_updateMultiTexId","textureImpl","updateTexId","_renderData","../../core/utils/blend-func","../components/CCRenderComponent","100","_temp_color","ENABLE","DISABLE","materials","_vertsDirty","_texId","assembler","registerValidate","instantiated","getMaterials","updateColor","srcBlendFactor","_checkBacth","_flush","_dummyNode","multi","spTexture","nSpTexture","same","isChanged","texId","getIndex","../renderer/assembler","101","HtmlTextParser","_htmlTextParser","RichTextChildName","RichTextChildImageName","debounce","immediate","later","callNow","outline","richtext","labelNode","DontSave","labelComponent","RichText","_textArray","_labelSegments","_labelSegmentsCache","_linesWidth","_updateRichTextStatus","_updateRichText","_onTTFLoaded","maxWidth","imageAtlas","handleTouchEvent","customMaterial","spriteComponent","_labelComponent","_labelComponent2","_labelComponent3","_labelComponent4","_activateChildren","_onColorChanged","parentColor","childNode","_updateLabelSegmentTextAttributes","_applyTextAttribute","_createFontLabel","_measureText","styleIndex","_styleIndex","labelSize","labelSegment","clickHandler","_clickHandler","clickParam","_clickParam","_containsTouchLocation","myRect","_lineOffsetX","_lineCount","_labelWidth","_labelHeight","_addLabelSegment","stringToken","_updateRichTextWithMaxWidth","labelString","labelWidth","fragmentWidth","checkStartIndex","checkEndIndex","_getFirstWordLen","checkString","checkStringWidth","remainingString","_updateLineInfo","fragments","fragmentText","splitString","_isLastComponentCR","_needsUpdateTextLayout","newTextArray","oldItem","newItem","oldStyle","newStyle","italic","isImage","imageAlign","imageHeight","imageWidth","imageOffset","_addRichTextImageElement","richTextElement","spriteFrameName","spriteNode","_imageOffset","SLICED","sizeMode","SizeMode","CUSTOM","spriteRect","scaleFactor","spriteWidth","spriteHeight","expectWidth","expectHeight","click","lastEmptyLine","newline","multilineTexts","BASELINE_RATIO","_updateRichTextPosition","startIndex","textLen","character","charAt","isUnicodeCJK","isUnicodeSpace","nextTokenX","nextLineIndex","totalLineCount","lineCount","lineOffsetX","lineHeightSet","lineHeightReal","isInteger","_offsetY","_convertLiteralColorValue","colorValue","fromHEX","textStyle","isAsset","bold","enableItalics","underline","labelOutlineComponent","../utils/html-text-parser","102","GETTINGSHORTERFACTOR","Direction","Scrollbar","_scrollView","_touching","_autoHideRemainingTime","_onScroll","enableAutoHide","autoHideTime","setTargetScrollView","scrollView","_convertToScrollViewSpace","scrollViewNode","worldSpacePos","scrollViewSpacePos","_setOpacity","outOfBoundary","scrollViewSize","handleNodeSize","_conditionalDisableScrollBar","contentMeasure","scrollViewMeasure","outOfBoundaryValue","contentPosition","handleNodeMeasure","_calculateLength","_calculatePosition","_updateLength","_updateHanlderPosition","_fixupHandlerPosition","barSize","barAnchor","handleSize","handleParent","leftBottomWorldPosition","fixupPosition","denominatorValue","lengthRation","actualLenth","positionRatio","clamp01","handleNode","_processAutoHide","deltaTime","103","NUMBER_OF_GATHERED_TOUCHES_FOR_MOVE_SPEED","OUT_OF_BOUNDARY_BREAKING_FACTOR","MOVEMENT_FACTOR","_tempPoint","_tempPrevPoint","quintEaseOut","getTimeInMilliseconds","currentTime","getMilliseconds","SCROLL_TO_TOP","SCROLL_TO_BOTTOM","SCROLL_TO_LEFT","SCROLL_TO_RIGHT","SCROLLING","BOUNCE_TOP","BOUNCE_BOTTOM","BOUNCE_LEFT","BOUNCE_RIGHT","SCROLL_ENDED","TOUCH_UP","AUTOSCROLL_ENDED_WITH_THRESHOLD","SCROLL_BEGAN","eventMap","scroll-to-top","scroll-to-bottom","scroll-to-left","scroll-to-right","scrolling","bounce-bottom","bounce-left","bounce-right","bounce-top","scroll-ended","touch-up","scroll-ended-with-threshold","scroll-began","ScrollView","_topBoundary","_bottomBoundary","_leftBoundary","_rightBoundary","_touchMoveDisplacements","_touchMoveTimeDeltas","_touchMovePreviousTimestamp","_touchMoved","_autoScrolling","_autoScrollAttenuate","_autoScrollStartPosition","_autoScrollTargetDelta","_autoScrollTotalTime","_autoScrollAccumulatedTime","_autoScrollCurrentlyOutOfBoundary","_autoScrollBraking","_autoScrollBrakingStartPosition","_outOfBoundaryAmount","_outOfBoundaryAmountDirty","_stopMouseWheel","_mouseWheelEventElapsedTime","_isScrollEndedWithThresholdEventFired","_scrollEventEmitMask","_isBouncing","_scrolling","_calculateBoundary","horizontal","vertical","inertia","brake","elastic","bounceDuration","horizontalScrollBar","_updateScrollBar","verticalScrollBar","scrollEvents","cancelInnerEvents","_view","scrollToBottom","timeInSecond","attenuated","moveDelta","_calculateMovePercentDelta","applyToHorizontal","applyToVertical","_startAutoScroll","_moveContent","scrollToTop","scrollToLeft","scrollToRight","scrollToTopLeft","scrollToTopRight","scrollToBottomLeft","scrollToBottomRight","scrollToOffset","maxScrollOffset","getMaxScrollOffset","scrollTo","getScrollOffset","topDelta","_getContentTopBoundary","leftDeta","_getContentLeftBoundary","viewSize","horizontalMaximizeOffset","verticalMaximizeOffset","scrollToPercentHorizontal","scrollToPercentVertical","stopAutoScroll","setContentPosition","fuzzyEquals","getContentPosition","isScrolling","isAutoScrolling","_registerEvent","_onTouchMoved","_onTouchCancelled","_onMouseWheel","_unregisterEvent","captureListeners","hasNestedViewGroup","deltaMove","wheelPrecision","os","OS_WINDOWS","browserType","BROWSER_TYPE_FIREFOX","getScrollY","_processDeltaMove","_handlePressLogic","_checkMouseWheel","_stopPropagationIfTargetIsMe","currentOutOfBoundary","_getHowMuchOutOfBoundary","maxElapsedTime","_processInertiaScroll","_dispatchEvent","_onScrollBarTouchEnded","scrollSize","bottomDeta","_getContentBottomBoundary","totalScrollDelta","_moveContentToTopLeft","_updateScrollBarState","_adjustContentOutOfBoundary","layout","CAPTURING_PHASE","ViewGroup","AT_TARGET","_handleMoveLogic","getStartLocation","cancelEvent","EventTouch","getTouches","simulate","_handleReleaseLogic","_scrollChildren","_gatherTouchMove","_getLocalAxisAlignDelta","getPreviousLocation","_clampDelta","realMove","vertical_scrollEventType","horizontal_scrollEventType","icBottomPos","icTopPos","icRightPos","icLeftPos","_onScrollBarTouchBegan","shift","timeStamp","_startBounceBackIfNeeded","bounceBackAmount","bounceBackTime","bounceBackStarted","touchMoveVelocity","_calculateTouchMoveVelocity","_startInertiaScroll","_isOutOfBoundary","_isNecessaryAutoScrollBrake","getScrollEndedEventTiming","_processAutoScrolling","isAutoScrollBrake","brakingFactor","percentage","newPosition","reachedEnd","fireEvent","brakeOffsetPosition","inertiaTotalMovement","_startAttenuatingAutoScroll","_calculateAttenuatedFactor","initialVelocity","_calculateAutoScrollTimeByInitalSpeed","targetDelta","scrollviewSize","totalMoveWidth","totalMoveHeight","attenuatedFactorX","attenuatedFactorY","originalMoveLength","factor","initalSpeed","adjustedDeltaMove","_flattenVectorByDirection","totalTime","reduce","totalMovement","canStartBounceBack","adjustedMove","contentPos","_getContentRightBoundary","addition","outOfBoundaryAmount","_hideScrollbar","./CCViewGroup","104","Horizontal","Vertical","Slider","_touchHandle","_dragging","_updateHandlePosition","slideEvents","_onHandleDragStart","_handleSliderLogic","_updateProgress","_emitSlideEvent","localTouchPos","handlelocalPos","105","SpriteType","SIMPLE","TILED","FILLED","MESH","FillType","RADIAL","TRIMMED","RAW","GRAY","_sizeMode","_fillType","_fillCenter","_fillStart","_fillRange","_isTrimmedMode","_atlas","_applySpriteFrame","fillType","fillCenter","fillStart","fillRange","trim","_applySpriteSize","setVisible","setState","getState","oldDefine","_applyAtlas","oldFrame","oldTexture","frameValid","newTexture","106","Toggle","_N$isChecked","isChecked","toggleGroup","_toggleContainer","allowSwitchOff","_updateCheckMark","updateToggles","_triggerEventInScript_isChecked","_emitToggleEvents","checkMark","checkEvents","_triggerEventInScript_check","_registerToggleEvent","addToggle","_unregisterToggleEvent","removeToggle","_hideCheckMark","toggle","uncheck","ToggleContainer","./CCButton","./CCToggleGroup","107","toggleItems","_allowOnlyOneToggleChecked","_makeAtLeastOneToggleChecked","108","ToggleGroup","_toggleItems","showed","109","110","WidgetManager","AlignFlags","TOP_BOT","LEFT_RIGHT","_setAlign","horizontalCenter","verticalCenter","isAbsoluteHorizontalCenter","isAbsoluteVerticalCenter","isAbsoluteTop","isAbsoluteBottom","isAbsoluteLeft","isAbsoluteRight","_wasAlignOnce","_originalWidth","_originalHeight","_validateTargetInDEV","isAlign","isHorizontal","../base-ui/CCWidgetManager","111","SubContextView","WXSubContextView","SwanSubContextView","./CCAnimation","./CCAudioSource","./CCBlockInputEvents","./CCCanvas","./CCComponentEventHandler","./CCLabel","./CCLabelOutline","./CCLabelShadow","./CCLayout","./CCMask","./CCMotionStreak","./CCPageView","./CCPageViewIndicator","./CCProgressBar","./CCRichText","./CCSafeArea","./CCScrollBar","./CCScrollView","./CCSlider","./CCSprite","./CCToggle","./CCToggleContainer","./CCWidget","./SubContextView","./editbox/CCEditBox","./missing-script","112","MissingScript","compiled","_$erialized","reportMissingClass","113","EventMouse","eventType","_eventType","_button","_prevX","_prevY","_scrollX","_scrollY","setScrollData","scrollX","scrollY","getScrollX","setLocation","getLocationInView","_designResolutionSize","_setPrevCursor","getDelta","getDeltaX","getDeltaY","setButton","button","getButton","getLocationX","getLocationY","DOWN","MOVE","SCROLL","BUTTON_LEFT","BUTTON_RIGHT","BUTTON_MIDDLE","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","touchArr","TOUCH","_eventCode","_touches","currentTouch","getEventCode","_setEventCode","eventCode","_setTouches","touches","setTouchInfo","getID","MAX_TOUCHES","BEGAN","MOVED","ENDED","CANCELED","EventAcceleration","acc","ACCELERATION","EventKeyboard","keyCode","isPressed","KEYBOARD","../event/event","114","listenerID","_onEvent","_listenerID","_registered","_fixedPriority","_node","_isEnabled","_setPaused","_setRegistered","registered","_isRegistered","_getType","_getListenerID","_setFixedPriority","fixedPriority","_getFixedPriority","_setSceneGraphPriority","_getSceneGraphPriority","checkAvailable","isEnabled","UNKNOWN","TOUCH_ALL_AT_ONCE","ListenerID","Custom","listenerId","_onCustomEvent","Mouse","TouchOneByOne","_claimedTouches","setSwallowTouches","needSwallow","isSwallowTouches","TouchAllAtOnce","onTouchesBegan","onTouchesMoved","onTouchesEnded","onTouchesCancelled","Acceleration","_onAccelerationEvent","Keyboard","onKeyPressed","onKeyReleased","argObj","listenerType","eventName","115","_EventListenerVector","_fixedListeners","_sceneGraphListeners","gt0Index","empty","clearSceneGraphListeners","clearFixedListeners","getFixedPriorityListeners","getSceneGraphPriorityListeners","__getListenerID","DIRTY_NONE","DIRTY_FIXED_PRIORITY","DIRTY_SCENE_GRAPH_PRIORITY","DIRTY_ALL","_listenersMap","_priorityDirtyFlagMap","_nodeListenersMap","_toAddedListeners","_toRemovedListeners","_dirtyListeners","_inDispatch","_currentTouch","_currentTouchListener","_internalCustomListenerIDs","selListeners","selListener","childrenCount","_BaseNode","_clearCurTouch","_addListener","_forceAddEventListener","_setDirty","_associateNodeAndEventListener","_getListeners","_updateDirtyFlagForSceneGraph","locDirtyListeners","selKey","_removeAllListenersInVector","listenerVector","_dissociateNodeAndEventListener","_removeListenersForListenerID","fixedPriorityListeners","sceneGraphPriorityListeners","locToAddedListeners","_sortEventListeners","locFlagMap","_sortListenersOfFixedPriority","rootEntity","_sortListenersOfSceneGraphPriority","sceneGraphListener","_sortEventListenersOfSceneGraphPriorityDes","l1","node1","node2","ex","fixedListeners","_sortListenersOfFixedPriorityAsc","_onUpdateListeners","idx","toRemovedListeners","locListenersMap","locPriorityDirtyFlagMap","_cleanToRemovedListeners","_updateTouchListeners","locInDispatch","_onTouchEventCallback","argsObj","selTouch","isClaimed","removedIdx","getCode","ENABLE_MULTI_TOUCH","isStopped","needsMutableSet","_dispatchTouchEvent","oneByOneListeners","allAtOnceListeners","originalTouches","mutableTouches","oneByOneArgsObj","_dispatchEventToListeners","_onTouchesEventCallback","callbackParams","onEvent","eventOrArgs","shouldStopPropagation","locDirtyFlagMap","_sortNumberAsc","nodeOrPriority","addCustomListener","isFound","locListener","_removeListenerInVector","_removeListenerInCallback","listenersCopy","removeCustomListeners","customEventName","removeAllListeners","locListeners","locInternalCustomEventIDs","getType","_onListenerCallback","dispatchCustomEvent","optionalUserData","ev","EventCustom","setUserData","./CCEventListener","116","Touch","_lastModified","_point","_prevPoint","_startPoint","getPreviousLocationInView","getStartLocationInView","_startPointCaptured","_convertPointWithScale","_setPoint","_setPrevPoint","117","./CCEvent","./CCEventManager","./CCTouch","118","CallbacksInvoker","EventListeners","_callbackTable","rootInvoker","isInvoking","callbackInfos","containCanceled","purgeCanceled","../platform/callbacks-invoker","119","__on","__off","120","unuse","NO_TYPE","reuse","stopPropagationImmediate","getCurrentTarget","BUBBLING_PHASE","detail","getUserData","getEventName","_eventPool","121","./event","./event-listeners","./event-target","./system-event","122","inputManger","KEY_DOWN","KEY_UP","DEVICEMOTION","keyboardListener","accelerationListener","SystemEvent","setAccelerometerEnabled","isEnable","DeviceMotionEvent","requestPermission","setAccelerometerInterval","systemEvent","hasKeyDownEventListener","hasKeyUpEventListener","../event-manager","../platform/CCInputManager","123","LineCap","LineJoin","_impl","_Impl","_lineWidth","_strokeColor","BLACK","_lineJoin","MITER","_lineCap","BUTT","_fillColor","_miterLimit","lineJoin","lineCap","fillColor","miterLimit","glExtension","bezierCurveTo","c2x","c2y","quadraticCurveTo","cx","cy","arc","endAngle","counterclockwise","ellipse","circle","roundRect","fillRect","clean","Helper","124","PointFlags","KAPPA90","da","hda","kappa","dx","dy","tanx","tany","ptanx","ptany","ndivs","tesselateBezier","y3","x4","y4","x12","y12","x23","y23","x34","y34","x123","y123","x234","y234","x1234","y1234","d3","_tessTol","_addPoint","PT_BEVEL","125","./graphics","126","ROUND","SQUARE","BEVEL","PT_CORNER","PT_LEFT","PT_INNERBEVEL","127","./3d","./CCPrivateNode","./CCScene","./assets","./base-ui/CCWidgetManager","./camera/CCCamera","./collider","./collider/CCIntersection","./components","./geom-utils","./mesh","./physics","./platform","./sp","128","CompScheduler","IsPreloadStarted","IsOnLoadStarted","Deactivating","callPreloadInTryCatch","callOnLoadInTryCatch","callOnDestroyInTryCatch","callOnFocusInTryCatch","callOnLostFocusInTryCatch","UnsortedInvoker","invokePreload","invokeOnLoad","activateTasksPool","getActivateTask","_componentCorrupted","_onLoadInEditor","focused","Selection","curActivate","_Scene","AssetsWatcher","_activatingStack","_activateNodeRecursively","preloadInvoker","onLoadInvoker","onEnableInvoker","originCount","activateComp","_deactivateNodeRecursively","lastTask","deactivatedOnLoading","resetComp","129","_isPlainEmptyObj_DEV","isPlainEmptyObj_DEV","_cloneable_DEV","cloneable_DEV","Attr","DELIMETER","BUILTIN_ENTRIES","INVALID_STATICS_DEV","pushUnique","deferredInitializer","declareProperties","$super","appendProp","__props__","defineProp","es6","defaultValue","setClassAttr","parseAttributes","defineGetSet","getter","setter","setterUndefined","getDefault","defaultVal","mixinWithInherited","dest","getPropertyDescriptor","doDefine","baseClass","shouldAddProtoCtor","__es6__","__ES6__","ctorToUse","ctors","fireClass","_getAllCtors","_createCtor","CCClass","_isCCClass","getClassAttrs","__initProps__","compileProps","setClassName","_RF","peek","_setClassId","normalizeClassName_DEV","DefaultName","getNewValueTypeCodeJit","clsName","propVal","escapeForJS","getInitPropsJit","attrs","F","attrKey","statement","IDENTIFIER_RE","expression","ValueType","initProps","getInitProps","simpleEnd","valueTypeEnd","simples","valueTypes","advanceds","totalLength","actualClass","superCallBounded","boundSuperCalls","ctorName","ctorLen","useTryCatch","SNIPPET","_validateCtor_DEV","originCtor","getCtors","__ctors__","baseOrMixins","baseOrMixin","baseCtors","SuperCallReg","xyz","SuperCallRegStrict","hasSuperCall","superFunc","preprocessAttrs","__values__","_sealed","some","staticPropName","validateMethodWithProps","_registerEditorProps","_fastDefine","serializableFields","attr","getInheritanceChain","klass","chain","getSuper","PrimitiveTypes","onAfterProps_ET","attributes","usedInGetter","ERR_Type","propNamePrefix","initAttrs","primitiveType","_short","getTypeChecker_ET","ScriptUuid","ScriptAsset","isEnum","getList","getObjTypeChecker_ET","parseSimpleAttr","attrName","expectType","startsWithUS","fastDefine","getNewValueTypeCode","./CCEnum","./attribute","./js","./preprocess-class","./requiring-frame","130","Preprocess","CACHE_KEY","fNOP","getSubDict","checkCtorArgument","decorate","_checkNormalArgument","validator_DEV","decoratorName","checkCompArgument","_argumentChecker","checkStringArgument","checkNumberArgument","getClassCache","getDefaultFromInitializer","initializer","extractActualDefaultValues","dummyObj","genProperty","fullOptions","isGetset","getFullFormOfProperty","existsProperty","errorProps","isDefaultValueSpecified","actualDefaultValues","decoratedProto","propNames","property","ctorProtoOrOptions","normalized","ctorProto","ccclassProto","createEditorDecorator","argCheckFunc","editorPropName","staticValue","decoratedValue","createDummyDecorator","executeInEditMode","disallowMultiple","playOnFocus","icon","./CCClass","131","reverseKey","enumType","enumDef","__enums__","enums","_TestEnum","132","PORTRAIT","LANDSCAPE_LEFT","PORTRAIT_UPSIDE_DOWN","LANDSCAPE_RIGHT","_didAccelerateFun","timestamp","_accelEnabled","_registerAccelerometerEvent","_accelCurTime","_unregisterAccelerometerEvent","_accelInterval","_registerKeyboardEvent","preventDefault","_acceleration","_accelDeviceEvent","DeviceOrientationEvent","BROWSER_TYPE_MOBILE_QQ","_deviceEventType","ua","BROWSER_TYPE_UC","_minus","didAccelerate","mAcceleration","eventAcceleration","_accelMinus","tmpX","orientation","OS_ANDROID","./CCInputManager","133","_vec2","_mousePressed","_isRegisterEvent","_preTouchPoint","_prevMousePoint","_preTouchPool","_preTouchPoolPointer","_maxTouches","_touchesIntegerDict","_indexBitsUsed","_touchesCache","_touchCount","_canvasBoundingRect","adjustedLeft","adjustedTop","_getUnUsedIndex","TOUCH_TIMEOUT","unused","locTouches","locTouchesIntDict","locTouchesCache","ccTouch","touchID","_glView","_updateCanvasBoundingRect","canvasBoundingRect","docElem","handleTouchesBegin","handleTouches","unusedIndex","_convertTouchesWithScale","handleTouchesMove","handleTouchesEnd","getSetOfTouchesEndOrCancel","handleTouchesCancel","getGlobalTouchCount","getGlobalTouches","getPreTouch","preTouch","locPreTouchPool","setPreTouch","getTouchByXY","tx","ty","locPreTouch","convertToLocationInView","getMouseEvent","locPreMouse","_convertMouseToLocationInView","getPointByEvent","BROWSER_TYPE_QQ","BROWSER_TYPE_SAFARI","pageX","pageY","scrollLeft","clientX","clientY","getTouchesByEvent","locView","touch_event","preLocation","changedTouches","identifier","selfPointer","prohibition","isMobile","supportMouse","supportTouches","_mouseEventsOnElement","focus","wheelDelta","msPointerEnabled","_pointerEventsMap","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerCancel","_touchEventsMap","touchstart","touchesToHandle","touchmove","touchend","touchcancel","registerTouchEvent","_eventName","./CCMacro","./CCSys","134","DEG","SRC_ALPHA_SATURATE","SRC_COLOR","DST_ALPHA","DST_COLOR","ONE_MINUS_SRC_ALPHA","ONE_MINUS_SRC_COLOR","ONE_MINUS_DST_ALPHA","ONE_MINUS_DST_COLOR","ONE_MINUS_CONSTANT_ALPHA","ONE_MINUS_CONSTANT_COLOR","ORIENTATION_PORTRAIT","ORIENTATION_LANDSCAPE","ORIENTATION_AUTO","DENSITYDPI_DEVICE","DENSITYDPI_HIGH","DENSITYDPI_MEDIUM","DENSITYDPI_LOW","FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX","DIRECTOR_STATS_POSITION","BATCH_VERTEX_COUNT","ENABLE_TILEDMAP_CULLING","ENABLE_CULLING","SHOW_MESH_WIREFRAME","SHOW_MESH_NORMAL","KEY","none","back","backspace","tab","enter","ctrl","alt","capslock","escape","space","pageup","pagedown","home","down","select","Delete","0","f","num0","num1","num2","num3","num4","num5","num6","num7","num8","num9","*","+","-","numdel","/","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","numlock","scrolllock",";","semicolon","equal","=",",","comma","dash",".","forwardslash","grave","[","openbracket","backslash","]","closebracket","quote","dpadLeft","dpadRight","dpadUp","dpadDown","dpadCenter","ImageFormat","JPG","PNG","TIFF","WEBP","PVR","ETC","S3TC","ATITC","TGA","RAWDATA","BOTTOM","135","Destroyed","RealDestroyed","ToDestroy","EditorOnly","Dirty","DontDestroy","LockedInEditor","IsRotationLocked","IsScaleLocked","IsAnchorLocked","IsSizeLocked","IsPositionLocked","PersistentMask","objectsToDestroy","deferredDestroy","deleteCount","deferredDestroyTimer","compileDestruct","shouldSkipId","idToSkip","propsToReset","_destruct","__destruct__","strictMode","136","SAXParser","DOMParser","_isSupportDOMParser","_parser","xmlTxt","_parseXML","textxml","xmlDoc","parseFromString","ActiveXObject","loadXML","PlistParser","plist","childNodes","nodeType","_parseNode","_parseDict","_parseArray","firstChild","nodeValue","saxParser","137","screen","_supportsFullScreen","_onfullscreenchange","_onfullscreenerror","_preOnFullScreenChange","_preOnFullScreenError","_preOnTouch","_touchEvent","_fn","_fnMap","valL","requestFullscreen","fullScreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","requestFullScreen","onFullScreenChange","onFullScreenError","toLowerCase","OS_IOS","isBrowser","webkitEnterFullscreen","fullscreenchange","fullscreenerror","requestPromise","exitFullScreen","webkitExitFullscreen","exitFullscreen","autoFullScreen","_ensureFullScreen","disableAutoFullScreen","touchTarget","touchEventName","fullScreenErrorEventName","onTouch","138","settingPlatform","_CCSettings","platform","isVivoGame","isOppoGame","isHuaweiGame","isJKWGame","isQttGame","isLinkSure","_global","global","initSys","LANGUAGE_ENGLISH","LANGUAGE_CHINESE","LANGUAGE_FRENCH","LANGUAGE_ITALIAN","LANGUAGE_GERMAN","LANGUAGE_SPANISH","LANGUAGE_DUTCH","LANGUAGE_RUSSIAN","LANGUAGE_KOREAN","LANGUAGE_JAPANESE","LANGUAGE_HUNGARIAN","LANGUAGE_PORTUGUESE","LANGUAGE_ARABIC","LANGUAGE_NORWEGIAN","LANGUAGE_POLISH","LANGUAGE_TURKISH","LANGUAGE_UKRAINIAN","LANGUAGE_ROMANIAN","LANGUAGE_BULGARIAN","LANGUAGE_UNKNOWN","OS_MARMALADE","OS_LINUX","OS_BADA","OS_BLACKBERRY","OS_OSX","OS_WP8","OS_WINRT","OS_UNKNOWN","WIN32","LINUX","MACOS","ANDROID","IPHONE","IPAD","BLACKBERRY","NACL","EMSCRIPTEN","TIZEN","WINRT","WP8","MOBILE_BROWSER","DESKTOP_BROWSER","EDITOR_PAGE","EDITOR_CORE","WECHAT_GAME","QQ_PLAY","FB_PLAYABLE_ADS","BAIDU_GAME","VIVO_GAME","OPPO_GAME","HUAWEI_GAME","XIAOMI_GAME","JKW_GAME","ALIPAY_GAME","WECHAT_GAME_SUB","BAIDU_GAME_SUB","QTT_GAME","BYTEDANCE_GAME","BYTEDANCE_GAME_SUB","LINKSURE","TAOBAO","BROWSER_TYPE_WECHAT","BROWSER_TYPE_ANDROID","BROWSER_TYPE_IE","BROWSER_TYPE_EDGE","BROWSER_TYPE_UCBS","BROWSER_TYPE_360","BROWSER_TYPE_BAIDU_APP","BROWSER_TYPE_BAIDU","BROWSER_TYPE_MAXTHON","BROWSER_TYPE_OPERA","BROWSER_TYPE_OUPENG","BROWSER_TYPE_MIUI","BROWSER_TYPE_CHROME","BROWSER_TYPE_LIEBAO","BROWSER_TYPE_QZONE","BROWSER_TYPE_SOUGOU","BROWSER_TYPE_HUAWEI","BROWSER_TYPE_UNKNOWN","getMaxJointMatrixSize","_maxJointMatrixSize","JOINT_MATRICES_SIZE","LEFT_UNIFORM_SIZE","maxUniforms","MAX_VERTEX_UNIFORM_VECTORS","getSafeAreaRect","visibleSize","getVisibleSize","__globalAdapter","adaptSys","languageCode","nav","doc","docEle","FbPlayableAd","currLanguage","language","browserLanguage","isAndroid","iOS","osVersion","osMainVersion","uaResult","maxTouchPoints","osName","appVersion","OS_UNIX","typeReg1","typeReg2","typeReg3","browserTypes","typeMap","micromessenger","trident","edge","360 aphone","mxbrowser","opr/","ubrowser","huaweibrowser","browserVersion","versionReg1","versionReg2","innerWidth","innerHeight","devicePixelRatio","windowPixelResolution","_checkWebGLRenderMode","_tmpCanvas1","create3DContext","opt_attribs","opt_contextType","localStorage","setItem","_supportWebp","toDataURL","_supportCanvas","_supportWebGL","WebGLRenderingContext","opengl","supportWebAudio","AudioContext","webkitAudioContext","mozAudioContext","ONLY_ONE","DELAY_CREATE_CTX","ONE_SOURCE","MULTI_CHANNEL","AUTOPLAY","canPlayType","ogg","wav","mp4","m4a","NetworkType","LAN","WWAN","getNetworkType","getBatteryLevel","garbageCollect","restartVM","isObjectValid","dump","openURL","139","__BrowserGetter","html","getElementsByTagName","availWidth","availHeight","meta","adaptationType","_scissorRect","View","_strategyer","ContainerStrategy","_strategy","ContentStrategy","_frameSize","_originalDesignResolutionSize","_visibleRect","_autoFullScreen","_maxPixelRatio","_retinaEnabled","_resizeCallback","_resizing","_resizeWithBrowserSize","_orientationChanging","_orientation","_isAdjustViewport","_antiAliasEnabled","_resolutionPolicy","_rpExactFit","EQUAL_TO_FRAME","EXACT_FIT","_rpShowAll","_rpNoBorder","_rpFixedHeight","_rpFixedWidth","_initFrameSize","_resizeEvent","forceOrEvent","prevFrameW","prevFrameH","prevRotated","containerStyle","display","_orientationChange","resizeWithBrowserSize","setResizeCallback","setOrientation","designWidth","designHeight","locFrameSize","isLandscape","transformOrigin","_setViewportMeta","metas","overwrite","vp","getElementById","head","elems","getElementsByName","currentVP","pattern","RegExp","_adjustViewportMeta","adjustViewportMeta","isRetinaEnabled","enableAntiAlias","imageSmoothingEnabled","mozImageSmoothingEnabled","isAntiAliasEnabled","enableAutoFullScreen","isAutoFullScreenEnabled","setCanvasSize","getCanvasSize","getFrameSize","setFrameSize","getVisibleSizeInPixel","getVisibleOrigin","getVisibleOriginInPixel","getResolutionPolicy","setResolutionPolicy","resolutionPolicy","_locPolicy","preApply","viewport","vb","rv","postApply","updateCameraViewport","getDesignResolutionSize","setRealPixelResolution","setViewportInPoints","locScaleX","locScaleY","setScissorInPoints","ceil","sw","sh","boxArr","SCISSOR_BOX","scissor","isScissorEnabled","SCISSOR_TEST","getScissorRect","scaleXFactor","scaleYFactor","getViewportRect","getScaleX","getScaleY","getDevicePixelRatio","relatedPos","posLeft","posTop","in_out_point","selPoint","selPrePoint","designedResolution","_setupContainer","locCanvas","_setupStyle","locContainer","_fixContainer","bs","contStyle","_result","_buildResult","containerW","containerH","contentW","contentH","EqualToFrame","frameH","ProportionalToFrame","frameW","designW","designH","offx","offy","EqualToWindow","ProportionalToWindow","OriginalContainer","globalAdapter","adaptContainerStrategy","adaptView","PROPORTION_TO_FRAME","ORIGINAL_CONTAINER","ExactFit","ShowAll","NoBorder","FixedHeight","FixedWidth","containerStg","contentStg","_containerStrategy","_contentStrategy","setContainerStrategy","setContentStrategy","140","topLeft","topRight","bottomLeft","bottomRight","141","isPlainEmptyObj","createAttrsSingle","superAttrs","createAttrs","subclass","chains","__attrs__","newAttrs","prefix","PrimitiveType","getTypeChecker","mainPropName","mainPropAttrs","mainPropAttrsType","isContainer","defaultType","type_lowerCase","getObjTypeChecker","typeCtor","classCtor","defaultDef","typename","142","CallbackInfo","callbackInfoPool","CallbackList","removeByCallback","removeByTarget","cancelAll","MAX_SIZE","callbackListPool","keyOrTarget","_list","143","deepFlatten","strList","flattenCodeArray","separator","144","_js","_vec3","_size","_quat","SUPPORT_MIN_FORMAT_VERSION","EMPTY_PLACEHOLDER","BuiltinValueTypes","BuiltinValueTypeParsers_xyzw","BuiltinValueTypeSetters","fromArray","serializeBuiltinValueTypes","typeId","toArray","DataTypeID","SimpleType","InstanceRef","Array_InstanceRef","Array_AssetRefByInnerObj","ValueTypeCreated","AssetRefByInnerObj","Array_Class","CustomizedClass","Dict","ARRAY_LENGTH","CLASS_TYPE","CLASS_KEYS","CLASS_PROP_TYPE_OFFSET","MASK_CLASS","OBJ_DATA_MASK","CUSTOM_OBJ_DATA_CLASS","CUSTOM_OBJ_DATA_CONTENT","VALUETYPE_SETTER","DICT_JSON_LAYOUT","ARRAY_ITEM_VALUES","Refs","EACH_RECORD_LENGTH","OWNER_OFFSET","KEY_OFFSET","TARGET_OFFSET","File","Version","Context","SharedUuids","SharedStrings","SharedClasses","SharedMasks","Instances","InstanceTypes","DependObjs","DependKeys","DependUuidIndices","PACKED_SECTIONS","dereference","instances","strings","dataLength","instanceOffset","keyIndex","_owner2","_keyIndex","deserializeCCObject","objectData","clazz","classTypeOffset","maskTypeOffset","_key2","ASSIGNMENTS","deserializeCustomCCObject","assignSimple","assignInstanceRef","genArrayParser","parseAssetRefByInnerObj","parseClass","parseCustomClass","parseValueTypeCreated","parseValueType","parseTRS","typedArray","parseDict","dict","_key3","_type2","subValue","parseArray","_type3","parseInstances","instanceTypes","instanceTypesLen","rootIndex","normalObjectCount","insIndex","classes","typeIndex","_type4","eachData","getMissingClass","hasCustomFinder","doLookupClass","silent","proxy","lookupClasses","customFinder","klassLayout","_type5","cacheMasks","masks","parseResult","sharedStrings","dependSharedUuids","dependObjs","dependKeys","dependUuids","_obj","_key4","details","borrowDetails","preprocessed","_version","FileInfo","sharedUuids","sharedClasses","sharedMasks","sections","rootInfo","../value-types/color","../value-types/quat","../value-types/rect","../value-types/size","../value-types/vec3","../value-types/vec4","145","./deserialize-compiled","./deserialize-editor","146","NonUuidMark","category","random","147","./CCClassDecorator","./CCObject","./CCVisibleRect","./callbacks-invoker","./instantiate","./instantiate-jit","148","Compiler","DEFAULT","VAR","LOCAL_OBJ","LOCAL_TEMP_OBJ","LOCAL_ARRAY","LINE_INDEX_OF_NEW_OBJ","DEFAULT_MODULE_CACHE","cc.Node","cc.Label","cc.Button","cc.Widget","cc.Animation","cc.ClickEvent","cc.PrefabInfo","Int8Array","Int16Array","Uint16Array","Uint32Array","Uint8ClampedArray","getTypedArrayName","Declaration","varName","mergeDeclaration","writeAssignment","codeArray","Assignments","targetExpression","_exps","_targetExp","writeCode","targetVar","pair","getPropAccessor","equalsToDefault","isEmptyObject","Parser","objsToClear_iN$t","objs","funcModuleCache","globalVariables","globalVariableId","localVariableId","getFuncModule","globalVar","enumerateObject","globalVariablesDeclaration","code","_iN$t","usedInNew","clsNameIsModule","getObjRef","setValueType","srcValue","assignments","fastDefinedProps","enumerateField","enumerateCCClass","setObjProp","instantiateArray","arrayVar","declaration","instantiateTypedArray","line","isView","instantiateObj","createCode","isChildOf","_obj$node","./compiler","149","CCValueType","_isDomNode","isDomNode","original","internal_force","doInstantiate","objsToClearTmpVar","initValue","../value-types/value-type","150","tempCIDGenerater","_getPropertyDescriptor","getPrototypeOf","_copyprop","isString","dunderProto","superclass","tmpValueDesc","tmpGetSetDesc","tmpGetDesc","tmpSetDesc","objOrCtor","__classname__","retval","isTempClassId","_idToClass","_nameToClass","setup","publicName","table","doSetClassName","unregisterClass","classId","__cid__","classname","allowTempId","obsoleted","newExpr","extractPropName","oldProp","newProp","obsoletes","objName","REGEXP_NUM_OR_STR","REGEXP_STR","argLen","hasSubstitution","regExpToTest","notReplaceFunction","forceDictMode","INVALID_IDENTIFIER_1","INVALID_IDENTIFIER_2","verifyType","removeArray","minusArr","appendObjectsAt","addObjs","arr_clone","cleanupFunc","_cleanup","resize","../utils/mutable-forward-iterator","./id-generater","151","Attrs","SerializableAttrs","TYPO_TO_CORRECT_DEV","parseNotify","newKey","newValue","canUsedInGet","parseType","STATIC_CHECK","getBaseClassWherePropertyDefined_DEV","_wrapOptions","isES6Getset","isLiteral","fullForm","maybeTypeScript","CALL_SUPER_DESTROY_REG_DEV","overrided","baseFuc","subFuc","correct","152","requiringFrames","beh","frameInfo","anyKey","153","refNode","otherNode","compareDocumentPosition","nodeName","154","./CCDirector","./asset-manager","./platform/CCInputExtension","./platform/CCInputManager","./platform/CCScreen","./platform/CCSys","./platform/CCView","155","_manager","_assertThisInitialized","ReferenceError","Assembler2D","_Assembler","initData","initLocal","createQuadData","verticesFloats","indicesCount","_local","uintVerts","uintVDatas","floatsPerVert","colorOffset","getBuffer","_handle","_meshBuffer","updateWorldVerts","local","verts","vDatas","matrix","matrixm","vl","vr","vt","vertexOffset","justTranslate","al","ar","bl","br","ct","db","fillBuffers","worldMatDirty","renderData","vData","iData","iDatas","offsetInfo","request","verticesCount","byteOffset","vbuf","_vData","ibuf","_iData","indiceOffset","vertexId","texIdOffset","uvOffset","./assembler","./utils/dynamic-atlas/manager","./webgl/render-data","156","_pool3","_assemblerId","getAssemblerId","assemblerCtor","__assemblerId__","AssemblerPool","_pool2","assemblers","_renderComp","../utils/pool","157","_vertexFormat","_assemblerPool","_extendNative","renderComp","updateRenderDataForSwitchMaterial","getVfmt","vfmtPosUvColor","packDynamicAtlasAndCheckMaterial","packedFrame","insertSpriteFrame","renderCompCtor","__assembler__","getConstructor","./assembler-pool","./webgl/vertex-format","158","Device","canvasEL","_canvas","_caps","_stats","drawcalls","_vx","_vy","_vw","_vh","_sx","_sy","_sw","_sh","_restoreTexture","unit","setViewport","setScissor","clearRect","fillStyle","globalAlpha","resetDrawCalls","getDrawCalls","159","_device","updateImage","160","_inputAssembler","_initBuiltins","defaultTexture","WRAP_REPEAT","programTemplates","programChunks","InputAssembler","Pass","renderEngine","drawCalls","_cameraNode","ModelBatcher","nativeFlow","ForwardRenderer","_builtins","canvasRenderer","RenderComponentHandle","ecScene","../../renderer/core/input-assembler","../../renderer/core/pass","../../renderer/renderers/forward-renderer","../../renderer/scene/scene","./canvas","./canvas/Device","./canvas/Texture2D","./webgl/assemblers","./webgl/model-batcher","161","FlagOfset","DONOTHING","BREAK_FLOW","LOCAL_TRANSFORM","WORLD_TRANSFORM","TRANSFORM","UPDATE_RENDER_DATA","OPACITY","OPACITY_COLOR","RENDER","POST_RENDER","FINAL","_batcher","_func","_next","_doNothing","_localTransform","_worldTransform","parentOpacityDirty","_render","batcher","parentOpacity","worldTransformFlag","worldOpacityFlag","worldDirtyFlag","colorVal","_fastSetA","flows","_postRender","postFillBuffers","EMPTY_FLOW","createFlow","flow","getFlow","tFlag","_validateList","_inValidateList","validateRenderers","visitRootNode","preCullingMask","walking","terminate","_renderScene","forwardRenderer","getBachther","FLAG_DONOTHING","FLAG_BREAK_FLOW","FLAG_LOCAL_TRANSFORM","FLAG_FINAL","162","_reusableAtlas","_atlases","_atlasIndex","_maxAtlasCount","_textureSize","_maxFrameSize","_textureBleeding","_autoMultiBatch","_autoResetBeforeSceneLoad","_debugNode","newAtlas","autoMultiBatch","requsetMaterial","beforeSceneLoad","atlasCount","textureBleeding","textureSize","autoResetBeforeSceneLoad","atlases","rects","deleteAtlasSpriteFrame","deleteTexture","deleteInnerTexture","showDebug","scroll","./reusable-atlas","163","pointer","parentRect","subRectA","subRectB","subRectC","cacheIndex","used","border","rootRect","freeRects","pushFreeRect","removeFreeRect","temp2","replaceFreeRect","score","areaFit","originalIndex","sizes","best","ignoreRectSize","deleteInnerRect","_iterator","_step","tryMergeRecycle","old","isEmpty","_iterator2","_step2","_iterator3","_step3","../../../assets/CCRenderTexture","164","_assembler2d","shareLabelInfo","LetterInfo","_tmpRect","_comp","_horizontalKernings","_lettersInfo","_linesOffsetX","_numberOfLines","_textDesiredHeight","_letterOffsetY","_tailoredTopY","_tailoredBottomY","_bmfontScale","_lineBreakWithoutSpaces","_lineSpacing","_originFontSize","_hAlign","_vAlign","_overflow","_isWrapText","_maxLineWidth","_isRetina","_retinaScale","BmfontAssembler","_Assembler2D","_reserveQuads","assemblerChanged","_updateFontFamily","_aftUpdateRenderData","_preUpdateRenderData","fontAsset","fontAtlas","_updateProperties","_updateLabelInfo","_updateContent","_resetProperties","_updateFontScale","getTTFTextureSizeScale","enableLabelRetina","labelRetinaScale","_setupBMFontOverflowMetrics","_computeHorizontalKerningForText","_alignText","stringLen","horizontalKernings","kerningDict","kerningAmount","_multilineTextWrap","nextTokenFunc","lineIndex","nextTokenY","longestLine","letterRight","highestY","lowestY","letterDef","letterPosition","_getFontScale","_recordPlaceholderInfo","tokenLen","tokenHighestY","tokenLowestY","tokenRight","nextLetterX","newLine","letterIndex","atlasName","letterX","_recordLetterInfo","_finishMultilineTextWrap","_getFirstCharLen","_multilineTextWrapByWord","_multilineTextWrapByChar","tmpInfo","_char2","_computeAlignmentOffset","_isVerticalClamp","_shrinkLabelToContentSize","_updateQuads","_isHorizontalClamp","_scaleFontSizeDown","shouldUpdateContent","lambda","mid","newFontSize","letterClamp","ctr","letterInfo","wordWidth","_isHorizontalClamped","letterOverClamp","appx","appy","clipTop","_determineRect","letterPositionX","appendQuad","_quadsUpdated","tempRect","trimmedLeft","trimmedTop","originalX","blank","../../../components/CCLabel","../../../platform/CCMacro","../../../utils/text-utils","../../assembler-2d","../utils","165","166","_bmfont","OUTLINE_SUPPORTED","getFontFamily","bleed","_invisibleAlpha","LetterTexture","labelInfo","_labelInfo","_context","_updateTexture","_canvasPool","startX","startY","MIDDLE_RATIO","BASELINE_OFFSET","textAlign","isOutlined","strokeStyle","strokeText","fillText","LetterAtlas","_tmpId","_nexty","frees","waitCleans","insertLetterTexture","letterTexture","freeLetter","removeFreeLetter","oldx","oldy","oldnexty","_letter","_inCleans","ref","pushFreeLetter","defs","LetterAtlases","fakeMaterial","_atlasWidth","_atlasHeight","deleteLetter","_iterator4","_step4","_iterator5","_step5","charAtlasAutoResetBeforeSceneLoad","_emptyTexture","_firstTraverse","_letterRefs","checkMaterialAndUpdateTexId","_usedMaterial","_needCheckMaterial","computeHash","toHEX","_isBold","LetterFontAssembler","_WebglBmfontAssembler","_proto2","createFlexData","vfmtPosUvColorTexId","_getFontDesc","_iterator6","_step6","_recycleLetterRef","_iterator7","_step7","assemblerData","appendVerts","../../../components/CCComponent","../../../components/CCLabelOutline","../../webgl/assemblers/label/2d/bmfont","../../webgl/vertex-format","167","_fontDesc","_drawFontSize","_splitedStrings","_canvasSize","_premultiply","_outlineComp","_outlineColor","_shadowComp","_shadowColor","_canvasPadding","_contentSizeExtend","_nodeContentSize","_enableItalic","_underlineThickness","_drawUnderlinePos","_drawUnderlineWidth","_sharedLabelData","Alignment","TTFAssembler","_calculateLabelFont","_updateLabelDimensions","_calDynamicAtlas","updateVerts","_updatePaddingRect","outlineWidth","shadowWidth","CC_NATIVERENDERER","_calculateFillTextStartPosition","labelX","_getLineHeight","drawStartY","firstLinelabelY","_setupOutline","_setupShadow","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","_drawTextEffect","startPosition","isMultiple","measureText","drawTextPosX","drawTextPosY","maxTextureSize","caps","recreate","nodeSpacingY","_calculateParagraphLength","paragraphedStrings","paragraphLength","_calculateShrinkFont","totalHeight","maxLength","canvasWidthNoMargin","canvasHeightNoMargin","textFragment","allWidth","_calculateWrapText","canvasSizeX","canvasSizeY","paraLength","rawWidth","rawHeight","_rawHeight","../../../components/CCLabelShadow","168","hAlign","vAlign","./dynamic-atlas/manager","169","earcut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","minX","minY","eliminateHoles","earcutLinked","clockwise","signedArea","insertNode","removeNode","filterPoints","again","steiner","area","ear","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","intersects","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","mx","my","tanMin","sortLinked","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","intersectsPolygon","middleInside","q1","inside","a2","an","bp","deviation","polygonArea","trianglesArea","flatten","holes","dimensions","holeIndex","170","Point","dmx","dmy","Path","closed","nbevel","complex","Impl","_distTol","_updatePathOffset","_paths","_pathLength","_pathOffset","_pointsOffset","_commandx","_commandy","_addPath","_curPath","pt","pathPoints","../../../../graphics/helper","../../../../graphics/types","171","MeshBuffer","Earcut","MAX_VERTEX","MAX_INDICE","atan2","curveDivs","tol","clamp","vfmtPosColorSdf","VertexFormat","ATTR_POSITION","ATTR_TYPE_FLOAT32","num","ATTR_COLOR","ATTR_TYPE_UINT8","GraphicsAssembler","_buffers","_bufferOffset","getVfmtFloatCount","requestBuffer","indiceStart","vertexStart","meshbuffer","ia","_vb","_ib","getBuffers","buffers","_flushIA","uploadData","genBuffer","cverts","maxVertsCount","requestStatic","_curColor","_flattenPaths","_expandStroke","_expandFill","impl","ncap","_calculateJoins","pointsLength","_path","pts","_pointsLength","loop","dPos","normalizeSelf","_buttCapStart","_roundCapStart","_roundJoin","_bevelJoin","_vset","floatCount","vDataoOfset","_dPos","_dx","_dy","_buttCapEnd","_roundCapEnd","indicesOffset","_start","_end","_l3","_path2","_pointsLength2","earcutData","vDataOffset","newIndices","_j2","nIndices","first","_end2","iw","w2","ptsLength","nleft","dmr2","cross","limit","dlx0","dly0","dlx1","dly1","dmwx","dmwy","dmlen2","_chooseBevel","bevel","dlx","dly","lw","rw","p1x","lx0","ly0","lx1","ly1","a0","a1","_out","rx0","ry0","rx1","ry1","_a2","_n","_u","_a3","lx","ly","_out2","uintVData","_uintVData","../../../../../renderer/core/input-assembler","../../../../graphics/graphics","../../../assembler","../../../index","../../mesh-buffer","./earcut","./impl","172","./label","./mask-assembler","./motion-streak","./motion-streak-multi","./sprite","173","MultiWebglBmfontAssembler","../../../../webgl/vertex-format","../2d/bmfont","174","_ttf","MultiWebglTTFAssembler","_WebglTTFAssembler","indices","initQuadIndices","../2d/ttf","175","_dataOffset","WebglBmfontAssembler","_BmfontAssembler","flexBuffer","_flexBuffer","reserve","vid","_getColor","rectWidth","rectHeight","uvDataOffset","retinaScale","world","../../../../utils/label/bmfont","176","WebglLetterFontAssembler","_LetterFontAssembler","createData","requestRenderData","../../../../../platform/js","../../../../utils/label/letter-font","./bmfont","177","UPDATE_CONTENT","UPDATE_FONT","UPDATE_EFFECT","NativeTTF","labelMaterial","_label","CustomAssembler","_proxy","setAssembler","_layout","jsb","LabelRenderer","_cfg","DataView","_layoutInfo","_cfgFields","_layoutFields","bindNodeProxy","_bindMaterial","_setBufferFlag","dv","getInt8","setInt8","_v","getInt32","__isLittleEndian__","setInt32","_updateCfgFlag","field","updateFlags","_setBufferValue","setFloat32","setUint8","_setFieldValue","field_name","_getBufferValue","getFloat32","getUint8","_getFieldValue","_getLayoutValue","_setLayoutValue","_updateCfgFlag_Content","_updateCfgFlag_Font","_colorEqual","_colorToObj","setString","setFontPath","fontPath","setFontSize","fontSizeRetina","oldfontsize","setOutline","oldOutline","setOutlineColor","oldColor","setLineHeight","oldLineHeight","setOverFlow","setEnableWrap","setVerticalAlign","setHorizontalAlign","oldHeight","oldX","oldY","setShadow","oldBlur","updateContent","setShadowColor","setItalic","oldItalic","setBold","oldBold","setUnderline","setSpacingX","getCache","retinaSize","getR","getG","getB","getA","shadow","outlineSize","setEffect","_nativeObj","../../../../../assets/material/CCMaterial","../../../../../assets/material/material-variant","../../../../../components/CCLabel","../../../../../components/CCLabelOutline","../../../../../components/CCLabelShadow","178","WebglTTFAssembler","_TTFAssembler","updateUVs","srcOffset","dstOffset","canvasWidth","canvasHeight","shadowOffset","../../../../utils/label/ttf","179","_CCLabel","_ttf2","_bmfont2","_letter2","_ttf3","_bmfont3","textBaseline","TTF","Bmfont","Letter","TTF3D","Bmfont3D","Letter3D","TTFMulti","BmfontMulti","../../../../components/CCLabel","./2d-multi/bmfont","./2d-multi/ttf","./2d/bmfont","./2d/letter","./2d/nativeTTF","./2d/ttf","./3d/bmfont","./3d/letter","./3d/ttf","180","MaskAssembler","SimpleSpriteAssembler","vfmtPos","_maxLevel","_maskStack","getWriteMask","getStencilRef","applyStencil","failOp","writeMask","zFailOp","zPassOp","STENCIL_ENABLE","pushMask","exitMask","_flushMaterial","enableMask","applyClearMask","DS_FUNC_NEVER","STENCIL_OP_REPLACE","STENCIL_OP_ZERO","applyAreaMask","DS_FUNC_EQUAL","_SimpleSpriteAssemble","../../../../renderer/gfx","../../../components/CCMask","../../assembler","../../render-flow","../vertex-format","./sprite/2d/simple","181","_motionStreak","setPoint","setDir","_normal","MultiMotionStreakAssembler","_MotionStreakAssemble","lastPos","moved","cur","newHead","_prev","_tailShortenTime","_prev2","difx","dify","prevIsTail","ca","crgb","vertsOffset","isLast","nextIsStatic","segmentProgress","_this$_renderData$_fl","usedVertices","usedIndices","usedVerticesFloats","MotionStreakAssembler","../../../components/CCMotionStreak","182","_tangent","_miter","computeMiter","miter","lineA","lineB","halfThick","maxMultiple","multiple","dot","183","_barFilled","BarFilledAssemblerMulti","_BarFilledAssembler","fillEnd","../2d/bar-filled","184","_mesh","MultiMeshSpriteAssembler","_MeshSpriteAssembler","updateIndices","../2d/mesh","185","_radialFilled","MultiRadialFilledAssembler","_RadialFilledAssemble","../2d/radial-filled","186","_simple","MultiSimpleSpriteAssembler","../2d/simple","187","_sliced","MultiSlicedAssembler","_SlicedAssembler","meshCount","indexOffset","../2d/sliced","188","_tiled","MultiTiledAssembler","_TiledAssembler","contentWidth","contentHeight","sizableWidth","sizableHeight","hRepeat","vRepeat","_updateIndices","../2d/tiled","189","BarFilledAssembler","textureRect","ul","ur","quadUV0","quadUV1","quadUV2","quadUV3","quadUV4","quadUV5","quadUV6","quadUV7","progressStart","progressEnd","../../../../../components/CCSprite","../../../../assembler-2d","190","MeshSpriteAssembler","originalWidth","originalHeight","trimX","trimY","191","PI_2","_vertPos","_vertices","_uvs","_intersectPoint_1","_intersectPoint_2","_center","_triangles","_calcInsectedPoints","intersectPoints","sinAngle","cosAngle","tanAngle","cotAngle","yleft","yright","xtop","xbottom","_calculateVertices","_calculateUVs","u0","v0","_getVertAngle","placementX","placementY","RadialFilledAssembler","floatsPerTriangle","triangleIndex","triangle","_generateTriangle","testIndex","allocWorldVerts","vert0","vert1","vert2","v0x","v0y","v1x","v1y","progressX","progressY","_generateUV","px1","px2","py1","py2","192","cw","ch","ow","oh","rh","trimRight","trimBottom","trimTop","193","SlicedAssembler","xScale","yScale","voffset","localRowY","localColX","worldIndex","194","TiledAssembler","_this$_local","offsetWidth","offsetHeight","localX","localY","yindex","ylength","xindex","xlength","coefu","coefv","tempXVerts","tempYVerts","195","_CCSprite","_simple2","_sliced2","_tiled2","_radialFilled2","_barFilled2","_mesh2","_simple3","_sliced3","_tiled3","_radialFilled3","_barFilled3","_mesh3","Simple","Sliced","Tiled","RadialFilled","BarFilled","Mesh","Simple3D","Sliced3D","Tiled3D","RadialFilled3D","BarFilled3D","Mesh3D","SimpleMulti","SlicedMulti","TiledMulti","RadialFilledMulti","BarFilledMulti","MeshMulti","../../../../components/CCSprite","./2d-multi/bar-filled","./2d-multi/mesh","./2d-multi/radial-filled","./2d-multi/simple","./2d-multi/sliced","./2d-multi/tiled","./2d/bar-filled","./2d/mesh","./2d/radial-filled","./2d/simple","./2d/sliced","./2d/tiled","./3d/bar-filled","./3d/mesh","./3d/radial-filled","./3d/simple","./3d/sliced","./3d/tiled","196","FlexBuffer","vfmt","_handler","_index","_vfmt","_verticesBytes","_bytes","_initVerticesCount","_initIndicesCount","_reallocVData","floatsCount","oldData","updateMesh","_reallocIData","newFloatsCount","realloced","newIndicesCount","updateMeshRange","197","FIX_IOS14_BUFFER","_GameGlobal","GameGlobal","isIOSHighPerformanceMode","vertexFormat","_vertexBytes","_arrOffset","_vbArr","VertexBuffer","USAGE_DYNAMIC","_ibArr","IndexBuffer","INDEX_FMT_UINT16","USAGE_STATIC","_initVDataCount","_initIDataCount","_offsetInfo","_reallocBuffer","vertexsData","indicesData","ib","switchBuffer","checkAndSwitchBuffer","vertexCount","indiceCount","byteLength","indiceLength","_updateOffset","requestForSpine","requestStaticForSpine","adjustForSpine","copyOldData","oldVData","newData","oldIData","forwardIndiceStartToOffset","../../../renderer/gfx","198","_recyclePool","_model","vfmt3D","QuadBuffer","SpineBuffer","empty_material","empty_ia","renderScene","_iaPool","_modelPool","_quadBuffer","_quadBuffer3D","_meshBuffer3D","_batchedModels","_sortKey","models","setInputAssembler","removeModel","model","sortKey","addModel","_vertexBuffer","_indexBuffer","vertextFormat","../../../renderer/core/input-assembler","../../../renderer/memop/recycle-pool","../../../renderer/scene/model","../../assets/material/CCMaterial","../../platform/id-generater","./mesh-buffer","./quad-buffer","./spine-buffer","./vertex-format","199","_fillQuadBuffer","vertextID","200","RenderData","_infos","./flex-buffer","201","adjust","202","ATTR_UV0","XYZ_UV_Color","XY_UV_Color","ATTR_TEX_ID","XY_UV_Color_TexId","vfmtPosUvTwoColor","ATTR_COLOR0","XY_UV_Two_Color","vfmtPosUvTwoColorTexId","XY_UV_Two_Color_TexId","vfmtPosUv","XY_UV","vfmtPosColor","XY_Color","XY","203","./multi-batcher","./multi-handler","204","MultiBatcher","handlers","nextHandler","getEmptyIndex","205","textures","hasEmptySlot","texture2","texture3","texture4","texture5","texture6","texture7","texture8","propertyIndex2Name","hasTexture","206","i2nMap","n2iMap","propertyName2Index","207","EXTNAME_RE","DIRNAME_RE","NORMALIZE_RE","pathStr","mainFileName","fileName","reg","baseName","tempStr","changeBasename","isSameExt","_normalize","oldUrl","sep","stripSep","208","AffineTransform","determinant","matm","transformVec2","transOrY","transformSize","transformRect","ol","ob","or","ot","lbx","lby","rbx","rby","ltx","lty","rtx","rty","transformObb","out_bl","out_tl","out_tr","out_br","anAffineTransform","209","findComponent","findComponents","_comp2","findChildComponent","findChildComponents","couldActiveInScene","_onSetParent","getChildByName","siblingIndex","siblings","oldIndex","walk","prefunc","postfunc","afterChildren","_stacks","_stackId","removeAllChildren","_checkMultipleComp","existing","_RFpeek","ReqComp","depended","attachedObjsForEditor","_addComponentAt","removeComponent","_getDependComponent","destroyAllChildren","newParent","inCurrentSceneBefore","inCurrentSceneNow","newPrefabRoot","myPrefabInfo","shouldActiveNow","isSyncedNode","newPrefabInfo","syncing","_registerIfAttached","_comp3","childIndex","SameNameGetSets","propertyDefine","./misc","210","211","_dstBlendFactor","_updateBlendFunc","dstBlendFactor","materialVar","_updateMaterialBlendFunc","212","Base64Values","BASE64_VALUES","HexChars","UuidTemplate","Indices","isFinite","base64","lhs","rhs","213","referenceNode","nameList","subChild","214","_normalMaterial","normalMaterial","_grayMaterial","grayMaterial","215","eventRegx","imageAttrReg","_parsedObject","_specialSymbolArray","htmlString","_resultObjectArray","_stack","tagEndIndex","tagBeginIndex","noTagBegin","_processResult","newStr","tagStr","_addToStack","_attributeToObject","attribute","nextSpace","eventObj","eventHanlderString","_processEventHandler","isNewLine","tagValue","remainingArgument","isValidImageTag","toLocaleLowerCase","defaultOutlineObject","outlineAttrReg","eventString","eventNames","isValidTag","eventValue","previousTagObj","_escapeSpecialSymbol","216","./CCPath","./find","./mutable-forward-iterator","./profiler/CCProfiler","217","sameNameGetSets","diffNameGetSets","np","getterFunc","suffix","NextPOT","BUILTIN_CLASSID_RE","BASE64_KEYS","pushToMap","pushFront","exists","min_inclusive","max_inclusive","degreesToRadians","radiansToDegrees","218","219","220","_PrefabInfo","fileId","eulerAnglesX","eulerAnglesY","eulerAnglesZ","prefabRoot","221","PerfCounter","_showFPS","_rootNode","generateStats","below","average","draws","logic","_counter","generateNode","leftLabel","rightLabel","beforeUpdate","afterUpdate","updateLabel","stat","human","afterDraw","../../platform/CCMacro","./perf-counter","222","Counter","_value","_averageValue","_accumValue","_accumSamples","_accumStart","_average","alarm","over","223","tick","avg","./counter","224","_BASELINE_RATIO","_BASELINE_OFFSET","MAX_CACHE_SIZE","LRUCache","moveToHead","discard","measureCache","label_wordRex","label_symbolRex","label_lastWordRex","label_lastEnglish","label_firstEnglish","highSurrogateRex","lowSurrogateRex","label_wrapinspection","__CHINESE_REG","__JAPANESE_REG","__KOREAN_REG","metric","_safeSubstring","targetString","endIndex","newStartIndex","newEndIndex","startChar","endChar","wrappedWords","fuzzyLen","tmpText","sLine","pushNum","checkWhile","checkCount","sText","225","loadImage","tex","cacheImage","postLoadTexture","../assets/CCTexture2D","226","NodeUnit","./node-mem-pool","./node-unit","227","MemPool","unitClass","_unitClass","_findOrder","_initNative","_nativeMemPool","_buildUnit","unitID","_destroyUnit","_findUnitID","findUnit","findOrder","hasSpace","firstUnit","isAllFree","228","Super","./mem-pool","229","Uint32_Bytes","Uint8_Bytes","Dirty_Type","Dirty_Members","Dirty_Stride","TRS_Members","TRS_Stride","FLOAT_BYTES","LocalMatrix_Members","LocalMatrix_Stride","WorldMatrix_Members","WorldMatrix_Stride","Parent_Type","Parent_Members","Parent_Stride","ZOrder_Type","ZOrder_Members","ZOrder_Stride","CullingMask_Type","CullingMask_Members","CullingMask_Stride","Opacity_Type","Opacity_Members","Opacity_Stride","Is3D_Type","Is3D_Members","Is3D_Stride","Node_Type","Node_Members","Skew_Members","Skew_Stride","UnitBase","memPool","contentNum","_contentNum","trsList","FLOAT_ARRAY_TYPE","localMatList","worldMatList","_spacesData","../../value-types/utils","./unit-base","230","POINTER_INVALID_FLAG","SPACE_FREE_FLAG","SPACE_USE_FLAG","POS_NEXT_FREE","POS_FREE_FLAG","_memPool","_signData","signIndex","UnitBaseProto","headFreeIndex","spaceNum","freeStr","usingNum","usingStr","freeFlag","totalNum","231","_valueType","_CCClass","_misc","_ValueType","fromHex","hex","hexString","subtract","multiply","divide","ag","ofs","setR","setG","setB","setA","toCSS","opt","fmt","toRGBValue","fromHSV","toHSV","hsv","WHITE_R","BLACK_R","TRANSPARENT_R","GRAY_R","RED_R","RED","GREEN_R","GREEN","BLUE_R","BLUE","YELLOW_R","YELLOW","ORANGE_R","ORANGE","CYAN_R","CYAN","MAGENTA_R","MAGENTA","./value-type","232","_exportNames","Vec4","Mat3","_mat2","math","./color","./mat3","./mat4","./quat","./rect","./size","./trs","./vec2","./vec3","./vec4","233","m00","m01","m02","m03","m04","m05","m06","m07","m08","m10","m11","m20","m21","m22","transpose","a01","a02","a12","a00","a10","a11","a20","a21","a22","b01","b11","b21","det","adjoint","b00","b02","b10","b12","b20","b22","multiplyMat4","translate","rotate","rad","fromTranslation","fromScaling","fromQuat","z2","xx","yx","yy","zx","zy","zz","wx","wy","wz","_fromViewUpIIFE","default_up","lengthSqr","normalFromMat4","a03","a13","a23","a30","a31","a32","a33","b03","b04","b05","b06","b07","b08","b09","frob","multiplyScalar","multiplyScalarAndAdd","exactEquals","a4","a5","a6","a7","a8","b0","b5","b6","b7","b8","IDENTITY","../value-types/utils","234","_a00","_a01","_a02","_a03","_a10","_a11","_a12","_a13","_a20","_a21","_a22","_a23","_a30","_a31","_a32","_a33","mulScalar","m23","m30","m31","m32","m33","axis","rotateX","rotateY","rotateZ","fromXRotation","fromYRotation","fromZRotation","xy","xz","yz","getTranslation","getScaling","m3","m3_1","m09","trace","S","toRTS","v3_1","fromMat3","fromRTS","sz","fromRTSOrigin","ox","oy","oz","frustum","near","far","rl","tb","nf","perspective","fovy","aspect","lr","bt","eye","eyex","eyey","eyez","upx","upy","upz","centerx","centery","centerz","z0","z1","inverseTranspose","strictEquals","epsilon","sm","number","m14","m15","235","_z","_w","rotationTo","fromAxisAngle","getAxisAngle","outAxis","scaleAndAdd","bw","bz","rotateAround","rot","qt_1","rotateAroundLocal","calculateW","slerp","scale0","scale1","cosom","omega","sinom","sqlerp","qt_2","invDot","fromAxes","xAxis","yAxis","zAxis","halfToRad","_s","_s2","_s3","cz","toAxisX","fy","fz","toAxisY","fx","toAxisZ","outerZ","bank","heading","attitude","toDegree","sqx","sqy","sqz","euler","236","fromMinMax","min_x","min_y","max_x","max_y","maxax","maxay","maxbx","maxby","intersection","rectB","axMin","ayMin","axMax","ayMax","bxMin","byMin","bxMax","byMax","containsRect","aw","ah","bh","237","ZERO_R","238","tmp_quat","239","INT_MIN","INT_MAX","INT_BITS","inverseLerp","nextPow2","pingPong","pseudoRandom","pseudoRandomRange","pseudoRandomRangeInt","randomRange","randomRangeInt","toRadian","_d2r","_r2d","maxDiff","seed","240","241","neg","negate","squaredDistance","inverse","transformMat3","v2_1","v2_2","cosine","magSqr","subSelf","mulSelf","divSelf","scaleSelf","negSelf","variance","addSelf","invsqrt","magSqr1","magSqr2","theta","signAngle","radians","rotateSelf","project","maxAxis","squaredMagnitude","ONE_R","UP_R","RIGHT_R","242","zero","az","cosTheta","sinTheta","rhw","transformMat4Normal","transformAffine","ix","iy","iz","transformRTS","transformInverseRTS","rz","v3_2","projectOnPlane","sqrLen","vec1","vec2","FRONT_R","243","v4","equals4f","strictEquals4f","minInclusive","maxInclusive","NEG_ONE_R","NEG_ONE","244","deprecateEnum","oldPath","newPath","hasTypePrefixBefore","delimiter","oldPropName","oldTypeName","markAsRemoved","ownerCtor","removedProps","ownerName","markAsDeprecated","deprecatedProps","descriptors","getOwnPropertyDescriptors","deprecatedProp","markAsRemovedInObject","ownerObj","provideClearError","Info","accessor","etProp","markFunctionWarning","originFunc","_glID","PI2","FLT_MAX","FLT_MIN","UINT_MAX","scheduleCallbackForTarget","scheduleUpdateForTarget","unscheduleCallbackForTarget","unscheduleUpdateForTarget","unscheduleAllCallbacksForTarget","unscheduleAllCallbacksWithMinPriority","adjustViewPort","setViewPortInPoints","getViewPortRect","getChildByTag","removeChildByTag","getRotationX","setRotationX","getRotationY","setRotationY","getPositionX","setPositionX","getPositionY","setPositionY","getSkewX","setSkewX","getSkewY","setSkewY","setScaleX","setScaleY","getOpacity","setOpacity","getColor","getLocalZOrder","setLocalZOrder","setInsetLeft","setInsetRight","setInsetTop","setInsetBottom","getInstantiatedBuiltinMaterial","getInstantiatedMaterial","ERR","Light","affineTransformMake","affineTransformMakeIdentity","affineTransformClone","affineTransformConcat","affineTransformConcatIn","affineTransformInvert","affineTransformInvertIn","affineTransformInvertOut","affineTransformEqualToTransform","pointApplyAffineTransform","sizeApplyAffineTransform","rectApplyAffineTransform","obbApplyAffineTransform","pointEqualToPoint","sizeEqualToSize","rectEqualToRect","rectContainsRect","rectContainsPoint","rectOverlapsRect","rectIntersectsRect","rectIntersection","rectUnion","rectGetMaxX","rectGetMidX","rectGetMinX","rectGetMaxY","rectGetMidY","rectGetMinY","colorEqual","hexToColor","colorToHex","pNeg","pAdd","pSub","pMult","pMidpoint","pDot","pCross","pPerp","pRPerp","pProject","pLengthSQ","pDistanceSQ","pLength","pDistance","pNormalize","pForAngle","pToAngle","pZeroIn","pIn","pMultIn","pSubIn","pAddIn","pNormalizeIn","pSameAs","pAngle","pAngleSigned","pRotateByAngle","pCompMult","pFuzzyEqual","pLerp","pClamp","rand","randomMinus1To1","_renderType","_getError","_initDebugSetting","rgb2hsv","hsv2rgb","dragonBones","CCFactory","getInstance","vmath","245","./actions","./core/CCGame","246","CCSpriteFrame","ParticleAsset","../core/assets/CCAsset","../core/assets/CCSpriteFrame","247","USAGE_STREAM","INDEX_FMT_UINT8","INDEX_FMT_UINT32","ATTR_NORMAL","ATTR_TANGENT","ATTR_BITANGENT","ATTR_WEIGHTS","ATTR_JOINTS","ATTR_COLOR1","ATTR_UV","ATTR_UV1","ATTR_UV2","ATTR_UV3","ATTR_UV4","ATTR_UV5","ATTR_UV6","ATTR_UV7","ATTR_TYPE_INT8","ATTR_TYPE_INT16","ATTR_TYPE_UINT16","ATTR_TYPE_INT32","ATTR_TYPE_UINT32","FILTER_NEAREST","FILTER_LINEAR","WRAP_CLAMP","WRAP_MIRROR","TEXTURE_FMT_RGB_DXT1","TEXTURE_FMT_RGBA_DXT1","TEXTURE_FMT_RGBA_DXT3","TEXTURE_FMT_RGBA_DXT5","TEXTURE_FMT_RGB16F","TEXTURE_FMT_RGBA16F","TEXTURE_FMT_RGB32F","TEXTURE_FMT_R32F","TEXTURE_FMT_111110F","TEXTURE_FMT_SRGB","TEXTURE_FMT_SRGBA","TEXTURE_FMT_D16","TEXTURE_FMT_D32","TEXTURE_FMT_D24S8","DS_FUNC_LEQUAL","DS_FUNC_GREATER","DS_FUNC_NOTEQUAL","DS_FUNC_GEQUAL","RB_FMT_RGBA4","RB_FMT_RGB5_A1","RB_FMT_RGB565","BLEND_FUNC_SUBTRACT","BLEND_FUNC_REVERSE_SUBTRACT","BLEND_ZERO","BLEND_ONE","BLEND_SRC_COLOR","BLEND_ONE_MINUS_SRC_COLOR","BLEND_DST_COLOR","BLEND_ONE_MINUS_DST_COLOR","BLEND_DST_ALPHA","BLEND_ONE_MINUS_DST_ALPHA","BLEND_CONSTANT_COLOR","BLEND_ONE_MINUS_CONSTANT_COLOR","BLEND_CONSTANT_ALPHA","BLEND_ONE_MINUS_CONSTANT_ALPHA","BLEND_SRC_ALPHA_SATURATE","STENCIL_OP_INCR","STENCIL_OP_INCR_WRAP","STENCIL_OP_DECR","STENCIL_OP_DECR_WRAP","STENCIL_OP_INVERT","CULL_NONE","CULL_FRONT","CULL_FRONT_AND_BACK","PT_POINTS","PT_LINES","PT_LINE_LOOP","PT_LINE_STRIP","PT_TRIANGLES","PT_TRIANGLE_STRIP","PT_TRIANGLE_FAN","RenderQueue","OVERLAY","murmurhash2_32_gc","WebGLEXT","GFXObjectType","GFXStatus","GFXObject","gfxType","_gfxType","_status","UNREADY","GFXAttributeName","GFXType","GFXFormat","GFXBufferUsageBit","GFXMemoryUsageBit","GFXBufferAccessBit","GFXPrimitiveMode","GFXPolygonMode","GFXShadeModel","GFXCullMode","GFXComparisonFunc","GFXStencilOp","GFXBlendOp","GFXBlendFactor","GFXColorMask","GFXFilter","GFXAddress","GFXTextureType","GFXTextureUsageBit","GFXSampleCount","GFXTextureFlagBit","GFXTextureViewType","GFXShaderType","GFXBindingType","GFXCommandBufferType","GFXLoadOp","GFXStoreOp","GFXTextureLayout","GFXPipelineBindPoint","GFXDynamicState","GFXStencilFace","GFXQueueType","GFXClearFlag","GFXGetTypeSize","BOOL","INT","UINT","FLOAT","BOOL2","INT2","UINT2","FLOAT2","BOOL3","INT3","UINT3","FLOAT3","BOOL4","INT4","UINT4","FLOAT4","MAT2","MAT2X3","MAT2X4","MAT3X2","MAT3","MAT3X4","MAT4X2","MAT4","SAMPLER1D","SAMPLER1D_ARRAY","SAMPLER2D","SAMPLER2D_ARRAY","SAMPLER3D","SAMPLER_CUBE","RenderPassStage","RenderPriority","MAX_BINDING_SUPPORTED","UniformBinding","SamplerInfoIndex","sizeMap","formatMap","R32I","RG32I","RGB32I","RGBA32I","R32F","RG32F","RGB32F","passParams","BACK","FRONT","ADD","SUB","REV_SUB","CONSTANT_COLOR","CONSTANT_ALPHA","NEVER","LESS","EQUAL","LEQUAL","GREATER","NOTEQUAL","GEQUAL","KEEP","REPLACE","INCR","INCR_WRAP","DECR","DECR_WRAP","INVERT","effectStructure","$techniques","$passes","any","sampler","mappings","248","_memop","_m4_tmp","_stageInfos","RecyclePool","_float2_pool","_float3_pool","_float4_pool","_float9_pool","_float16_pool","_float64_pool","_int2_pool","_int3_pool","_int4_pool","_int64_pool","Base","_this$_type2defaultVa","_type2defaultValue","PARAM_INT2","PARAM_INT3","PARAM_INT4","PARAM_FLOAT2","PARAM_FLOAT3","PARAM_FLOAT4","PARAM_COLOR4","PARAM_MAT3","PARAM_MAT4","defaultTextureCube","_stage2fn","_usedTextureUnits","_viewPools","_drawItemsPools","_stageItemsPools","_definesChanged","_resetTextuerUnit","_allocTextureUnit","maxTextureUnits","_registerStage","fn","_requestView","clearOpts","CLEAR_COLOR","CLEAR_DEPTH","CLEAR_STENCIL","_stencil","_models","drawItem","extractDrawItem","_stages","stageItems","_drawItem","stageItem","stageInfo","_setProperty","slots","setTextureArray","setUniformDirectly","setUniform","_draw","programLib","_programKey","setVertexBuffer","setIndexBuffer","setPrimitiveType","_primitiveType","getProgram","setProgram","_uniforms","variants","enableBlend","setBlendFuncSep","setBlendEqSep","setBlendColor32","enableDepthTest","setDepthFunc","enableDepthWrite","setStencilTest","setStencilFuncFront","setStencilOpFront","setStencilFuncBack","setStencilOpBack","draw","../../core/value-types","../enums","../gfx","../memop","./program-lib","./view","249","250","_detailName","setStage","newProperties","../../core/value-types/value-type","251","_shdID","_generateDefines","tmpDefines","_replaceMacroNums","_unrollLoops","begin","snippet","unroll","parsedBegin","parsedEnd","_replaceHighp","ProgramLib","_templates","_checkPrecision","prog","glsl1","vert","frag","cnt","log2","samplers","blocks","members","extensions","hasProgram","getKey","tmpl","tmplDefs","errPrefix","customDef","_highpSupported","Program","errors","link","vertLines","fragLines","defineLength","originLine","lines","fileID","highpSupported","getShaderPrecisionFormat","vertHighp","VERTEX_SHADER","HIGH_FLOAT","fragHighp","FRAGMENT_SHADER","precision","252","Technique","253","_genID","_priority","_clearModel","_matView","_matViewInv","_matProj","_matViewProj","_matInvViewProj","_cullingByID","_shadowLight","getForward","254","_mappings","PROJ_PERSPECTIVE","PROJ_ORTHO","LIGHT_DIRECTIONAL","LIGHT_POINT","LIGHT_SPOT","LIGHT_AMBIENT","SHADOW_NONE","SHADOW_HARD","SHADOW_SOFT","ivec2","ivec3","ivec4","vec3","vec4","PARAM_MAT2","mat2","mat3","sampler2D","samplerCube","CLEAR_SKYBOX","BUFFER_VIEW_INT8","BUFFER_VIEW_UINT8","BUFFER_VIEW_INT16","BUFFER_VIEW_UINT16","BUFFER_VIEW_INT32","BUFFER_VIEW_UINT32","BUFFER_VIEW_FLOAT32","./build/mappings","255","_state","_texture2d","_textureCube","_type2uniformCommit2","_type2uniformArrayCom","GL_INT","GL_FLOAT","GL_FLOAT_VEC2","GL_FLOAT_VEC3","GL_FLOAT_VEC4","GL_INT_VEC2","GL_INT_VEC3","GL_INT_VEC4","GL_BOOL","GL_BOOL_VEC2","GL_BOOL_VEC3","GL_BOOL_VEC4","GL_FLOAT_MAT2","GL_FLOAT_MAT3","GL_FLOAT_MAT4","GL_SAMPLER_2D","GL_SAMPLER_CUBE","_type2uniformCommit","uniform1i","uniform1f","uniform2fv","uniform3fv","uniform4fv","uniform2iv","uniform3iv","uniform4iv","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_type2uniformArrayCommit","uniform1iv","uniform1fv","_commitBlendStates","disable","BLEND","blendSep","blendFuncSeparate","blendEquationSeparate","blendFunc","blendEquation","_commitDepthStates","DEPTH_TEST","depthMask","_commitStencilStates","STENCIL_TEST","stencilSep","stencilFuncSeparate","stencilMaskSeparate","stencilOpSeparate","stencilOp","_commitCullMode","CULL_FACE","cullFace","_commitVertexBuffers","attrsDirty","maxStream","vertexBuffers","vertexBufferOffsets","maxVertexAttribs","_newAttributes","vbOffset","bindBuffer","ARRAY_BUFFER","_attributes","_enabledAttributes","enableVertexAttribArray","vertexAttribPointer","stride","disableVertexAttribArray","_commitTextures","maxTextureSlot","textureUnits","activeTexture","TEXTURE0","bindTexture","_attach","attachment","face","framebufferTexture2D","TEXTURE_2D","TEXTURE_CUBE_MAP_POSITIVE_X","framebufferRenderbuffer","RENDERBUFFER","preserveDrawingBuffer","_extensions","_initExtensions","_initCaps","_initStates","initDefault","_current","vendorPrefixes","getExtension","extDrawBuffers","maxVertexStreams","maxVertexTextures","MAX_VERTEX_TEXTURE_IMAGE_UNITS","maxFragUniforms","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_ATTRIBS","MAX_TEXTURE_SIZE","maxDrawBuffers","MAX_DRAW_BUFFERS_WEBGL","maxColorAttachments","MAX_COLOR_ATTACHMENTS_WEBGL","FUNC_ADD","colorMask","POLYGON_OFFSET_FILL","depthRange","clearDepth","clearStencil","_restoreIndexBuffer","indexBuffer","ELEMENT_ARRAY_BUFFER","allowFloatTexture","fb","numColors","_colors","colorBuffer","COLOR_ATTACHMENT0","DEPTH_ATTACHMENT","STENCIL_ATTACHMENT","_depthStencil","DEPTH_STENCIL_ATTACHMENT","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT","setStencilFunc","setStencilOp","rgba","setBlendColor","setBlendFunc","dst","srcAlpha","dstAlpha","setBlendEq","eq","alphaEq","stream","slot","sameType","isFloat32Array","isInt32Array","programDirty","_linked","useProgram","commitFunc","drawElements","_bytesPerIndex","drawArrays","./enums","./state","./texture-2d","./texture-cube","256","attrTypeBytes","glFilter","glTextureFmt","GL_NEAREST_MIPMAP_NEAREST","GL_LINEAR_MIPMAP_NEAREST","GL_NEAREST_MIPMAP_LINEAR","GL_LINEAR_MIPMAP_LINEAR","GL_UNSIGNED_BYTE","GL_UNSIGNED_SHORT","GL_UNSIGNED_INT","GL_UNSIGNED_SHORT_5_6_5","GL_UNSIGNED_SHORT_4_4_4_4","GL_UNSIGNED_SHORT_5_5_5_1","GL_HALF_FLOAT_OES","GL_DEPTH_COMPONENT","GL_ALPHA","GL_RGB","GL_LUMINANCE","GL_LUMINANCE_ALPHA","GL_COMPRESSED_RGB_S3TC_DXT1_EXT","GL_COMPRESSED_RGBA_S3TC_DXT1_EXT","GL_COMPRESSED_RGBA_S3TC_DXT3_EXT","GL_COMPRESSED_RGBA_S3TC_DXT5_EXT","GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG","GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG","GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","GL_COMPRESSED_RGB_ETC1_WEBGL","GL_COMPRESSED_RGB8_ETC2","GL_COMPRESSED_RGBA8_ETC2_EAC","_filterGL","_textureFmtGL","internalFormat","pixelType","ATTR_TEX_COORD","ATTR_TEX_COORD1","ATTR_TEX_COORD2","ATTR_TEX_COORD3","ATTR_TEX_COORD4","ATTR_TEX_COORD5","ATTR_TEX_COORD6","ATTR_TEX_COORD7","ATTR_TEX_COORD8","attrType","LINEAR_MIPMAP_LINEAR","257","createFramebuffer","deleteFramebuffer","258","_BYTES_PER_INDEX","BYTES_PER_INDEX","usage","_usage","_numIndices","_needExpandDataStore","createBuffer","deleteBuffer","bytes","glUsage","bufferData","bufferSubData","setUsage","259","TextureCube","./device","./frame-buffer","./index-buffer","./program","./render-buffer","./texture","./vertex-buffer","260","isPow2","261","_parseError","errorLog","parts","_samplers","_errors","_vertSource","_fragSource","vertShader","_createShader","fragShader","createProgram","attachShader","linkProgram","failed","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","deleteShader","getProgramParameter","LINK_STATUS","getProgramInfoLog","numAttributes","ACTIVE_ATTRIBUTES","getActiveAttrib","getAttribLocation","numUniforms","ACTIVE_UNIFORMS","_info","getActiveUniform","_location","getUniformLocation","deleteProgram","shader","createShader","shaderSource","compileShader","262","createRenderbuffer","bindRenderbuffer","renderbufferStorage","deleteRenderbuffer","263","cpy","264","_Texture","_genMipmap","textureMaxSize","pot","_setMipmap","hint","GENERATE_MIPMAP_HINT","NICEST","generateMipmap","_setTexInfo","glFmt","_setSubImage","_setImage","pixelStorei","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","compressedTexSubImage2D","texSubImage2D","compressedTexImage2D","texImage2D","texParameteri","TEXTURE_MIN_FILTER","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","TEXTURE_MAX_ANISOTROPY_EXT","265","TEXTURE_CUBE_MAP","faceIndex","levelImages","266","_nullWebGLTexture","_textureID","267","_bytesPerVertex","_numVertices","getFormat","268","_attr2el","_elements","_el","../murmurhash2_gc","269","CircularPool","_cursor","270","_timsort","FixedArray","cmp","./timsort","271","TypedArrayPool","LinkedArray","_circularPool","_fixedArray","_linkedArray","_typedArrayPool","./circular-pool","./fixed-array","./linked-array","./pool","./recycle-pool","./typed-array-pool","272","_head","_tail","alloc","free","binder","cursor","273","_idx","_frees","_expand","274","275","DEFAULT_MIN_MERGE","DEFAULT_MIN_GALLOPING","DEFAULT_TMP_STORAGE_LENGTH","POWERS_OF_TEN","log10","alphabeticalCompare","aStr","bStr","minRunLength","makeAscendingRun","lo","hi","compare","runHi","reverseRun","binaryInsertionSort","pivot","gallopLeft","lastOffset","maxOffset","gallopRight","TimSort","minGallop","tmpStorageLength","stackLength","runStart","runLength","stackSize","pushRun","mergeRuns","mergeAt","forceMergeRuns","start1","length1","start2","length2","mergeLow","mergeHigh","cursor1","cursor2","count1","count2","exit","customCursor","customDest","remaining","ts","minRun","276","_bufferPools","_nextPow16","_log2","_alloc","buf","alloc_int8","alloc_uint8","alloc_int16","alloc_uint16","alloc_int32","alloc_uint32","alloc_float32","alloc_float64","alloc_dataview","277","278","_baseRenderer","_a16_view","_a16_view_inv","_a16_proj","_a16_viewProj","_a4_camPos","_a64_shadow_lightViewProj","_a16_shadow_lightViewProjs","_a4_shadow_info","_camPos","_camFwd","_v3_tmp1","CC_MAX_LIGHTS","CC_MAX_SHADOW_LIGHTS","sortView","_BaseRenderer","_lights","_shadowLights","_numLights","_shadowStage","_opaqueStage","_transparentStage","_updateLights","extractView","_view2","lights","light","shadowType","_updateLightDefines","lightKey","shadowKey","_shadowType","newCount","CC_NUM_LIGHTS","CC_NUM_SHADOW_LIGHTS","_submitLightsUniforms","positionAndRanges","directions","lightNum","_colorUniform","_directionUniform","_positionUniform","_range","_spotUniform","_submitShadowStageUniforms","shadowInfo","shadowMinDepth","shadowMaxDepth","shadowDepthScale","shadowDarkness","shadowBias","CC_SHADOW_TYPE","_submitOtherStagesUniforms","viewProjMatrix","_shadowResolution","_sortItems","_drawItems","shadowLights","_item","shadowIdx","shadowMap","../core/base-renderer","279","_tmp_mat4","_tmp_v3","_tmp2_v3","_poolID","_projection","_near","_far","_orthoHeight","setCullingMask","getPriority","getOrthoHeight","getFov","getNear","getFar","getDepth","getStencil","getClearFlags","getStages","getFramebuffer","framebuffer","_calcMatrices","screenPointToRay","worldPos","worldMatrixToScreen","worldMatrix","halfWidth","halfHeight","../../core/geom-utils","280","Model","_viewID","_cameraID","_userKey","_castShadow","_boundingShape","setUserKey","281","app","_app","_views","_add","_remove","setDebugCamera","cam","getCameraCount","getCamera","getModelCount","getModel","getLightCount","getLight","addLight","removeLight","addView","removeView","282","ctor2enums","getInspectorProps","getInstanceType","getInstanceCtor","_CCTexture2D","_ctor2default","_enums2ctor","_ctor2enums","_enums2default","gfxTexture2D","gfxTextureCube","ctor2default","enums2ctor","PARAM_COLOR3","className2InspectorName","typeName","valueCtor","assetType","../core/assets/CCTexture2D","../core/value-types","./gfx/texture-2d","283","TiledMapAsset","tmxXmlStr","textureNames","textureSizes","imageLayerTextures","imageLayerTextureNames","tsxFiles","tsxFileNames","284","./cocos2d/actions","./cocos2d/animation","./cocos2d/core","./cocos2d/core/components/CCStudioComponent","./cocos2d/deprecated","./cocos2d/particle","./cocos2d/particle/CCParticleAsset","./cocos2d/tilemap","./cocos2d/tilemap/CCTiledMapAsset","./cocos2d/videoplayer/CCVideoPlayer","./cocos2d/webview/CCWebView","./extensions/ccpool/CCNodePool","./extensions/dragonbones","./extensions/spine","285","EmptyHandle","ATTACHED_ROOT_NAME","ATTACHED_PRE_NAME","limitNode","_tempMat4","AttachUtil","_skeleton","_skeletonNode","_skeletonComp","_attachedRootNode","_attachedNodeArray","_boneIndexToNode","skeletonComp","_prepareAttachNode","armature","isCached","isAnimationCached","_frameCache","enableCacheAttachedInfo","_buildBoneAttachedNode","bone","boneIndex","boneNodeName","boneNode","_buildBoneRelation","_bone","_boneIndex","getAttachedRootNode","getAttachedNodes","boneName","nodeArray","_rebuildNodeArray","findMap","oldNodeArray","_toRemove","_sortNodeArray","_getNodeByBoneIndex","destroyAttachedNodes","markTree","delName","generateAttachedNodes","targetNodes","bones","boneData","buildBoneTree","parentBoneNode","targetNode","destroyAllAttachedNodes","generateAllAttachedNodes","parentIndex","_hasAttachedNode","attachedRootNode","_associateAttachedNode","_syncAttachedNode","rootMatrix","boneInfos","_curFrame","mulMat","matrixHandle","nodeMat","worldX","worldY","nodeArrayDirty","../../cocos2d/core/renderer/render-flow","../../cocos2d/core/value-types/mat4","286","TrackEntryListeners","spine","SkeletonCache","DefaultSkinsEnum","DefaultAnimsEnum","","AnimationCacheMode","REALTIME","SHARED_CACHE","PRIVATE_CACHE","setEnumAttr","Skeleton","skeletonData","SkeletonData","defaultSkin","defaultAnimation","_updateSkeletonData","_animationName","getCurrent","setAnimation","clearTrack","setToSetupPose","_defaultSkinIndex","skinsEnum","getSkinsEnum","skinIndex","skinName","setSkin","_animationIndex","animationName","animsEnum","getAnimsEnum","animIndex","animName","_preCacheMode","_cacheMode","_defaultCacheMode","setAnimationCacheMode","premultipliedAlpha","debugSlots","_updateDebugDraw","debugBones","debugMesh","useTint","_updateUseTint","enableBatch","_updateBatch","_accTime","_playCount","_skeletonCache","_animationQueue","_headAniInfo","_playTimes","_isAniComplete","_effectDelegate","_rootBone","_listener","_materialCache","_debugRenderer","_startSlotIndex","_endSlotIndex","_startEntry","trackIndex","_endEntry","attachUtil","_dataDirty","invalidAnimationCache","baseMaterial","_defineMaterialTint","isTexturesLoaded","setSkeletonData","sharedCache","enablePrivateMode","skeletonInfo","getSkeletonCache","skeleton","_clipper","clipper","getRootBone","SkeletonClipping","setSlotsRange","startSlotIndex","endSlotIndex","setAnimationStateData","stateData","handleDynamicAtlasAndSwitchMaterial","frameCache","isInvalid","updateToFrame","aniInfo","_updateCache","_updateRealtime","_emitCacheCompleteEvent","isInited","frameTime","FrameTime","frameIdx","setVertexEffectDelegate","effectDelegate","updateWorldTransform","setBonesToSetupPose","setSlotsToSetupPose","updateAnimationCache","findBone","findSlot","slotName","setSkinByName","getAttachment","attachmentName","getAttachmentByName","setAttachment","getRegionData","RegionData","setRegionData","regionData","assignToAttachment","getTextureAtlas","regionAttachment","region","setMix","fromAnimation","toAnimation","getAnimationCache","initAnimationCache","findAnimation","setAnimationWith","addAnimationWith","clearTracks","setStartListener","_ensureListener","setInterruptListener","interrupt","setEndListener","setDisposeListener","dispose","setCompleteListener","setEventListener","setTrackStartListener","getListeners","setTrackInterruptListener","setTrackEndListener","setTrackDisposeListener","setTrackCompleteListener","trackEntry","loopCount","trackTime","animationEnd","setTrackEventListener","_resetDefaultAnim","_resetDefaultSkin","_updateAnimEnum","_updateSkinEnum","getRuntimeData","AnimationStateData","_refreshInspector","refreshSelectedInspector","debugDrawNode","debugDraw","../../cocos2d/core/components/CCRenderComponent","../../cocos2d/core/graphics/graphics","./AttachUtil","./lib/spine","./skeleton-cache","./track-entry-listeners","287","_isUseSpine","ATTACHMENT_TYPE","REGION","BOUNDING_BOX","SKINNED_MESH","AnimationEventType","START","INTERRUPT","END","DISPOSE","COMPLETE","EVENT","./Skeleton","./skeleton-data","./skeleton-texture","./spine-assembler","./vertex-effect-delegate","288","__extends","_extendStatics","extendStatics","__","timelines","timelineIds","getPropertyId","hasTimeline","lastTime","linearSearch","MixBlend","MixDirection","TimelineType","CurveTimeline","newFloatArray","BEZIER_SIZE","getFrameCount","setLinear","setStepped","STEPPED","getCurveType","BEZIER","setCurve","cx1","cy1","cx2","cy2","tmpx","tmpy","dddfx","dddfy","ddfx","ddfy","dfx","dfy","getCurvePercent","MathUtils","prevX","prevY","RotateTimeline","setFrame","degrees","r_1","ENTRIES","r_2","PREV_ROTATION","prevRotation","PREV_TIME","TranslateTimeline","X","Y","PREV_X","PREV_Y","ScaleTimeline","mixOut","signum","ShearTimeline","shear","shearX","shearY","ColorTimeline","slotIndex","R","G","B","A","setFromColor","PREV_R","PREV_G","PREV_B","PREV_A","TwoColorTimeline","twoColor","r2","g2","R2","G2","B2","darkColor","dark","setupLight","setupDark","PREV_R2","PREV_G2","PREV_B2","AttachmentTimeline","attachmentNames","attachmentName_1","attachmentName_2","zeros","DeformTimeline","frameVertices","deform","firedEvents","slotAttachment","VertexAttachment","deformAttachment","deformArray","vertexAttachment","deform_1","setArraySize","setupVertices","lastVertices","i_1","i_2","arrayCopy","vertexAttachment_1","i_3","i_4","i_5","i_6","i_7","prevVertices","nextVertices","i_8","i_9","i_10","vertexAttachment_2","i_11","i_12","i_13","i_14","i_15","EventTimeline","DrawOrderTimeline","drawOrders","drawOrder","drawOrderToSetupIndex","IkConstraintTimeline","ikConstraint","ikConstraintIndex","mix","softness","bendDirection","compress","stretch","MIX","SOFTNESS","BEND_DIRECTION","COMPRESS","STRETCH","constraint","ikConstraints","PREV_MIX","PREV_SOFTNESS","PREV_BEND_DIRECTION","PREV_COMPRESS","PREV_STRETCH","mixIn","TransformConstraintTimeline","transformConstraint","transformConstraintIndex","rotateMix","translateMix","scaleMix","shearMix","ROTATE","TRANSLATE","SHEAR","transformConstraints","PREV_ROTATE","PREV_TRANSLATE","PREV_SCALE","PREV_SHEAR","PathConstraintPositionTimeline","pathConstraintPosition","pathConstraintIndex","VALUE","pathConstraints","PREV_VALUE","PathConstraintSpacingTimeline","pathConstraintSpacing","spacing","PathConstraintMixTimeline","pathConstraintMix","tracks","EventQueue","propertyIDs","IntSet","animationsChanged","trackEntryPool","TrackEntry","animationLast","nextAnimationLast","trackLast","nextTrackLast","currentDelta","nextTime","setCurrent","mixingFrom","mixTime","trackEnd","disposeNext","updateMixingFrom","mixingTo","drain","finished","mixDuration","totalAlpha","interruptAlpha","_animationsChanged","applied","mixBlend","applyMixingFrom","animationTime","getAnimationTime","timelineCount","ii","webkit602BugfixHelper","timelineMode","firstFrame","timelinesRotation","timeline","timelineBlend","NOT_LAST","SUBSEQUENT","applyRotateTimeline","queueEvents","eventThreshold","attachments","attachmentThreshold","drawOrderThreshold","alphaHold","alphaMix","timelineHoldMix","FIRST","HOLD","holdMix","rotateTimeline","r1","diff","lastTotal","lastDiff","animationStart","trackLastWrapped","event_1","event_2","oldDrainDisabled","drainDisabled","expandToIndex","getMix","setEmptyAnimation","emptyAnimation","addEmptyAnimation","setEmptyAnimations","ensureArrayCapacity","obtain","holdPrevious","computeHold","computeNotLast","timelinesCount","timelineDipMix","HOLD_MIX","clearListeners","clearListenerNotifications","setAnimationLast","isComplete","resetRotationDirections","animState","objects","event_3","AnimationStateAdapter","animationToMixTime","defaultMix","fromName","toName","setMixWith","textureLoader","pathPrefix","toLoad","responseText","downloadBinary","loadBinary","loadText","loadTexture","loadTextureData","loadTextureAtlas","atlasData","pagesLoaded","atlasPages","TextureAtlas","FakeTexture","_loop_1","atlasPage","pageLoadError","imagePath","errorMessage","atlasPages_1","isLoadingComplete","getToLoad","getLoaded","hasErrors","getErrors","AtlasAttachmentLoader","newRegionAttachment","skin","findRegion","renderObject","RegionAttachment","setRegion","newMeshAttachment","MeshAttachment","newBoundingBoxAttachment","BoundingBoxAttachment","newPathAttachment","PathAttachment","newPointAttachment","PointAttachment","newClippingAttachment","ClippingAttachment","BlendMode","Bone","arotation","ascaleX","ascaleY","ashearX","ashearY","appliedValid","sorted","isActive","updateWorldTransformWith","cosDeg","sinDeg","transformMode","TransformMode","la","lb","lc","ld","OnlyTranslation","NoRotationOrReflection","prx","radDeg","NoScale","NoScaleOrReflection","za","zc","zb","zd","getWorldRotationX","getWorldRotationY","getWorldScaleX","getWorldScaleY","updateAppliedTransform","pid","ic","ra","rb","rc","worldToLocal","invDet","localToWorld","worldToLocalRotation","worldRotation","localToWorldRotation","localRotation","rotateWorld","BoneData","skinRequired","ConstraintData","EventData","IkConstraint","apply1","apply2","rotationIK","dd","bendDir","psx","psy","csx","os1","os2","s2","cwx","cwy","pp","td","ta","r0","minAngle","minDist","maxAngle","maxDist","IkConstraintData","PathConstraint","spaces","positions","segments","percentSpacing","spacingMode","SpacingMode","Percent","rotateMode","tangents","RotateMode","Tangent","ChainScale","boneCount","spacesCount","lengthSpacing","Length","setupLength","length_1","length_2","computeWorldPositions","positionMode","PositionMode","boneX","boneY","offsetRotation","tip","Chain","degRad","length_3","length_4","percentPosition","verticesLength","worldVerticesLength","curveCount","prevCurve","constantSpeed","pathLength_1","BEFORE","computeWorldVertices","addBeforePosition","AFTER","addAfterPosition","length_5","addCurvePosition","pathLength","curveLength","segment","length_6","length_7","tt","ttt","uu","uuu","ut","ut3","uut3","utt3","PathConstraintData","Assets","clientId","SharedAssetManager","clientAssets","queuedAssets","queueAsset","onreadystatechange","DONE","loadJson","updateClientAssets","rawAsset","updateCacheReset","parent_1","slotData","Slot","ikConstraintData","transformConstraintData","TransformConstraint","pathConstraintData","updateCache","skinBones","ikCount","transformCount","pathCount","constraintCount","sortIkConstraint","sortTransformConstraint","sortPathConstraint","sortBone","constraints","constrained","sortReset","slotBone","sortPathConstraintAttachment","skins","sortPathConstraintAttachmentWith","pathBones","findBoneIndex","findSlotIndex","findSkin","newSkin","attachAll","name_1","findIkConstraint","constraintName","findTransformConstraint","findPathConstraint","getBounds","POSITIVE_INFINITY","NEGATIVE_INFINITY","mesh","nn","SkeletonBinary","attachmentLoader","linkedMeshes","readSkeletonData","binary","BinaryInput","readString","readFloat","nonessential","readBoolean","imagesPath","audioPath","readInt","name_2","parent_2","TransformModeValues","rgba8888ToColor","readInt32","SlotData","rgb888ToColor","readStringRef","blendMode","BlendModeValues","readByte","TransformConstraintData","offsetScaleX","offsetScaleY","offsetShearY","PositionModeValues","SpacingModeValues","RotateModeValues","Fixed","readSkin","linkedMesh","parent_3","inheritDeform","setParentMesh","intValue","floatValue","stringValue","volume","balance","animations","readAnimation","slotCount","Skin","name_3","readAttachment","AttachmentTypeValues","AttachmentType","Region","updateOffset","BoundingBox","readVertices","readFloatArray","readShortArray","hullLength","edges","regionUVs","LinkedMesh","parent_4","closed_1","Clipping","endSlot","Vertices","weights","bonesArray","toFloatArray","readShort","tempColor1","tempColor2","timelineType","SLOT_ATTACHMENT","SLOT_COLOR","readCurve","SLOT_TWO_COLOR","BONE_ROTATE","BONE_TRANSLATE","BONE_SCALE","BONE_SHEAR","timelineScale","PATH_POSITION","PATH_SPACING","PATH_MIX","iii","nnn","weighted","deformLength","vn","drawOrderCount","offsetCount","unchanged","unchangedIndex","eventCount","event_4","CURVE_STEPPED","CURVE_BEZIER","Additive","Multiply","Screen","CURVE_LINEAR","getInt16","optimizePositive","byteCount","chars","charCount","fromCharCode","SkeletonBounds","boundingBoxes","polygons","polygonPool","updateAabb","freeAll","boundingBox","polygon","aabbCompute","aabbContainsPoint","aabbIntersectsSegment","aabbIntersectsSkeleton","bounds","containsPoint","containsPointPolygon","prevIndex","vertexY","vertexX","intersectsSegment","intersectsSegmentPolygon","width12","height12","det1","det2","width34","height34","det3","getPolygon","getWidth","getHeight","triangulator","Triangulator","clippingPolygon","clipOutput","clippedVertices","clippedTriangles","scratch","clipStart","clipAttachment","makeClockwise","clippingPolygons","decompose","triangulate","n_1","clipEndWithSlot","clipEnd","isClipping","clipTriangles","trianglesLength","originIndexOffset","originVertOffset","originUVSOffset","polygonsCount","vertexSize","xyOffset","u2","u3","clippedVerticesItems","clippedTrianglesItems","clipOutputLength","d0","d4","clipOutputCount","clipOutputItems","c0","clippingArea","originalOutput","clipped","clippingVertices","clippingVerticesLast","edgeX","edgeY","edgeX2","edgeY2","deltaX","inputVertices","inputVerticesLength","outputStart","inputX","inputY","inputX2","inputY2","side2","verticeslength","p2x","lastX","findEvent","eventDataName","event_5","findPathConstraintIndex","pathConstraintName","SkeletonJson","skeletonMap","boneMap","parent_5","parentName","getValue","transformModeFromString","slotMap","setFromString","blendModeFromString","ik","constraintMap","targetName","positionModeFromString","spacingModeFromString","rotateModeFromString","skinArr","skinMap","entryName","parent_6","animationMap","parent_7","scaledVertices","timelineName","timelineMap","valueMap","mapPath","deformName","deformMap","verticesValue","drawOrderNode","draworder","drawOrderMap","offsetMap","event_6","toSinglePrecision","SkinEntry","addSkin","contained","getAttachments","copySkin","newLinkedMesh","dictionary","removeAttachment","slotAttachments","name_4","getAttachmentsForSlot","name_5","oldSkin","skinAttachment","getSkeleton","attachmentTime","setAttachmentTime","getAttachmentTime","getImage","filterFromString","TextureFilter","Nearest","MipMap","MipMapNearestNearest","MipMapLinearNearest","MipMapNearestLinear","MipMapLinearLinear","wrapFromString","TextureWrap","MirroredRepeat","ClampToEdge","TextureRegion","setWraps","uWrap","vWrap","atlasText","pages","regions","reader","TextureAtlasReader","tuple","page","readLine","TextureAtlasRegion","rotateValue","readValue","readTuple","TextureAtlasPage","colon","lastMatch","Vector2","applyRelativeLocal","applyAbsoluteLocal","applyRelativeWorld","applyAbsoluteWorld","tc","degRadReflect","modified","convexPolygons","convexPolygonsIndices","indicesArray","isConcaveArray","polygonIndicesPool","verticesArray","isConcave","previous","p3x","p3y","vx","vy","positiveArea","previousIndex","nextIndex","polygonIndices","fanBaseIndex","lastWinding","merged","winding1","winding","winding2","firstIndex","prevPrevX","prevPrevY","firstX","firstY","secondX","secondY","otherIndices","otherFirstIndex","otherSecondIndex","otherLastIndex","otherPoly","toInt","cbrt","randomTriangular","randomTriangularWith","Interpolation","applyInternal","Pow","power","PowOut","sourceStart","destStart","numElements","oldSize","SUPPORTS_TYPED_ARRAYS","newShortArray","fround","DebugUtils","logBones","instantiator","TimeKeeper","maxDelta","framesPerSecond","WindowedMean","windowSize","addedValues","lastValue","mean","hasEnoughData","addValue","getMean","Attachment","nextID","worldVertices","v_1","skeletonBones","weight","copyTo","tempColor","textureWidth","textureHeight","getParentMesh","parentMesh","computeWorldPosition","computeWorldRotation","regionScaleX","regionScaleY","localX2","localY2","localXCos","localXSin","localYCos","localYSin","localX2Cos","localX2Sin","localY2Cos","localY2Sin","OX1","OY1","OX2","OY2","OX3","OY3","OX4","OY4","rendererObject","X1","Y1","C1R","C1G","C1B","C1A","U1","V1","X2","Y2","C2R","C2G","C2B","C2A","U2","V2","X3","Y3","C3R","C3G","C3B","C3A","U3","V3","X4","Y4","C4R","C4G","C4B","C4A","U4","V4","JitterEffect","jitterX","jitterY","SwirlEffect","interpolation","centerX","centerY","radAngle","dist","289","MaxCacheTime","_indices","_boneInfoOffset","_vertexOffset","_indexOffset","_vfOffset","_preTexUrl","_preBlendMode","_segVCount","_segICount","_segOffset","_colorOffset","_preFinalColor","_preDarkColor","_perVertexSize","_perClipVertexSize","_vfCount","_indexCount","_tempr","_tempg","_tempb","_tempa","_finalColor32","_darkColor32","_finalColor","_darkColor","_quadTriangles","AnimationCache","_privateMode","_invalid","_enableCacheAttachedInfo","_frameIdx","_skeletonInfo","_tempSegments","_tempColors","_tempBoneInfos","invalidAllFrame","completeHandle","unbind","preAnimationCache","curAnimationCache","_needToUpdate","toFrameIdx","_updateFrame","updateAllFrame","verticesMulti","uintVert","_traverseSkeleton","vfOffset","preSegOffset","preSegInfo","indexCount","vfCount","fillVertices","skeletonColor","attachmentColor","slotColor","fr","fg","fa","dr","dg","jj","isRegion","isMesh","isClip","boneInfo","slotIdx","_ii","_nn","_animationPool","removeSkeleton","animationsCache","aniKey","animationCache","poolKey","_animationCache","290","updateUV","attachmentOrSpriteFrame","texture2D","initWithSpriteFrame","initWithAttachment","origSize","updateWithTexture2D","updateWithPackedFrame","texture2d","spTex","SkeletonTexture","setRealTexture","toSpriteFrame","strict","resetDynamicAtlas","middlewareTextureID","_skeletonJson","skeletonJsonStr","skeletonJson","_atlasText","cloneId","_atlasCache","ensureTexturesLoaded","caller","texsLen","loadedCount","loadedItem","quiet","_getAtlas","resData","_getTexture","realUuid","_destroyFromDynamicAtlas","291","getRealTexture","292","VFOneColor","VFOneColorTexId","VFTwoColor","VFTwoColorTexId","FLAG_BATCH","FLAG_TWO_COLOR","_handleVal","_slotColor","_boneColor","_originColor","_meshColor","_tempPos","_tempUv","_premultipliedAlpha","_multiplier","_slotRangeStart","_slotRangeEnd","_useTint","_useMulti","_debugSlots","_debugBones","_debugMesh","_nodeR","_nodeG","_nodeB","_nodeA","_vertexFloatCount","_vertexCount","_vertexFloatOffset","_inRange","_mustFlush","_m00","_m04","_m12","_m01","_m05","_m13","_g","_fr","_fg","_fb","_fa","_dr","_dg","_db","_da","_renderer","_needColor","_vertexEffect","_packedRegions","_tmpRegionData","_getSlotMaterial","useModel","materialCache","materialInfo","_handleColor","_spineColorToInt32","spineColor","SpineAssembler","packDynamicAtlasForSpine","updatePackedAttachment","alreadyInAtlas","_packedFrame","_v2","_n2","_v3","_n3","realTimeTraverse","locSkeleton","worldMatm","_ii2","_nn2","_ii3","_nn3","_n4","cacheVerticesConvertToMulti","cacheTraverse","uintbuf","useMultiTint","frameVFOffset","frameIndexOffset","segVFCount","needBatch","calcTranslate","nowColor","maxVFOffset","segInfo","_ii4","_il","_ii5","_il2","frameColorOffset","_ii6","_il3","_ii7","_il4","_frameColorOffset","_ii8","_il5","_ii9","_il6","_frameColorOffset2","_ii10","_il7","nodeColor","../../cocos2d/core/renderer/assembler","../../cocos2d/core/renderer/webgl/vertex-format","293","294","VertexEffectDelegate","_interpolation","_effectType","initJitter","initSwirlWithPow","initSwirlWithPowOut","getJitterVertexEffect","getSwirlVertexEffect","getVertexEffect","getEffectType","295","./cocos2d","./cocos2d/core/predefine","./extends","./package","./polyfill/array","./polyfill/array-buffer","./polyfill/misc","./polyfill/number","./polyfill/object","./polyfill/string","./polyfill/typescript","./predefine","296","TypedArray","297","298","LOG2E","Timer","_timerTable","299","300","ownKeys","getOwnPropertySymbols","301","searchString","302","__assign","__rest","propertyIsEnumerable","__decorate","decorators","Reflect","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","adopt","fulfilled","rejected","__generator","_","sent","trys","ops","verb","throw","return","__exportStar","__createBinding","k2","__values","__read","__spread","__spreadArrays","jl","__await","__asyncGenerator","asyncIterator","settle","fulfill","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","__setModuleDefault","__importStar","mod","__importDefault","__classPrivateFieldGet","receiver","privateMap","__classPrivateFieldSet","303","defineMacro","defineDeprecatedMacroGetter","recommandedUsage","defined","WECHATGAMESUB","getSharedCanvas","WECHATGAME","getSystemInfoSync","QQPLAY","engineVersion"],"mappings":"CAWA,SAAAA,MAAAC,SAAAC,OAAAC;EACA,SAAAC,WAAAC,MAAAC;IACA,IAAAC,SAAAL,MAAAG;IACA,KAAAE,QAAA;MACA,IAAAC,aAAAP,QAAAI;MACA,KAAAG,YAEA;MAEA,IAAAC,UAAA;MACAF,SAAAL,MAAAG,QAAA;QAAAI,SAAAA;;MACAD,WAAA,GAAA,SAAAE;QACA,OAAAN,WAAAI,WAAA,GAAAE,MAAAA;SACAH,QAAAE;;IAEA,OAAAF,OAAAE;;EAEA,KAAA,IAAAE,IAAA,GAAAA,IAAAR,MAAAS,QAAAD,KAAAP,WAAAD,MAAAQ;EAGA,OAAAP;EApBA,CAsBA;EAAAS,GAAA,EAAA,SAAAC,SAAAP,QAAAE;ICjCAF,OAAAE,UAAA;MACAM,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,KAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,KAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,KAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,KAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,MAAA;MACAC,KAAA;MACAC,MAAA;MACA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","file":"cocos2d-js.be84c.js","sourcesContent":["\n// Based on https://github.com/substack/browser-pack/blob/master/prelude.js\n\n// modules are defined as an array\n// [ module function, map of requireuires ]\n//\n// map of requireuires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the requireuire for previous bundles\n\n(function outer (modules, cache, entry) {\n function newRequire(name, jumped){\n var module = cache[name];\n if(!module) {\n var moduleData = modules[name];\n if(!moduleData) {\n // this module is excluded from engine\n return undefined;\n }\n var exports = {};\n module = cache[name] = {exports: exports};\n moduleData[0](function(x){\n return newRequire(moduleData[1][x] || x);\n },module,exports);\n }\n return module.exports;\n }\n for(var i=0;i\n step:function (dt) {\n cc.logID(1006);\n },\n\n // Called once per frame. Time is the number of seconds of a frame interval.\n update:function (dt) {\n cc.logID(1007);\n },\n\n /**\n * !#en get the target.\n * !#zh 获取当前目标节点。\n * @method getTarget\n * @return {Node}\n */\n getTarget:function () {\n return this.target;\n },\n\n /**\n * !#en The action will modify the target properties.\n * !#zh 设置目标节点。\n * @method setTarget\n * @param {Node} target\n */\n setTarget:function (target) {\n this.target = target;\n },\n\n /**\n * !#en get the original target.\n * !#zh 获取原始目标节点。\n * @method getOriginalTarget\n * @return {Node}\n */\n getOriginalTarget:function () {\n return this.originalTarget;\n },\n\n // Set the original target, since target can be nil.\n // Is the target that were used to run the action.\n // Unless you are doing something complex, like cc.ActionManager, you should NOT call this method.\n setOriginalTarget:function (originalTarget) {\n this.originalTarget = originalTarget;\n },\n\n /**\n * !#en get tag number.\n * !#zh 获取用于识别动作的标签。\n * @method getTag\n * @return {Number}\n */\n getTag:function () {\n return this.tag;\n },\n\n /**\n * !#en set tag number.\n * !#zh 设置标签,用于识别动作。\n * @method setTag\n * @param {Number} tag\n */\n setTag:function (tag) {\n this.tag = tag;\n },\n\n // Currently JavaScript Bindigns (JSB), in some cases, needs to use retain and release. This is a bug in JSB,\n // and the ugly workaround is to use retain/release. So, these 2 methods were added to be compatible with JSB.\n // This is a hack, and should be removed once JSB fixes the retain/release bug.\n retain:function () {\n },\n\n // Currently JavaScript Bindigns (JSB), in some cases, needs to use retain and release. This is a bug in JSB,\n // and the ugly workaround is to use retain/release. So, these 2 methods were added to be compatible with JSB.\n // This is a hack, and should be removed once JSB fixes the retain/release bug.\n release:function () {\n }\n});\n\n/**\n * !#en Default Action tag.\n * !#zh 默认动作标签。\n * @property TAG_INVALID\n * @constant\n * @static\n * @type {Number}\n * @default -1\n */\ncc.Action.TAG_INVALID = -1;\n\n\n/**\n * !#en\n * Base class actions that do have a finite time duration.
\n * Possible actions:
\n * - An action with a duration of 0 seconds.
\n * - An action with a duration of 35.5 seconds.\n *\n * Infinite time actions are valid\n * !#zh 有限时间动作,这种动作拥有时长 duration 属性。\n * @class FiniteTimeAction\n * @extends Action\n */\ncc.FiniteTimeAction = cc.Class({\n name: 'cc.FiniteTimeAction',\n extends: cc.Action,\n\n ctor:function () {\n //! duration in seconds\n this._duration = 0;\n },\n\n /**\n * !#en get duration of the action. (seconds).\n * !#zh 获取动作以秒为单位的持续时间。\n * @method getDuration\n * @return {Number}\n */\n getDuration:function () {\n return this._duration * (this._timesForRepeat || 1);\n },\n\n /**\n * !#en set duration of the action. (seconds).\n * !#zh 设置动作以秒为单位的持续时间。\n * @method setDuration\n * @param {Number} duration\n */\n setDuration:function (duration) {\n this._duration = duration;\n },\n\n /**\n * !#en\n * Returns a reversed action.
\n * For example:
\n * - The action will be x coordinates of 0 move to 100.
\n * - The reversed action will be x of 100 move to 0.\n * - Will be rewritten\n * !#zh 返回一个新的动作,执行与原动作完全相反的动作。\n * @method reverse\n * @return {Null}\n */\n reverse:function () {\n cc.logID(1008);\n return null;\n },\n\n /**\n * !#en\n * to copy object with deep copy.\n * returns a clone of action.\n * !#zh 返回一个克隆的动作。\n * @method clone\n * @return {FiniteTimeAction}\n */\n clone:function () {\n return new cc.FiniteTimeAction();\n }\n});\n\n/**\n * @module cc\n */\n\n/*\n * Changes the speed of an action, making it take longer (speed > 1)\n * or less (speed < 1) time.
\n * Useful to simulate 'slow motion' or 'fast forward' effect.\n *\n * @warning This action can't be Sequenceable because it is not an cc.IntervalAction\n * @class Speed\n * @extends Action\n *\n * @param {ActionInterval} action\n * @param {Number} speed\n */\ncc.Speed = cc.Class({\n name: 'cc.Speed',\n extends: cc.Action,\n\n ctor:function (action, speed) {\n this._speed = 0;\n this._innerAction = null;\n\n\t\taction && this.initWithAction(action, speed);\n },\n\n /*\n * Gets the current running speed.
\n * Will get a percentage number, compared to the original speed.\n *\n * @method getSpeed\n * @return {Number}\n */\n getSpeed:function () {\n return this._speed;\n },\n\n /*\n * alter the speed of the inner function in runtime.\n * @method setSpeed\n * @param {Number} speed\n */\n setSpeed:function (speed) {\n this._speed = speed;\n },\n\n /*\n * initializes the action.\n * @method initWithAction\n * @param {ActionInterval} action\n * @param {Number} speed\n * @return {Boolean}\n */\n initWithAction:function (action, speed) {\n if (!action) {\n cc.errorID(1021);\n return false;\n }\n\n this._innerAction = action;\n this._speed = speed;\n return true;\n },\n\n clone:function () {\n var action = new cc.Speed();\n action.initWithAction(this._innerAction.clone(), this._speed);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.Action.prototype.startWithTarget.call(this, target);\n this._innerAction.startWithTarget(target);\n },\n\n stop:function () {\n this._innerAction.stop();\n cc.Action.prototype.stop.call(this);\n },\n\n step:function (dt) {\n this._innerAction.step(dt * this._speed);\n },\n\n isDone:function () {\n return this._innerAction.isDone();\n },\n\n reverse:function () {\n return new cc.Speed(this._innerAction.reverse(), this._speed);\n },\n\n /*\n * Set inner Action.\n * @method setInnerAction\n * @param {ActionInterval} action\n */\n setInnerAction:function (action) {\n if (this._innerAction !== action) {\n this._innerAction = action;\n }\n },\n\n /*\n * Get inner Action.\n * @method getInnerAction\n * @return {ActionInterval}\n */\n getInnerAction:function () {\n return this._innerAction;\n }\n});\n\n/**\n * @module cc\n */\n\n/**\n * !#en\n * Creates the speed action which changes the speed of an action, making it take longer (speed > 1)\n * or less (speed < 1) time.
\n * Useful to simulate 'slow motion' or 'fast forward' effect.\n * !#zh 修改目标动作的速率。\n * @warning This action can't be Sequenceable because it is not an cc.IntervalAction\n *\n * @method speed\n * @param {ActionInterval} action\n * @param {Number} speed\n * @return {Action}\n * @example\n * // change the target action speed;\n * var action = cc.scaleTo(0.2, 1, 0.6);\n * var newAction = cc.speed(action, 0.5);\n */\ncc.speed = function (action, speed) {\n return new cc.Speed(action, speed);\n};\n\n/*\n * cc.Follow is a follow action which makes its target follows another node.\n *\n * @example\n * //example\n * //Instead of using cc.Camera as a \"follower\", use this action instead.\n * layer.runAction(cc.follow(hero));\n *\n * @property {Number} leftBoundary - world leftBoundary.\n * @property {Number} rightBoundary - world rightBoundary.\n * @property {Number} topBoundary - world topBoundary.\n * @property {Number} bottomBoundary - world bottomBoundary.\n *\n * @param {cc.Node} followedNode\n * @param {Rect} rect\n * @example\n * // creates the action with a set boundary\n * var followAction = new cc.Follow(node, cc.rect(0, 0, s.width * 2 - 100, s.height));\n * this.runAction(followAction);\n *\n * // creates the action with no boundary set\n * var followAction = new cc.Follow(node);\n * this.runAction(followAction);\n *\n * @class\n * @extends Action\n */\ncc.Follow = cc.Class({\n name: 'cc.Follow',\n extends: cc.Action,\n\n\t/*\n * Constructor function, override it to extend the construction behavior, remember to call \"this._super()\" in the extended \"ctor\" function.
\n\t * creates the action with a set boundary.
\n\t * creates the action with no boundary set.\n * @param {cc.Node} followedNode\n * @param {Rect} rect\n\t */\n ctor:function (followedNode, rect) {\n // node to follow\n this._followedNode = null;\n // whether camera should be limited to certain area\n this._boundarySet = false;\n // if screen size is bigger than the boundary - update not needed\n this._boundaryFullyCovered = false;\n // fast access to the screen dimensions\n this._halfScreenSize = null;\n this._fullScreenSize = null;\n\n this.leftBoundary = 0.0;\n this.rightBoundary = 0.0;\n this.topBoundary = 0.0;\n this.bottomBoundary = 0.0;\n this._worldRect = cc.rect(0, 0, 0, 0);\n\n\t\tif(followedNode)\n\t\t\trect ? this.initWithTarget(followedNode, rect)\n\t\t\t\t : this.initWithTarget(followedNode);\n },\n\n clone:function () {\n var action = new cc.Follow();\n var locRect = this._worldRect;\n var rect = new cc.Rect(locRect.x, locRect.y, locRect.width, locRect.height);\n action.initWithTarget(this._followedNode, rect);\n return action;\n },\n\n /*\n * Get whether camera should be limited to certain area.\n *\n * @return {Boolean}\n */\n isBoundarySet:function () {\n return this._boundarySet;\n },\n\n /*\n * alter behavior - turn on/off boundary.\n *\n * @param {Boolean} value\n */\n setBoundarySet:function (value) {\n this._boundarySet = value;\n },\n\n /*\n * alter behavior - turn on/off boundary.\n *\n * @param {Boolean} value\n * @deprecated since v2.4.6 , cc.Follow.setBoudarySet is deprecated, please use cc.Follow.setBoundarySet.\n */\n setBoudarySet:function (value) {\n this.setBoundarySet(value);\n },\n\n /*\n * initializes the action with a set boundary.\n *\n * @param {cc.Node} followedNode\n * @param {Rect} [rect=]\n * @return {Boolean}\n */\n initWithTarget:function (followedNode, rect) {\n if (!followedNode) {\n cc.errorID(1022);\n return false;\n }\n\n var _this = this;\n rect = rect || cc.rect(0, 0, 0, 0);\n _this._followedNode = followedNode;\n _this._worldRect = rect;\n\n _this._boundarySet = !(rect.width === 0 && rect.height === 0);\n\n _this._boundaryFullyCovered = false;\n\n var winSize = cc.winSize;\n _this._fullScreenSize = cc.v2(winSize.width, winSize.height);\n _this._halfScreenSize = _this._fullScreenSize.mul(0.5);\n\n if (_this._boundarySet) {\n _this.leftBoundary = -((rect.x + rect.width) - _this._fullScreenSize.x);\n _this.rightBoundary = -rect.x;\n _this.topBoundary = -rect.y;\n _this.bottomBoundary = -((rect.y + rect.height) - _this._fullScreenSize.y);\n\n if (_this.rightBoundary < _this.leftBoundary) {\n // screen width is larger than world's boundary width\n //set both in the middle of the world\n _this.rightBoundary = _this.leftBoundary = (_this.leftBoundary + _this.rightBoundary) / 2;\n }\n if (_this.topBoundary < _this.bottomBoundary) {\n // screen width is larger than world's boundary width\n //set both in the middle of the world\n _this.topBoundary = _this.bottomBoundary = (_this.topBoundary + _this.bottomBoundary) / 2;\n }\n\n if ((_this.topBoundary === _this.bottomBoundary) && (_this.leftBoundary === _this.rightBoundary))\n _this._boundaryFullyCovered = true;\n }\n return true;\n },\n\n step:function (dt) {\n var targetWorldPos = this.target.convertToWorldSpaceAR(cc.Vec2.ZERO);\n var followedWorldPos = this._followedNode.convertToWorldSpaceAR(cc.Vec2.ZERO);\n // compute the offset between followed and target node\n var delta = targetWorldPos.sub(followedWorldPos);\n var tempPos = this.target.parent.convertToNodeSpaceAR(delta.add(this._halfScreenSize));\n\n if (this._boundarySet) {\n // whole map fits inside a single screen, no need to modify the position - unless map boundaries are increased\n if (this._boundaryFullyCovered)\n return;\n\n\t this.target.setPosition(misc.clampf(tempPos.x, this.leftBoundary, this.rightBoundary), misc.clampf(tempPos.y, this.bottomBoundary, this.topBoundary));\n } else {\n this.target.setPosition(tempPos.x, tempPos.y);\n }\n },\n\n isDone:function () {\n return ( !this._followedNode.activeInHierarchy );\n },\n\n stop:function () {\n this.target = null;\n cc.Action.prototype.stop.call(this);\n }\n});\n\n/**\n * !#en Create a follow action which makes its target follows another node.\n * !#zh 追踪目标节点的位置。\n * @method follow\n * @param {Node} followedNode\n * @param {Rect} rect\n * @return {Action|Null} returns the cc.Follow object on success\n * @example\n * // example\n * // creates the action with a set boundary\n * var followAction = cc.follow(targetNode, cc.rect(0, 0, screenWidth * 2 - 100, screenHeight));\n * node.runAction(followAction);\n *\n * // creates the action with no boundary set\n * var followAction = cc.follow(targetNode);\n * node.runAction(followAction);\n */\ncc.follow = function (followedNode, rect) {\n return new cc.Follow(followedNode, rect);\n};\n","/****************************************************************************\n Copyright (c) 2008 Radu Gruian\n Copyright (c) 2008-2010 Ricardo Quesada\n Copyright (c) 2011 Vit Valentin\n Copyright (c) 2011-2012 cocos2d-x.org\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n http://www.cocos2d-x.org\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n\n Orignal code by Radu Gruian: http://www.codeproject.com/Articles/30838/Overhauser-Catmull-Rom-Splines-for-Camera-Animatio.So\n\n Adapted to cocos2d-x by Vit Valentin\n\n Adapted from cocos2d-x to cocos2d-iphone by Ricardo Quesada\n ****************************************************************************/\n\n/**\n * @module cc\n */\n\n/*\n * Returns the Cardinal Spline position for a given set of control points, tension and time.
\n * CatmullRom Spline formula.
\n * s(-ttt + 2tt - t)P1 + s(-ttt + tt)P2 + (2ttt - 3tt + 1)P2 + s(ttt - 2tt + t)P3 + (-2ttt + 3tt)P3 + s(ttt - tt)P4\n *\n * @method cardinalSplineAt\n * @param {Vec2} p0\n * @param {Vec2} p1\n * @param {Vec2} p2\n * @param {Vec2} p3\n * @param {Number} tension\n * @param {Number} t\n * @return {Vec2}\n */\nfunction cardinalSplineAt (p0, p1, p2, p3, tension, t) {\n var t2 = t * t;\n var t3 = t2 * t;\n\n /*\n * Formula: s(-ttt + 2tt - t)P1 + s(-ttt + tt)P2 + (2ttt - 3tt + 1)P2 + s(ttt - 2tt + t)P3 + (-2ttt + 3tt)P3 + s(ttt - tt)P4\n */\n var s = (1 - tension) / 2;\n\n var b1 = s * ((-t3 + (2 * t2)) - t); // s(-t3 + 2 t2 - t)P1\n var b2 = s * (-t3 + t2) + (2 * t3 - 3 * t2 + 1); // s(-t3 + t2)P2 + (2 t3 - 3 t2 + 1)P2\n var b3 = s * (t3 - 2 * t2 + t) + (-2 * t3 + 3 * t2); // s(t3 - 2 t2 + t)P3 + (-2 t3 + 3 t2)P3\n var b4 = s * (t3 - t2); // s(t3 - t2)P4\n\n var x = (p0.x * b1 + p1.x * b2 + p2.x * b3 + p3.x * b4);\n var y = (p0.y * b1 + p1.y * b2 + p2.y * b3 + p3.y * b4);\n return cc.v2(x, y);\n};\n\n/*\n * returns a point from the array\n * @method getControlPointAt\n * @param {Array} controlPoints\n * @param {Number} pos\n * @return {Array}\n */\nfunction getControlPointAt (controlPoints, pos) {\n var p = Math.min(controlPoints.length - 1, Math.max(pos, 0));\n return controlPoints[p];\n};\n\nfunction reverseControlPoints (controlPoints) {\n var newArray = [];\n for (var i = controlPoints.length - 1; i >= 0; i--) {\n newArray.push(cc.v2(controlPoints[i].x, controlPoints[i].y));\n }\n return newArray;\n}\n\nfunction cloneControlPoints (controlPoints) {\n var newArray = [];\n for (var i = 0; i < controlPoints.length; i++)\n newArray.push(cc.v2(controlPoints[i].x, controlPoints[i].y));\n return newArray;\n}\n\n\n/*\n * Cardinal Spline path. http://en.wikipedia.org/wiki/Cubic_Hermite_spline#Cardinal_spline\n * Absolute coordinates.\n *\n * @class CardinalSplineTo\n * @extends ActionInterval\n *\n * @param {Number} duration\n * @param {Array} points array of control points\n * @param {Number} tension\n *\n * @example\n * //create a cc.CardinalSplineTo\n * var action1 = cc.cardinalSplineTo(3, array, 0);\n */\ncc.CardinalSplineTo = cc.Class({\n name: 'cc.CardinalSplineTo',\n extends: cc.ActionInterval,\n\n ctor: function (duration, points, tension) {\n /* Array of control points */\n this._points = [];\n this._deltaT = 0;\n this._tension = 0;\n this._previousPosition = null;\n this._accumulatedDiff = null;\n tension !== undefined && cc.CardinalSplineTo.prototype.initWithDuration.call(this, duration, points, tension);\n },\n\n initWithDuration:function (duration, points, tension) {\n if (!points || points.length === 0) {\n cc.errorID(1024);\n return false;\n }\n\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n this.setPoints(points);\n this._tension = tension;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.CardinalSplineTo();\n action.initWithDuration(this._duration, cloneControlPoints(this._points), this._tension);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n // Issue #1441 from cocos2d-iphone\n this._deltaT = 1 / (this._points.length - 1);\n this._previousPosition = cc.v2(this.target.x, this.target.y);\n this._accumulatedDiff = cc.v2(0, 0);\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n var p, lt;\n var ps = this._points;\n // eg.\n // p..p..p..p..p..p..p\n // 1..2..3..4..5..6..7\n // want p to be 1, 2, 3, 4, 5, 6\n if (dt === 1) {\n p = ps.length - 1;\n lt = 1;\n } else {\n var locDT = this._deltaT;\n p = 0 | (dt / locDT);\n lt = (dt - locDT * p) / locDT;\n }\n\n var newPos = cardinalSplineAt(\n getControlPointAt(ps, p - 1),\n getControlPointAt(ps, p - 0),\n getControlPointAt(ps, p + 1),\n getControlPointAt(ps, p + 2),\n this._tension, lt);\n\n if (cc.macro.ENABLE_STACKABLE_ACTIONS) {\n var tempX, tempY;\n tempX = this.target.x - this._previousPosition.x;\n tempY = this.target.y - this._previousPosition.y;\n if (tempX !== 0 || tempY !== 0) {\n var locAccDiff = this._accumulatedDiff;\n tempX = locAccDiff.x + tempX;\n tempY = locAccDiff.y + tempY;\n locAccDiff.x = tempX;\n locAccDiff.y = tempY;\n newPos.x += tempX;\n newPos.y += tempY;\n }\n }\n this.updatePosition(newPos);\n },\n\n reverse:function () {\n var reversePoints = reverseControlPoints(this._points);\n return cc.cardinalSplineTo(this._duration, reversePoints, this._tension);\n },\n\n /*\n * update position of target\n * @method updatePosition\n * @param {Vec2} newPos\n */\n updatePosition:function (newPos) {\n this.target.setPosition(newPos);\n this._previousPosition = newPos;\n },\n\n /*\n * Points getter\n * @method getPoints\n * @return {Array}\n */\n getPoints:function () {\n return this._points;\n },\n\n /**\n * Points setter\n * @method setPoints\n * @param {Array} points\n */\n setPoints:function (points) {\n this._points = points;\n }\n});\n\n/**\n * !#en Creates an action with a Cardinal Spline array of points and tension.\n * !#zh 按基数样条曲线轨迹移动到目标位置。\n * @method cardinalSplineTo\n * @param {Number} duration\n * @param {Array} points array of control points\n * @param {Number} tension\n * @return {ActionInterval}\n *\n * @example\n * //create a cc.CardinalSplineTo\n * var action1 = cc.cardinalSplineTo(3, array, 0);\n */\ncc.cardinalSplineTo = function (duration, points, tension) {\n return new cc.CardinalSplineTo(duration, points, tension);\n};\n\n/*\n * Cardinal Spline path. http://en.wikipedia.org/wiki/Cubic_Hermite_spline#Cardinal_spline\n * Relative coordinates.\n *\n * @class CardinalSplineBy\n * @extends CardinalSplineTo\n *\n * @param {Number} duration\n * @param {Array} points\n * @param {Number} tension\n *\n * @example\n * //create a cc.CardinalSplineBy\n * var action1 = cc.cardinalSplineBy(3, array, 0);\n */\ncc.CardinalSplineBy = cc.Class({\n name: 'cc.CardinalSplineBy',\n extends: cc.CardinalSplineTo,\n\n ctor:function (duration, points, tension) {\n this._startPosition = cc.v2(0, 0);\n tension !== undefined && this.initWithDuration(duration, points, tension);\n },\n\n startWithTarget:function (target) {\n cc.CardinalSplineTo.prototype.startWithTarget.call(this, target);\n this._startPosition.x = target.x;\n this._startPosition.y = target.y;\n },\n\n reverse:function () {\n var copyConfig = this._points.slice();\n var current;\n //\n // convert \"absolutes\" to \"diffs\"\n //\n var p = copyConfig[0];\n for (var i = 1; i < copyConfig.length; ++i) {\n current = copyConfig[i];\n copyConfig[i] = current.sub(p);\n p = current;\n }\n\n // convert to \"diffs\" to \"reverse absolute\"\n var reverseArray = reverseControlPoints(copyConfig);\n\n // 1st element (which should be 0,0) should be here too\n p = reverseArray[ reverseArray.length - 1 ];\n reverseArray.pop();\n\n p.x = -p.x;\n p.y = -p.y;\n\n reverseArray.unshift(p);\n for (var i = 1; i < reverseArray.length; ++i) {\n current = reverseArray[i];\n current.x = -current.x;\n current.y = -current.y;\n current.x += p.x;\n current.y += p.y;\n reverseArray[i] = current;\n p = current;\n }\n return cc.cardinalSplineBy(this._duration, reverseArray, this._tension);\n },\n\n /**\n * update position of target\n * @method updatePosition\n * @param {Vec2} newPos\n */\n updatePosition:function (newPos) {\n var pos = this._startPosition;\n var posX = newPos.x + pos.x;\n var posY = newPos.y + pos.y;\n this._previousPosition.x = posX;\n this._previousPosition.y = posY;\n this.target.setPosition(posX, posY);\n },\n\n clone:function () {\n var a = new cc.CardinalSplineBy();\n a.initWithDuration(this._duration, cloneControlPoints(this._points), this._tension);\n return a;\n }\n});\n\n/**\n * !#en Creates an action with a Cardinal Spline array of points and tension.\n * !#zh 按基数样条曲线轨迹移动指定的距离。\n * @method cardinalSplineBy\n * @param {Number} duration\n * @param {Array} points\n * @param {Number} tension\n *\n * @return {ActionInterval}\n */\ncc.cardinalSplineBy = function (duration, points, tension) {\n return new cc.CardinalSplineBy(duration, points, tension);\n};\n\n/*\n * An action that moves the target with a CatmullRom curve to a destination point.
\n * A Catmull Rom is a Cardinal Spline with a tension of 0.5.
\n * http://en.wikipedia.org/wiki/Cubic_Hermite_spline#Catmull.E2.80.93Rom_spline\n * Absolute coordinates.\n *\n * @class CatmullRomTo\n * @extends CardinalSplineTo\n *\n * @param {Number} dt\n * @param {Array} points\n *\n * @example\n * var action1 = cc.catmullRomTo(3, array);\n */\ncc.CatmullRomTo = cc.Class({\n name: 'cc.CatmullRomTo',\n extends: cc.CardinalSplineTo,\n\n ctor: function(dt, points) {\n points && this.initWithDuration(dt, points);\n },\n\n initWithDuration:function (dt, points) {\n return cc.CardinalSplineTo.prototype.initWithDuration.call(this, dt, points, 0.5);\n },\n\n clone:function () {\n var action = new cc.CatmullRomTo();\n action.initWithDuration(this._duration, cloneControlPoints(this._points));\n return action;\n }\n});\n\n/**\n * !#en Creates an action with a Cardinal Spline array of points and tension.\n * !#zh 按 Catmull Rom 样条曲线轨迹移动到目标位置。\n * @method catmullRomTo\n * @param {Number} dt\n * @param {Array} points\n * @return {ActionInterval}\n *\n * @example\n * var action1 = cc.catmullRomTo(3, array);\n */\ncc.catmullRomTo = function (dt, points) {\n return new cc.CatmullRomTo(dt, points);\n};\n\n/*\n * An action that moves the target with a CatmullRom curve by a certain distance.
\n * A Catmull Rom is a Cardinal Spline with a tension of 0.5.
\n * http://en.wikipedia.org/wiki/Cubic_Hermite_spline#Catmull.E2.80.93Rom_spline\n * Relative coordinates.\n *\n * @class CatmullRomBy\n * @extends CardinalSplineBy\n *\n * @param {Number} dt\n * @param {Array} points\n *\n * @example\n * var action1 = cc.catmullRomBy(3, array);\n */\ncc.CatmullRomBy = cc.Class({\n name: 'cc.CatmullRomBy',\n extends: cc.CardinalSplineBy,\n\n ctor: function(dt, points) {\n points && this.initWithDuration(dt, points);\n },\n\n initWithDuration:function (dt, points) {\n return cc.CardinalSplineTo.prototype.initWithDuration.call(this, dt, points, 0.5);\n },\n\n clone:function () {\n var action = new cc.CatmullRomBy();\n action.initWithDuration(this._duration, cloneControlPoints(this._points));\n return action;\n }\n});\n\n/**\n * !#en Creates an action with a Cardinal Spline array of points and tension.\n * !#zh 按 Catmull Rom 样条曲线轨迹移动指定的距离。\n * @method catmullRomBy\n * @param {Number} dt\n * @param {Array} points\n * @return {ActionInterval}\n * @example\n * var action1 = cc.catmullRomBy(3, array);\n */\ncc.catmullRomBy = function (dt, points) {\n return new cc.CatmullRomBy(dt, points);\n};\n","/****************************************************************************\n Copyright (c) 2008-2010 Ricardo Quesada\n Copyright (c) 2011-2012 cocos2d-x.org\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n http://www.cocos2d-x.org\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n/**\n * @module cc\n */\n\n/**\n * !#en\n * Creates the action easing object with the rate parameter.
\n * From slow to fast.\n * !#zh 创建 easeIn 缓动对象,由慢到快。\n * @method easeIn\n * @param {Number} rate\n * @return {Object}\n * @example\n * action.easing(cc.easeIn(3.0));\n */\ncc.easeIn = function (rate) {\n return {\n _rate: rate,\n easing: function (dt) {\n return Math.pow(dt, this._rate);\n },\n reverse: function(){\n return cc.easeIn(1 / this._rate);\n }\n };\n};\n\n/**\n * !#en\n * Creates the action easing object with the rate parameter.
\n * From fast to slow.\n * !#zh 创建 easeOut 缓动对象,由快到慢。\n * @method easeOut\n * @param {Number} rate\n * @return {Object}\n * @example\n * action.easing(cc.easeOut(3.0));\n */\ncc.easeOut = function (rate) {\n return {\n _rate: rate,\n easing: function (dt) {\n return Math.pow(dt, 1 / this._rate);\n },\n reverse: function(){\n return cc.easeOut(1 / this._rate);\n }\n };\n};\n\n/**\n * !#en\n * Creates the action easing object with the rate parameter.
\n * Slow to fast then to slow.\n * !#zh 创建 easeInOut 缓动对象,慢到快,然后慢。\n * @method easeInOut\n * @param {Number} rate\n * @return {Object}\n *\n * @example\n * action.easing(cc.easeInOut(3.0));\n */\ncc.easeInOut = function (rate) {\n return {\n _rate: rate,\n easing: function (dt) {\n dt *= 2;\n if (dt < 1)\n return 0.5 * Math.pow(dt, this._rate);\n else\n return 1.0 - 0.5 * Math.pow(2 - dt, this._rate);\n },\n reverse: function(){\n return cc.easeInOut(this._rate);\n }\n };\n};\n\n/**\n * !#en\n * Creates the action easing object with the rate parameter.
\n * Reference easeInExpo:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeExponentialIn 缓动对象。
\n * EaseExponentialIn 是按指数函数缓动进入的动作。
\n * 参考 easeInExpo:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeExponentialIn\n * @return {Object}\n * @example\n * action.easing(cc.easeExponentialIn());\n */\nvar _easeExponentialInObj = {\n easing: function(dt){\n return dt === 0 ? 0 : Math.pow(2, 10 * (dt - 1));\n },\n reverse: function(){\n return _easeExponentialOutObj;\n }\n};\ncc.easeExponentialIn = function(){\n return _easeExponentialInObj;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeOutExpo:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeExponentialOut 缓动对象。
\n * EaseExponentialOut 是按指数函数缓动退出的动作。
\n * 参考 easeOutExpo:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeExponentialOut\n * @return {Object}\n * @example\n * action.easing(cc.easeExponentialOut());\n */\nvar _easeExponentialOutObj = {\n easing: function(dt){\n return dt === 1 ? 1 : (-(Math.pow(2, -10 * dt)) + 1);\n },\n reverse: function(){\n return _easeExponentialInObj;\n }\n};\ncc.easeExponentialOut = function(){\n return _easeExponentialOutObj;\n};\n\n/**\n * !#en\n * Creates an EaseExponentialInOut action easing object.
\n * Reference easeInOutExpo:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeExponentialInOut 缓动对象。
\n * EaseExponentialInOut 是按指数函数缓动进入并退出的动作。
\n * 参考 easeInOutExpo:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeExponentialInOut\n * @return {Object}\n * @example\n * action.easing(cc.easeExponentialInOut());\n */\nvar _easeExponentialInOutObj = {\n easing: function(dt){\n if( dt !== 1 && dt !== 0) {\n dt *= 2;\n if (dt < 1)\n return 0.5 * Math.pow(2, 10 * (dt - 1));\n else\n return 0.5 * (-Math.pow(2, -10 * (dt - 1)) + 2);\n }\n return dt;\n },\n reverse: function(){\n return _easeExponentialInOutObj;\n }\n};\ncc.easeExponentialInOut = function(){\n return _easeExponentialInOutObj;\n};\n\n/**\n * !#en\n * Creates an EaseSineIn action.
\n * Reference easeInSine:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 EaseSineIn 缓动对象。
\n * EaseSineIn 是按正弦函数缓动进入的动作。
\n * 参考 easeInSine:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeSineIn\n * @return {Object}\n * @example\n * action.easing(cc.easeSineIn());\n */\nvar _easeSineInObj = {\n easing: function(dt){\n return (dt===0 || dt===1) ? dt : -1 * Math.cos(dt * Math.PI / 2) + 1;\n },\n reverse: function(){\n return _easeSineOutObj;\n }\n};\ncc.easeSineIn = function(){\n return _easeSineInObj;\n};\n\n/**\n * !#en\n * Creates an EaseSineOut action easing object.
\n * Reference easeOutSine:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 EaseSineOut 缓动对象。
\n * EaseSineIn 是按正弦函数缓动退出的动作。
\n * 参考 easeOutSine:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeSineOut\n * @return {Object}\n * @example\n * action.easing(cc.easeSineOut());\n */\nvar _easeSineOutObj = {\n easing: function(dt){\n return (dt===0 || dt===1) ? dt : Math.sin(dt * Math.PI / 2);\n },\n reverse: function(){\n return _easeSineInObj;\n }\n};\ncc.easeSineOut = function(){\n return _easeSineOutObj;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInOutSine:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeSineInOut 缓动对象。
\n * EaseSineIn 是按正弦函数缓动进入并退出的动作。
\n * 参考 easeInOutSine:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeSineInOut\n * @return {Object}\n * @example\n * action.easing(cc.easeSineInOut());\n */\nvar _easeSineInOutObj = {\n easing: function(dt){\n return (dt === 0 || dt === 1) ? dt : -0.5 * (Math.cos(Math.PI * dt) - 1);\n },\n reverse: function(){\n return _easeSineInOutObj;\n }\n};\ncc.easeSineInOut = function(){\n return _easeSineInOutObj;\n};\n\n/**\n * @module cc\n */\n\n/**\n * !#en\n * Creates the action easing object with the period in radians (default is 0.3).
\n * Reference easeInElastic:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeElasticIn 缓动对象。
\n * EaseElasticIn 是按弹性曲线缓动进入的动作。
\n * 参数 easeInElastic:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeElasticIn\n * @param {Number} period\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeElasticIn(3.0));\n */\n//default ease elastic in object (period = 0.3)\nvar _easeElasticInObj = {\n easing:function(dt){\n if (dt === 0 || dt === 1)\n return dt;\n dt = dt - 1;\n return -Math.pow(2, 10 * dt) * Math.sin((dt - (0.3 / 4)) * Math.PI * 2 / 0.3);\n },\n reverse:function(){\n return _easeElasticOutObj;\n }\n };\ncc.easeElasticIn = function (period) {\n if(period && period !== 0.3){\n return {\n _period: period,\n easing: function (dt) {\n if (dt === 0 || dt === 1)\n return dt;\n dt = dt - 1;\n return -Math.pow(2, 10 * dt) * Math.sin((dt - (this._period / 4)) * Math.PI * 2 / this._period);\n },\n reverse:function () {\n return cc.easeElasticOut(this._period);\n }\n };\n }\n return _easeElasticInObj;\n};\n\n/**\n * !#en\n * Creates the action easing object with the period in radians (default is 0.3).
\n * Reference easeOutElastic:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeElasticOut 缓动对象。
\n * EaseElasticOut 是按弹性曲线缓动退出的动作。
\n * 参考 easeOutElastic:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeElasticOut\n * @param {Number} period\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeElasticOut(3.0));\n */\n//default ease elastic out object (period = 0.3)\nvar _easeElasticOutObj = {\n easing: function (dt) {\n return (dt === 0 || dt === 1) ? dt : Math.pow(2, -10 * dt) * Math.sin((dt - (0.3 / 4)) * Math.PI * 2 / 0.3) + 1;\n },\n reverse:function(){\n return _easeElasticInObj;\n }\n};\ncc.easeElasticOut = function (period) {\n if(period && period !== 0.3){\n return {\n _period: period,\n easing: function (dt) {\n return (dt === 0 || dt === 1) ? dt : Math.pow(2, -10 * dt) * Math.sin((dt - (this._period / 4)) * Math.PI * 2 / this._period) + 1;\n },\n reverse:function(){\n return cc.easeElasticIn(this._period);\n }\n };\n }\n return _easeElasticOutObj;\n};\n\n/**\n * !#en\n * Creates the action easing object with the period in radians (default is 0.3).
\n * Reference easeInOutElastic:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeElasticInOut 缓动对象。
\n * EaseElasticInOut 是按弹性曲线缓动进入并退出的动作。
\n * 参考 easeInOutElastic:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeElasticInOut\n * @param {Number} period\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeElasticInOut(3.0));\n */\ncc.easeElasticInOut = function (period) {\n period = period || 0.3;\n return {\n _period: period,\n easing: function (dt) {\n var newT = 0;\n var locPeriod = this._period;\n if (dt === 0 || dt === 1) {\n newT = dt;\n } else {\n dt = dt * 2;\n if (!locPeriod)\n locPeriod = this._period = 0.3 * 1.5;\n var s = locPeriod / 4;\n dt = dt - 1;\n if (dt < 0)\n newT = -0.5 * Math.pow(2, 10 * dt) * Math.sin((dt - s) * Math.PI * 2 / locPeriod);\n else\n newT = Math.pow(2, -10 * dt) * Math.sin((dt - s) * Math.PI * 2 / locPeriod) * 0.5 + 1;\n }\n return newT;\n },\n reverse: function(){\n return cc.easeElasticInOut(this._period);\n }\n };\n};\n\n/**\n * @module cc\n */\n\nfunction _bounceTime (time1) {\n if (time1 < 1 / 2.75) {\n return 7.5625 * time1 * time1;\n } else if (time1 < 2 / 2.75) {\n time1 -= 1.5 / 2.75;\n return 7.5625 * time1 * time1 + 0.75;\n } else if (time1 < 2.5 / 2.75) {\n time1 -= 2.25 / 2.75;\n return 7.5625 * time1 * time1 + 0.9375;\n }\n\n time1 -= 2.625 / 2.75;\n return 7.5625 * time1 * time1 + 0.984375;\n};\n\nvar _easeBounceInObj = {\n easing: function(dt){\n return 1 - _bounceTime(1 - dt);\n },\n reverse: function(){\n return _easeBounceOutObj;\n }\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Eased bounce effect at the beginning.\n * !#zh\n * 创建 easeBounceIn 缓动对象。
\n * EaseBounceIn 是按弹跳动作缓动进入的动作。\n * @method easeBounceIn\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeBounceIn());\n */\ncc.easeBounceIn = function(){\n return _easeBounceInObj;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Eased bounce effect at the ending.\n * !#zh\n * 创建 easeBounceOut 缓动对象。
\n * EaseBounceOut 是按弹跳动作缓动退出的动作。\n * @method easeBounceOut\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeBounceOut());\n */\nvar _easeBounceOutObj = {\n easing: function(dt){\n return _bounceTime(dt);\n },\n reverse:function () {\n return _easeBounceInObj;\n }\n};\ncc.easeBounceOut = function(){\n return _easeBounceOutObj;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Eased bounce effect at the begining and ending.\n * !#zh\n * 创建 easeBounceInOut 缓动对象。
\n * EaseBounceInOut 是按弹跳动作缓动进入并退出的动作。\n * @method easeBounceInOut\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeBounceInOut());\n */\nvar _easeBounceInOutObj = {\n easing: function (time1) {\n var newT;\n if (time1 < 0.5) {\n time1 = time1 * 2;\n newT = (1 - _bounceTime(1 - time1)) * 0.5;\n } else {\n newT = _bounceTime(time1 * 2 - 1) * 0.5 + 0.5;\n }\n return newT;\n },\n reverse: function(){\n return _easeBounceInOutObj;\n }\n};\ncc.easeBounceInOut = function(){\n return _easeBounceInOutObj;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * In the opposite direction to move slowly, and then accelerated to the right direction.\n * !#zh\n * 创建 easeBackIn 缓动对象。
\n * easeBackIn 是在相反的方向缓慢移动,然后加速到正确的方向。
\n * @method easeBackIn\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeBackIn());\n */\nvar _easeBackInObj = {\n easing: function (time1) {\n var overshoot = 1.70158;\n return (time1===0 || time1===1) ? time1 : time1 * time1 * ((overshoot + 1) * time1 - overshoot);\n },\n reverse: function(){\n return _easeBackOutObj;\n }\n};\ncc.easeBackIn = function(){\n return _easeBackInObj;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Fast moving more than the finish, and then slowly back to the finish.\n * !#zh\n * 创建 easeBackOut 缓动对象。
\n * easeBackOut 快速移动超出目标,然后慢慢回到目标点。\n * @method easeBackOut\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeBackOut());\n */\nvar _easeBackOutObj = {\n easing: function (time1) {\n if (time1 === 0) {\n return 0;\n }\n var overshoot = 1.70158;\n time1 = time1 - 1;\n return time1 * time1 * ((overshoot + 1) * time1 + overshoot) + 1;\n },\n reverse: function(){\n return _easeBackInObj;\n }\n};\ncc.easeBackOut = function(){\n return _easeBackOutObj;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Begining of cc.EaseBackIn. Ending of cc.EaseBackOut.\n * !#zh\n * 创建 easeBackInOut 缓动对象。
\n * @method easeBackInOut\n * @return {Object}\n * @example\n * // example\n * action.easing(cc.easeBackInOut());\n */\nvar _easeBackInOutObj = {\n easing: function (time1) {\n var overshoot = 1.70158 * 1.525;\n time1 = time1 * 2;\n if (time1 < 1) {\n return (time1 * time1 * ((overshoot + 1) * time1 - overshoot)) / 2;\n } else {\n time1 = time1 - 2;\n return (time1 * time1 * ((overshoot + 1) * time1 + overshoot)) / 2 + 1;\n }\n },\n reverse: function(){\n return _easeBackInOutObj;\n }\n};\ncc.easeBackInOut = function(){\n return _easeBackInOutObj;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Into the 4 reference point.
\n * To calculate the motion curve.\n * !#zh\n * 创建 easeBezierAction 缓动对象。
\n * EaseBezierAction 是按贝塞尔曲线缓动的动作。\n * @method easeBezierAction\n * @param {Number} p0 The first bezier parameter\n * @param {Number} p1 The second bezier parameter\n * @param {Number} p2 The third bezier parameter\n * @param {Number} p3 The fourth bezier parameter\n * @returns {Object}\n * @example\n * // example\n * action.easing(cc.easeBezierAction(0.5, 0.5, 1.0, 1.0));\n */\ncc.easeBezierAction = function(a, b, c, d){\n return {\n easing: function(t){\n return (Math.pow(1-t,3) * a + 3*t*(Math.pow(1-t,2))*b + 3*Math.pow(t,2)*(1-t)*c + Math.pow(t,3)*d);\n },\n reverse: function(){\n return cc.easeBezierAction(d, c, b, a);\n }\n };\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInQuad:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuadraticActionIn 缓动对象。
\n * EaseQuadraticIn是按二次函数缓动进入的动作。
\n * 参考 easeInQuad:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuadraticActionIn\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeQuadraticActionIn());\n */\nvar _easeQuadraticActionIn = {\n easing: function(time){\n return Math.pow(time, 2);\n },\n reverse: function(){\n return _easeQuadraticActionIn;\n }\n};\ncc.easeQuadraticActionIn = function(){\n return _easeQuadraticActionIn;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeOutQuad:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuadraticActionOut 缓动对象。
\n * EaseQuadraticOut 是按二次函数缓动退出的动作。
\n * 参考 easeOutQuad:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuadraticActionOut\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeQuadraticActionOut());\n */\nvar _easeQuadraticActionOut = {\n easing: function(time){\n return -time*(time-2);\n },\n reverse: function(){\n return _easeQuadraticActionOut;\n }\n};\ncc.easeQuadraticActionOut = function(){\n return _easeQuadraticActionOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInOutQuad:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuadraticActionInOut 缓动对象。
\n * EaseQuadraticInOut 是按二次函数缓动进入并退出的动作。
\n * 参考 easeInOutQuad:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuadraticActionInOut\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeQuadraticActionInOut());\n */\nvar _easeQuadraticActionInOut = {\n easing: function(time){\n var resultTime = time;\n time *= 2;\n if(time < 1){\n resultTime = time * time * 0.5;\n }else{\n --time;\n resultTime = -0.5 * ( time * ( time - 2 ) - 1)\n }\n return resultTime;\n },\n reverse: function(){\n return _easeQuadraticActionInOut;\n }\n};\ncc.easeQuadraticActionInOut = function(){\n return _easeQuadraticActionInOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeIntQuart:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuarticActionIn 缓动对象。
\n * EaseQuarticIn 是按四次函数缓动进入的动作。
\n * 参考 easeIntQuart:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuarticActionIn\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeQuarticActionIn());\n */\nvar _easeQuarticActionIn = {\n easing: function(time){\n return time * time * time * time;\n },\n reverse: function(){\n return _easeQuarticActionIn;\n }\n};\ncc.easeQuarticActionIn = function(){\n return _easeQuarticActionIn;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeOutQuart:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuarticActionOut 缓动对象。
\n * EaseQuarticOut 是按四次函数缓动退出的动作。
\n * 参考 easeOutQuart:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuarticActionOut\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.QuarticActionOut());\n */\nvar _easeQuarticActionOut = {\n easing: function(time){\n time -= 1;\n return -(time * time * time * time - 1);\n },\n reverse: function(){\n return _easeQuarticActionOut;\n }\n};\ncc.easeQuarticActionOut = function(){\n return _easeQuarticActionOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInOutQuart:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuarticActionInOut 缓动对象。
\n * EaseQuarticInOut 是按四次函数缓动进入并退出的动作。
\n * 参考 easeInOutQuart:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuarticActionInOut\n * @returns {Object}\n */\nvar _easeQuarticActionInOut = {\n easing: function(time){\n time = time*2;\n if (time < 1)\n return 0.5 * time * time * time * time;\n time -= 2;\n return -0.5 * (time * time * time * time - 2);\n },\n reverse: function(){\n return _easeQuarticActionInOut;\n }\n};\ncc.easeQuarticActionInOut = function(){\n return _easeQuarticActionInOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInQuint:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuinticActionIn 缓动对象。
\n * EaseQuinticIn 是按五次函数缓动进的动作。
\n * 参考 easeInQuint:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuinticActionIn\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeQuinticActionIn());\n */\nvar _easeQuinticActionIn = {\n easing: function(time){\n return time * time * time * time * time;\n },\n reverse: function(){\n return _easeQuinticActionIn;\n }\n};\ncc.easeQuinticActionIn = function(){\n return _easeQuinticActionIn;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeOutQuint:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuinticActionOut 缓动对象。
\n * EaseQuinticOut 是按五次函数缓动退出的动作\n * 参考 easeOutQuint:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuinticActionOut\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeQuadraticActionOut());\n */\nvar _easeQuinticActionOut = {\n easing: function(time){\n time -=1;\n return (time * time * time * time * time + 1);\n },\n reverse: function(){\n return _easeQuinticActionOut;\n }\n};\ncc.easeQuinticActionOut = function(){\n return _easeQuinticActionOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInOutQuint:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeQuinticActionInOut 缓动对象。
\n * EaseQuinticInOut是按五次函数缓动进入并退出的动作。
\n * 参考 easeInOutQuint:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeQuinticActionInOut\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeQuinticActionInOut());\n */\nvar _easeQuinticActionInOut = {\n easing: function(time){\n time = time*2;\n if (time < 1)\n return 0.5 * time * time * time * time * time;\n time -= 2;\n return 0.5 * (time * time * time * time * time + 2);\n },\n reverse: function(){\n return _easeQuinticActionInOut;\n }\n};\ncc.easeQuinticActionInOut = function(){\n return _easeQuinticActionInOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInCirc:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeCircleActionIn 缓动对象。
\n * EaseCircleIn是按圆形曲线缓动进入的动作。
\n * 参考 easeInCirc:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeCircleActionIn\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeCircleActionIn());\n */\nvar _easeCircleActionIn = {\n easing: function(time){\n return -1 * (Math.sqrt(1 - time * time) - 1);\n },\n reverse: function(){\n return _easeCircleActionIn;\n }\n};\ncc.easeCircleActionIn = function(){\n return _easeCircleActionIn;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeOutCirc:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeCircleActionOut 缓动对象。
\n * EaseCircleOut是按圆形曲线缓动退出的动作。
\n * 参考 easeOutCirc:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeCircleActionOut\n * @returns {Object}\n * @example\n * //example\n * actioneasing(cc.easeCircleActionOut());\n */\nvar _easeCircleActionOut = {\n easing: function(time){\n time = time - 1;\n return Math.sqrt(1 - time * time);\n },\n reverse: function(){\n return _easeCircleActionOut;\n }\n};\ncc.easeCircleActionOut = function(){\n return _easeCircleActionOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInOutCirc:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeCircleActionInOut 缓动对象。
\n * EaseCircleInOut 是按圆形曲线缓动进入并退出的动作。
\n * 参考 easeInOutCirc:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeCircleActionInOut\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeCircleActionInOut());\n */\nvar _easeCircleActionInOut = {\n easing: function(time){\n time = time * 2;\n if (time < 1)\n return -0.5 * (Math.sqrt(1 - time * time) - 1);\n time -= 2;\n return 0.5 * (Math.sqrt(1 - time * time) + 1);\n },\n reverse: function(){\n return _easeCircleActionInOut;\n }\n};\ncc.easeCircleActionInOut = function(){\n return _easeCircleActionInOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInCubic:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeCubicActionIn 缓动对象。
\n * EaseCubicIn 是按三次函数缓动进入的动作。
\n * 参考 easeInCubic:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeCubicActionIn\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeCubicActionIn());\n */\nvar _easeCubicActionIn = {\n easing: function(time){\n return time * time * time;\n },\n reverse: function(){\n return _easeCubicActionIn;\n }\n};\ncc.easeCubicActionIn = function(){\n return _easeCubicActionIn;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeOutCubic:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeCubicActionOut 缓动对象。
\n * EaseCubicOut 是按三次函数缓动退出的动作。
\n * 参考 easeOutCubic:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeCubicActionOut\n * @returns {Object}\n * @example\n * //example\n * action.easing(cc.easeCubicActionOut());\n */\nvar _easeCubicActionOut = {\n easing: function(time){\n time -= 1;\n return (time * time * time + 1);\n },\n reverse: function(){\n return _easeCubicActionOut;\n }\n};\ncc.easeCubicActionOut = function(){\n return _easeCubicActionOut;\n};\n\n/**\n * !#en\n * Creates the action easing object.
\n * Reference easeInOutCubic:
\n * http://www.zhihu.com/question/21981571/answer/19925418\n * !#zh\n * 创建 easeCubicActionInOut 缓动对象。
\n * EaseCubicInOut是按三次函数缓动进入并退出的动作。
\n * 参考 easeInOutCubic:http://www.zhihu.com/question/21981571/answer/19925418\n * @method easeCubicActionInOut\n * @returns {Object}\n */\nvar _easeCubicActionInOut = {\n easing: function(time){\n time = time*2;\n if (time < 1)\n return 0.5 * time * time * time;\n time -= 2;\n return 0.5 * (time * time * time + 2);\n },\n reverse: function(){\n return _easeCubicActionInOut;\n }\n};\ncc.easeCubicActionInOut = function(){\n return _easeCubicActionInOut;\n};\n\n","/****************************************************************************\n Copyright (c) 2008-2010 Ricardo Quesada\n Copyright (c) 2011-2012 cocos2d-x.org\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n http://www.cocos2d-x.org\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n/**\n * @module cc\n */\n\n/**\n * !#en Instant actions are immediate actions. They don't have a duration like the ActionInterval actions.\n * !#zh 即时动作,这种动作立即就会执行,继承自 FiniteTimeAction。\n * @class ActionInstant\n * @extends FiniteTimeAction\n */\ncc.ActionInstant = cc.Class({\n name: 'cc.ActionInstant',\n extends: cc.FiniteTimeAction,\n isDone:function () {\n return true;\n },\n\n step:function (dt) {\n this.update(1);\n },\n\n update:function (dt) {\n //nothing\n },\n\n /**\n * returns a reversed action.
\n * For example:
\n * - The action is x coordinates of 0 move to 100.
\n * - The reversed action will be x of 100 move to 0.\n * @returns {Action}\n */\n reverse:function(){\n return this.clone();\n },\n\n clone:function(){\n return new cc.ActionInstant();\n }\n});\n\n/**\n * @module cc\n */\n\n/*\n * Show the node.\n * @class Show\n * @extends ActionInstant\n */\ncc.Show = cc.Class({\n name: 'cc.Show',\n extends: cc.ActionInstant,\n\n update:function (dt) {\n var _renderComps = this.target.getComponentsInChildren(cc.RenderComponent);\n for (var i = 0; i < _renderComps.length; ++i) {\n var render = _renderComps[i];\n render.enabled = true;\n }\n },\n\n reverse:function () {\n return new cc.Hide();\n },\n\n clone:function(){\n return new cc.Show();\n }\n});\n\n/**\n * !#en Show the Node.\n * !#zh 立即显示。\n * @method show\n * @return {ActionInstant}\n * @example\n * // example\n * var showAction = cc.show();\n */\ncc.show = function () {\n return new cc.Show();\n};\n\n/*\n * Hide the node.\n * @class Hide\n * @extends ActionInstant\n */\ncc.Hide = cc.Class({\n name: 'cc.Hide',\n extends: cc.ActionInstant,\n\n update:function (dt) {\n var _renderComps = this.target.getComponentsInChildren(cc.RenderComponent);\n for (var i = 0; i < _renderComps.length; ++i) {\n var render = _renderComps[i];\n render.enabled = false;\n }\n },\n\n reverse:function () {\n return new cc.Show();\n },\n\n clone:function(){\n return new cc.Hide();\n }\n});\n\n/**\n * !#en Hide the node.\n * !#zh 立即隐藏。\n * @method hide\n * @return {ActionInstant}\n * @example\n * // example\n * var hideAction = cc.hide();\n */\ncc.hide = function () {\n return new cc.Hide();\n};\n\n/*\n * Toggles the visibility of a node.\n * @class ToggleVisibility\n * @extends ActionInstant\n */\ncc.ToggleVisibility = cc.Class({\n name: 'cc.ToggleVisibility',\n extends: cc.ActionInstant,\n\n update:function (dt) {\n var _renderComps = this.target.getComponentsInChildren(cc.RenderComponent);\n for (var i = 0; i < _renderComps.length; ++i) {\n var render = _renderComps[i];\n render.enabled = !render.enabled;\n }\n },\n\n reverse:function () {\n return new cc.ToggleVisibility();\n },\n\n clone:function(){\n return new cc.ToggleVisibility();\n }\n});\n\n/**\n * !#en Toggles the visibility of a node.\n * !#zh 显隐状态切换。\n * @method toggleVisibility\n * @return {ActionInstant}\n * @example\n * // example\n * var toggleVisibilityAction = cc.toggleVisibility();\n */\ncc.toggleVisibility = function () {\n return new cc.ToggleVisibility();\n};\n\n/*\n * Delete self in the next frame.\n * @class RemoveSelf\n * @extends ActionInstant\n * @param {Boolean} [isNeedCleanUp=true]\n *\n * @example\n * // example\n * var removeSelfAction = new cc.RemoveSelf(false);\n */\ncc.RemoveSelf = cc.Class({\n name: 'cc.RemoveSelf',\n extends: cc.ActionInstant,\n\n ctor:function(isNeedCleanUp){\n this._isNeedCleanUp = true;\n\t isNeedCleanUp !== undefined && this.init(isNeedCleanUp);\n },\n\n update:function(dt){\n this.target.removeFromParent(this._isNeedCleanUp);\n },\n\n init:function(isNeedCleanUp){\n this._isNeedCleanUp = isNeedCleanUp;\n return true;\n },\n\n reverse:function(){\n return new cc.RemoveSelf(this._isNeedCleanUp);\n },\n\n clone:function(){\n return new cc.RemoveSelf(this._isNeedCleanUp);\n }\n});\n\n/**\n * !#en Create a RemoveSelf object with a flag indicate whether the target should be cleaned up while removing.\n * !#zh 从父节点移除自身。\n * @method removeSelf\n * @param {Boolean} [isNeedCleanUp = true]\n * @return {ActionInstant}\n *\n * @example\n * // example\n * var removeSelfAction = cc.removeSelf();\n */\ncc.removeSelf = function(isNeedCleanUp){\n return new cc.RemoveSelf(isNeedCleanUp);\n};\n\n/*\n * Create an action to destroy self.\n * @class DestroySelf\n * @extends ActionInstant\n *\n * @example\n * var destroySelfAction = new cc.DestroySelf();\n */\ncc.DestroySelf = cc.Class({\n name: 'cc.DestroySelf',\n extends: cc.ActionInstant,\n\n update () {\n this.target.destroy();\n },\n\n reverse () {\n return new cc.DestroySelf();\n },\n\n clone () {\n return new cc.DestroySelf();\n }\n});\n\n/**\n * !#en Destroy self\n * !#zh 创建一个销毁自身的动作。\n * @method destroySelf\n * @return {ActionInstant}\n *\n * @example\n * var destroySelfAction = cc.destroySelf();\n */\ncc.destroySelf = function () {\n return new cc.DestroySelf();\n};\n\n/*\n * Flips the sprite horizontally.\n * @class FlipX\n * @extends ActionInstant\n * @param {Boolean} flip Indicate whether the target should be flipped or not\n *\n * @example\n * var flipXAction = new cc.FlipX(true);\n */\ncc.FlipX = cc.Class({\n name: 'cc.FlipX',\n extends: cc.ActionInstant,\n\n ctor:function(flip){\n this._flippedX = false;\n\t\tflip !== undefined && this.initWithFlipX(flip);\n },\n\n /*\n * initializes the action with a set flipX.\n * @param {Boolean} flip\n * @return {Boolean}\n */\n initWithFlipX:function (flip) {\n this._flippedX = flip;\n return true;\n },\n\n update:function (dt) {\n this.target.scaleX = Math.abs(this.target.scaleX) * (this._flippedX ? -1 : 1);\n },\n\n reverse:function () {\n return new cc.FlipX(!this._flippedX);\n },\n\n clone:function(){\n var action = new cc.FlipX();\n action.initWithFlipX(this._flippedX);\n return action;\n }\n});\n\n/**\n * !#en Create a FlipX action to flip or unflip the target.\n * !#zh X轴翻转。\n * @method flipX\n * @param {Boolean} flip Indicate whether the target should be flipped or not\n * @return {ActionInstant}\n * @example\n * var flipXAction = cc.flipX(true);\n */\ncc.flipX = function (flip) {\n return new cc.FlipX(flip);\n};\n\n/*\n * Flips the sprite vertically\n * @class FlipY\n * @extends ActionInstant\n * @param {Boolean} flip\n * @example\n * var flipYAction = new cc.FlipY(true);\n */\ncc.FlipY = cc.Class({\n name: 'cc.FlipY',\n extends: cc.ActionInstant,\n\n ctor: function(flip){\n this._flippedY = false;\n\t\tflip !== undefined && this.initWithFlipY(flip);\n },\n\n /*\n * initializes the action with a set flipY.\n * @param {Boolean} flip\n * @return {Boolean}\n */\n initWithFlipY:function (flip) {\n this._flippedY = flip;\n return true;\n },\n\n update:function (dt) {\n this.target.scaleY = Math.abs(this.target.scaleY) * (this._flippedY ? -1 : 1);\n },\n\n reverse:function () {\n return new cc.FlipY(!this._flippedY);\n },\n\n clone:function(){\n var action = new cc.FlipY();\n action.initWithFlipY(this._flippedY);\n return action;\n }\n});\n\n/**\n * !#en Create a FlipY action to flip or unflip the target.\n * !#zh Y轴翻转。\n * @method flipY\n * @param {Boolean} flip\n * @return {ActionInstant}\n * @example\n * var flipYAction = cc.flipY(true);\n */\ncc.flipY = function (flip) {\n return new cc.FlipY(flip);\n};\n\n/*\n * Places the node in a certain position\n * @class Place\n * @extends ActionInstant\n * @param {Vec2|Number} pos\n * @param {Number} [y]\n * @example\n * var placeAction = new cc.Place(cc.v2(200, 200));\n * var placeAction = new cc.Place(200, 200);\n */\ncc.Place = cc.Class({\n name: 'cc.Place',\n extends: cc.ActionInstant,\n\n ctor:function(pos, y){\n this._x = 0;\n\t this._y = 0;\n\n\t\tif (pos !== undefined) {\n\t\t\tif (pos.x !== undefined) {\n\t\t\t\ty = pos.y;\n\t\t\t\tpos = pos.x;\n\t\t\t}\n\t\t\tthis.initWithPosition(pos, y);\n\t\t}\n },\n\n /*\n * Initializes a Place action with a position\n * @param {number} x\n * @param {number} y\n * @return {Boolean}\n */\n initWithPosition: function (x, y) {\n this._x = x;\n this._y = y;\n return true;\n },\n\n update:function (dt) {\n this.target.setPosition(this._x, this._y);\n },\n\n clone:function(){\n var action = new cc.Place();\n action.initWithPosition(this._x, this._y);\n return action;\n }\n});\n\n/**\n * !#en Creates a Place action with a position.\n * !#zh 放置在目标位置。\n * @method place\n * @param {Vec2|Number} pos\n * @param {Number} [y]\n * @return {ActionInstant}\n * @example\n * // example\n * var placeAction = cc.place(cc.v2(200, 200));\n * var placeAction = cc.place(200, 200);\n */\ncc.place = function (pos, y) {\n return new cc.Place(pos, y);\n};\n\n\n/*\n * Calls a 'callback'.\n * @class CallFunc\n * @extends ActionInstant\n * @param {function} selector\n * @param {object} [selectorTarget=null]\n * @param {*} [data=null] data for function, it accepts all data types.\n * @example\n * // example\n * // CallFunc without data\n * var finish = new cc.CallFunc(this.removeSprite, this);\n *\n * // CallFunc with data\n * var finish = new cc.CallFunc(this.removeFromParentAndCleanup, this, true);\n */\ncc.CallFunc = cc.Class({\n name: 'cc.CallFunc',\n extends: cc.ActionInstant,\n\n /*\n * Constructor function, override it to extend the construction behavior, remember to call \"this._super()\" in the extended \"ctor\" function.
\n\t * Creates a CallFunc action with the callback.\n\t * @param {function} selector\n\t * @param {object} [selectorTarget=null]\n\t * @param {*} [data=null] data for function, it accepts all data types.\n\t */\n ctor:function(selector, selectorTarget, data){\n this._selectorTarget = null;\n this._function = null;\n this._data = null;\n this.initWithFunction(selector, selectorTarget, data);\n },\n\n /*\n * Initializes the action with a function or function and its target\n * @param {function} selector\n * @param {object|Null} selectorTarget\n * @param {*|Null} [data] data for function, it accepts all data types.\n * @return {Boolean}\n */\n initWithFunction:function (selector, selectorTarget, data) {\n if (selector) {\n this._function = selector;\n }\n if (selectorTarget) {\n this._selectorTarget = selectorTarget;\n }\n if (data !== undefined) {\n this._data = data;\n }\n return true;\n },\n\n /*\n * execute the function.\n */\n execute:function () {\n if (this._function) {\n this._function.call(this._selectorTarget, this.target, this._data);\n }\n },\n\n update:function (dt) {\n this.execute();\n },\n\n /*\n * Get selectorTarget.\n * @return {object}\n */\n getTargetCallback:function () {\n return this._selectorTarget;\n },\n\n /*\n * Set selectorTarget.\n * @param {object} sel\n */\n setTargetCallback:function (sel) {\n if (sel !== this._selectorTarget) {\n if (this._selectorTarget)\n this._selectorTarget = null;\n this._selectorTarget = sel;\n }\n },\n\n clone:function(){\n var action = new cc.CallFunc();\n action.initWithFunction(this._function, this._selectorTarget, this._data);\n return action;\n }\n});\n\n/**\n * !#en Creates the action with the callback.\n * !#zh 执行回调函数。\n * @method callFunc\n * @param {function} selector\n * @param {object} [selectorTarget=null]\n * @param {*} [data=null] - data for function, it accepts all data types.\n * @return {ActionInstant}\n * @example\n * // example\n * // CallFunc without data\n * var finish = cc.callFunc(this.removeSprite, this);\n *\n * // CallFunc with data\n * var finish = cc.callFunc(this.removeFromParentAndCleanup, this._grossini, true);\n */\ncc.callFunc = function (selector, selectorTarget, data) {\n return new cc.CallFunc(selector, selectorTarget, data);\n};\n","/****************************************************************************\n Copyright (c) 2008-2010 Ricardo Quesada\n Copyright (c) 2011-2012 cocos2d-x.org\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n http://www.cocos2d-x.org\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n\n/**\n * @module cc\n */\n\n/**\n * !#en\n *

An interval action is an action that takes place within a certain period of time.
\n * It has an start time, and a finish time. The finish time is the parameter
\n * duration plus the start time.

\n *\n *

These CCActionInterval actions have some interesting properties, like:
\n * - They can run normally (default)
\n * - They can run reversed with the reverse method
\n * - They can run with the time altered with the Accelerate, AccelDeccel and Speed actions.

\n *\n *

For example, you can simulate a Ping Pong effect running the action normally and
\n * then running it again in Reverse mode.

\n * !#zh 时间间隔动作,这种动作在已定时间内完成,继承 FiniteTimeAction。\n * @class ActionInterval\n * @extends FiniteTimeAction\n * @param {Number} d duration in seconds\n */\ncc.ActionInterval = cc.Class({\n name: 'cc.ActionInterval',\n extends: cc.FiniteTimeAction,\n\n ctor:function (d) {\n this.MAX_VALUE = 2;\n this._elapsed = 0;\n this._firstTick = false;\n this._easeList = null;\n this._speed = 1;\n this._timesForRepeat = 1;\n this._repeatForever = false;\n this._repeatMethod = false;//Compatible with repeat class, Discard after can be deleted\n this._speedMethod = false;//Compatible with repeat class, Discard after can be deleted\n d !== undefined && cc.ActionInterval.prototype.initWithDuration.call(this, d);\n },\n\n /*\n * How many seconds had elapsed since the actions started to run.\n * @return {Number}\n */\n getElapsed:function () {\n return this._elapsed;\n },\n\n /*\n * Initializes the action.\n * @param {Number} d duration in seconds\n * @return {Boolean}\n */\n initWithDuration:function (d) {\n this._duration = (d === 0) ? cc.macro.FLT_EPSILON : d;\n // prevent division by 0\n // This comparison could be in step:, but it might decrease the performance\n // by 3% in heavy based action games.\n this._elapsed = 0;\n this._firstTick = true;\n return true;\n },\n\n isDone:function () {\n return (this._elapsed >= this._duration);\n },\n\n _cloneDecoration: function(action){\n action._repeatForever = this._repeatForever;\n action._speed = this._speed;\n action._timesForRepeat = this._timesForRepeat;\n action._easeList = this._easeList;\n action._speedMethod = this._speedMethod;\n action._repeatMethod = this._repeatMethod;\n },\n\n _reverseEaseList: function(action){\n if(this._easeList){\n action._easeList = [];\n for(var i=0; i (this._elapsed / this._duration)) ? this._elapsed / this._duration : 1);\n //this.update(Math.max(0, Math.min(1, this._elapsed / Math.max(this._duration, cc.macro.FLT_EPSILON))));\n var t = this._elapsed / (this._duration > 0.0000001192092896 ? this._duration : 0.0000001192092896);\n t = (1 > t ? t : 1);\n this.update(t > 0 ? t : 0);\n\n //Compatible with repeat class, Discard after can be deleted (this._repeatMethod)\n if(this._repeatMethod && this._timesForRepeat > 1 && this.isDone()){\n if(!this._repeatForever){\n this._timesForRepeat--;\n }\n //var diff = locInnerAction.getElapsed() - locInnerAction._duration;\n this.startWithTarget(this.target);\n // to prevent jerk. issue #390 ,1247\n //this._innerAction.step(0);\n //this._innerAction.step(diff);\n this.step(this._elapsed - this._duration);\n\n }\n },\n\n startWithTarget:function (target) {\n cc.Action.prototype.startWithTarget.call(this, target);\n this._elapsed = 0;\n this._firstTick = true;\n },\n\n reverse:function () {\n cc.logID(1010);\n return null;\n },\n\n /*\n * Set amplitude rate.\n * @warning It should be overridden in subclass.\n * @param {Number} amp\n */\n setAmplitudeRate:function (amp) {\n // Abstract class needs implementation\n cc.logID(1011);\n },\n\n /*\n * Get amplitude rate.\n * @warning It should be overridden in subclass.\n * @return {Number} 0\n */\n getAmplitudeRate:function () {\n // Abstract class needs implementation\n cc.logID(1012);\n return 0;\n },\n\n /**\n * !#en\n * Changes the speed of an action, making it take longer (speed>1)\n * or less (speed<1) time.
\n * Useful to simulate 'slow motion' or 'fast forward' effect.\n * !#zh\n * 改变一个动作的速度,使它的执行使用更长的时间(speed > 1)
\n * 或更少(speed < 1)可以有效得模拟“慢动作”或“快进”的效果。\n * @param {Number} speed\n * @returns {Action}\n */\n speed: function(speed){\n if(speed <= 0){\n cc.logID(1013);\n return this;\n }\n\n this._speedMethod = true;//Compatible with repeat class, Discard after can be deleted\n this._speed *= speed;\n return this;\n },\n\n /**\n * Get this action speed.\n * @return {Number}\n */\n getSpeed: function(){\n return this._speed;\n },\n\n /**\n * Set this action speed.\n * @param {Number} speed\n * @returns {ActionInterval}\n */\n setSpeed: function(speed){\n this._speed = speed;\n return this;\n },\n\n /**\n * !#en\n * Repeats an action a number of times.\n * To repeat an action forever use the CCRepeatForever action.\n * !#zh 重复动作可以按一定次数重复一个动作,使用 RepeatForever 动作来永远重复一个动作。\n * @method repeat\n * @param {Number} times\n * @returns {ActionInterval}\n */\n repeat: function(times){\n times = Math.round(times);\n if(isNaN(times) || times < 1){\n cc.logID(1014);\n return this;\n }\n this._repeatMethod = true;//Compatible with repeat class, Discard after can be deleted\n this._timesForRepeat *= times;\n return this;\n },\n\n /**\n * !#en\n * Repeats an action for ever.
\n * To repeat the an action for a limited number of times use the Repeat action.
\n * !#zh 永远地重复一个动作,有限次数内重复一个动作请使用 Repeat 动作。\n * @method repeatForever\n * @returns {ActionInterval}\n */\n repeatForever: function(){\n this._repeatMethod = true;//Compatible with repeat class, Discard after can be deleted\n this._timesForRepeat = this.MAX_VALUE;\n this._repeatForever = true;\n return this;\n }\n});\n\ncc.actionInterval = function (d) {\n return new cc.ActionInterval(d);\n};\n\n/**\n * @module cc\n */\n\n/*\n * Runs actions sequentially, one after another.\n * @class Sequence\n * @extends ActionInterval\n * @param {Array|FiniteTimeAction} tempArray\n * @example\n * // create sequence with actions\n * var seq = new cc.Sequence(act1, act2);\n *\n * // create sequence with array\n * var seq = new cc.Sequence(actArray);\n */\ncc.Sequence = cc.Class({\n name: 'cc.Sequence',\n extends: cc.ActionInterval,\n\n ctor:function (tempArray) {\n this._actions = [];\n this._split = null;\n this._last = 0;\n this._reversed = false;\n\n var paramArray = (tempArray instanceof Array) ? tempArray : arguments;\n if (paramArray.length === 1) {\n cc.errorID(1019);\n return;\n }\n var last = paramArray.length - 1;\n if ((last >= 0) && (paramArray[last] == null))\n cc.logID(1015);\n\n if (last >= 0) {\n var prev = paramArray[0], action1;\n for (var i = 1; i < last; i++) {\n if (paramArray[i]) {\n action1 = prev;\n prev = cc.Sequence._actionOneTwo(action1, paramArray[i]);\n }\n }\n this.initWithTwoActions(prev, paramArray[last]);\n }\n },\n\n /*\n * Initializes the action
\n * @param {FiniteTimeAction} actionOne\n * @param {FiniteTimeAction} actionTwo\n * @return {Boolean}\n */\n initWithTwoActions:function (actionOne, actionTwo) {\n if (!actionOne || !actionTwo) {\n cc.errorID(1025);\n return false;\n }\n\n var durationOne = actionOne._duration, durationTwo = actionTwo._duration;\n durationOne *= actionOne._repeatMethod ? actionOne._timesForRepeat : 1;\n durationTwo *= actionTwo._repeatMethod ? actionTwo._timesForRepeat : 1;\n var d = durationOne + durationTwo;\n this.initWithDuration(d);\n\n this._actions[0] = actionOne;\n this._actions[1] = actionTwo;\n return true;\n },\n\n clone:function () {\n var action = new cc.Sequence();\n this._cloneDecoration(action);\n action.initWithTwoActions(this._actions[0].clone(), this._actions[1].clone());\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._split = this._actions[0]._duration / this._duration;\n this._split *= this._actions[0]._repeatMethod ? this._actions[0]._timesForRepeat : 1;\n this._last = -1;\n },\n\n stop:function () {\n // Issue #1305\n if (this._last !== -1)\n this._actions[this._last].stop();\n cc.Action.prototype.stop.call(this);\n },\n\n update:function (dt) {\n var new_t, found = 0;\n var locSplit = this._split, locActions = this._actions, locLast = this._last, actionFound;\n\n dt = this._computeEaseTime(dt);\n if (dt < locSplit) {\n // action[0]\n new_t = (locSplit !== 0) ? dt / locSplit : 1;\n\n if (found === 0 && locLast === 1 && this._reversed) {\n // Reverse mode ?\n // XXX: Bug. this case doesn't contemplate when _last==-1, found=0 and in \"reverse mode\"\n // since it will require a hack to know if an action is on reverse mode or not.\n // \"step\" should be overriden, and the \"reverseMode\" value propagated to inner Sequences.\n locActions[1].update(0);\n locActions[1].stop();\n }\n } else {\n // action[1]\n found = 1;\n new_t = (locSplit === 1) ? 1 : (dt - locSplit) / (1 - locSplit);\n\n if (locLast === -1) {\n // action[0] was skipped, execute it.\n locActions[0].startWithTarget(this.target);\n locActions[0].update(1);\n locActions[0].stop();\n }\n if (locLast === 0) {\n // switching to action 1. stop action 0.\n locActions[0].update(1);\n locActions[0].stop();\n }\n }\n\n actionFound = locActions[found];\n // Last action found and it is done.\n if (locLast === found && actionFound.isDone())\n return;\n\n // Last action not found\n if (locLast !== found)\n actionFound.startWithTarget(this.target);\n\n new_t = new_t * actionFound._timesForRepeat;\n actionFound.update(new_t > 1 ? new_t % 1 : new_t);\n this._last = found;\n },\n\n reverse:function () {\n var action = cc.Sequence._actionOneTwo(this._actions[1].reverse(), this._actions[0].reverse());\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n action._reversed = true;\n return action;\n }\n});\n\n/**\n * !#en\n * Helper constructor to create an array of sequenceable actions\n * The created action will run actions sequentially, one after another.\n * !#zh 顺序执行动作,创建的动作将按顺序依次运行。\n * @method sequence\n * @param {FiniteTimeAction|FiniteTimeAction[]} actionOrActionArray\n * @param {FiniteTimeAction} ...tempArray\n * @return {ActionInterval}\n * @example\n * // example\n * // create sequence with actions\n * var seq = cc.sequence(act1, act2);\n *\n * // create sequence with array\n * var seq = cc.sequence(actArray);\n */\n// todo: It should be use new\ncc.sequence = function (/*Multiple Arguments*/tempArray) {\n var paramArray = (tempArray instanceof Array) ? tempArray : arguments;\n if (paramArray.length === 1) {\n cc.errorID(1019);\n return null;\n }\n var last = paramArray.length - 1;\n if ((last >= 0) && (paramArray[last] == null))\n cc.logID(1015);\n\n var result = null;\n if (last >= 0) {\n result = paramArray[0];\n for (var i = 1; i <= last; i++) {\n if (paramArray[i]) {\n result = cc.Sequence._actionOneTwo(result, paramArray[i]);\n }\n }\n }\n\n return result;\n};\n\ncc.Sequence._actionOneTwo = function (actionOne, actionTwo) {\n var sequence = new cc.Sequence();\n sequence.initWithTwoActions(actionOne, actionTwo);\n return sequence;\n};\n\n/*\n * Repeats an action a number of times.\n * To repeat an action forever use the CCRepeatForever action.\n * @class Repeat\n * @extends ActionInterval\n * @param {FiniteTimeAction} action\n * @param {Number} times\n * @example\n * var rep = new cc.Repeat(cc.sequence(jump2, jump1), 5);\n */\ncc.Repeat = cc.Class({\n name: 'cc.Repeat',\n extends: cc.ActionInterval,\n\n ctor: function (action, times) {\n this._times = 0;\n this._total = 0;\n this._nextDt = 0;\n this._actionInstant = false;\n this._innerAction = null;\n\t\ttimes !== undefined && this.initWithAction(action, times);\n },\n\n /*\n * @param {FiniteTimeAction} action\n * @param {Number} times\n * @return {Boolean}\n */\n initWithAction:function (action, times) {\n var duration = action._duration * times;\n\n if (this.initWithDuration(duration)) {\n this._times = times;\n this._innerAction = action;\n if (action instanceof cc.ActionInstant){\n this._actionInstant = true;\n this._times -= 1;\n }\n this._total = 0;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.Repeat();\n this._cloneDecoration(action);\n action.initWithAction(this._innerAction.clone(), this._times);\n return action;\n },\n\n startWithTarget:function (target) {\n this._total = 0;\n this._nextDt = this._innerAction._duration / this._duration;\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._innerAction.startWithTarget(target);\n },\n\n stop:function () {\n this._innerAction.stop();\n cc.Action.prototype.stop.call(this);\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n var locInnerAction = this._innerAction;\n var locDuration = this._duration;\n var locTimes = this._times;\n var locNextDt = this._nextDt;\n\n if (dt >= locNextDt) {\n while (dt > locNextDt && this._total < locTimes) {\n locInnerAction.update(1);\n this._total++;\n locInnerAction.stop();\n locInnerAction.startWithTarget(this.target);\n locNextDt += locInnerAction._duration / locDuration;\n this._nextDt = locNextDt > 1 ? 1 : locNextDt;\n }\n\n // fix for issue #1288, incorrect end value of repeat\n if (dt >= 1.0 && this._total < locTimes) {\n // fix for cocos-creator/fireball/issues/4310\n locInnerAction.update(1);\n this._total++;\n }\n\n // don't set a instant action back or update it, it has no use because it has no duration\n if (!this._actionInstant) {\n if (this._total === locTimes) {\n locInnerAction.stop();\n } else {\n // issue #390 prevent jerk, use right update\n locInnerAction.update(dt - (locNextDt - locInnerAction._duration / locDuration));\n }\n }\n } else {\n locInnerAction.update((dt * locTimes) % 1.0);\n }\n },\n\n isDone:function () {\n return this._total === this._times;\n },\n\n reverse:function () {\n var action = new cc.Repeat(this._innerAction.reverse(), this._times);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n },\n\n /*\n * Set inner Action.\n * @param {FiniteTimeAction} action\n */\n setInnerAction:function (action) {\n if (this._innerAction !== action) {\n this._innerAction = action;\n }\n },\n\n /*\n * Get inner Action.\n * @return {FiniteTimeAction}\n */\n getInnerAction:function () {\n return this._innerAction;\n }\n});\n\n/**\n * !#en Creates a Repeat action. Times is an unsigned integer between 1 and pow(2,30)\n * !#zh 重复动作,可以按一定次数重复一个动,如果想永远重复一个动作请使用 repeatForever 动作来完成。\n * @method repeat\n * @param {FiniteTimeAction} action\n * @param {Number} times\n * @return {ActionInterval}\n * @example\n * // example\n * var rep = cc.repeat(cc.sequence(jump2, jump1), 5);\n */\ncc.repeat = function (action, times) {\n return new cc.Repeat(action, times);\n};\n\n\ncc.repeatForever = function (action) {\n return new cc.RepeatForever(action);\n}\n\n\n/*\n * Repeats an action for ever.
\n * To repeat the an action for a limited number of times use the Repeat action.
\n * @warning This action can't be Sequenceable because it is not an IntervalAction\n * @class RepeatForever\n * @extends ActionInterval\n * @param {FiniteTimeAction} action\n * @example\n * var rep = new cc.RepeatForever(cc.sequence(jump2, jump1), 5);\n */\ncc.RepeatForever = cc.Class({\n name: 'cc.RepeatForever',\n extends: cc.ActionInterval,\n\n ctor:function (action) {\n this._innerAction = null;\n\t\taction && this.initWithAction(action);\n },\n\n /*\n * @param {ActionInterval} action\n * @return {Boolean}\n */\n initWithAction:function (action) {\n if (!action) {\n cc.errorID(1026);\n return false;\n }\n\n this._innerAction = action;\n return true;\n },\n\n clone:function () {\n var action = new cc.RepeatForever();\n this._cloneDecoration(action);\n action.initWithAction(this._innerAction.clone());\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._innerAction.startWithTarget(target);\n },\n\n step:function (dt) {\n var locInnerAction = this._innerAction;\n locInnerAction.step(dt);\n if (locInnerAction.isDone()) {\n //var diff = locInnerAction.getElapsed() - locInnerAction._duration;\n locInnerAction.startWithTarget(this.target);\n // to prevent jerk. issue #390 ,1247\n //this._innerAction.step(0);\n //this._innerAction.step(diff);\n locInnerAction.step(locInnerAction.getElapsed() - locInnerAction._duration);\n }\n },\n\n isDone:function () {\n return false;\n },\n\n reverse:function () {\n var action = new cc.RepeatForever(this._innerAction.reverse());\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n },\n\n /*\n * Set inner action.\n * @param {ActionInterval} action\n */\n setInnerAction:function (action) {\n if (this._innerAction !== action) {\n this._innerAction = action;\n }\n },\n\n /*\n * Get inner action.\n * @return {ActionInterval}\n */\n getInnerAction:function () {\n return this._innerAction;\n }\n});\n\n/**\n * !#en Create a acton which repeat forever, as it runs forever, it can't be added into cc.sequence and cc.spawn.\n * !#zh 永远地重复一个动作,有限次数内重复一个动作请使用 repeat 动作,由于这个动作不会停止,所以不能被添加到 cc.sequence 或 cc.spawn 中。\n * @method repeatForever\n * @param {FiniteTimeAction} action\n * @return {ActionInterval}\n * @example\n * // example\n * var repeat = cc.repeatForever(cc.rotateBy(1.0, 360));\n */\ncc.repeatForever = function (action) {\n return new cc.RepeatForever(action);\n};\n\n\n/* \n * Spawn a new action immediately\n * @class Spawn\n * @extends ActionInterval\n */\ncc.Spawn = cc.Class({\n name: 'cc.Spawn',\n extends: cc.ActionInterval,\n\n ctor:function (tempArray) {\n this._one = null;\n this._two = null;\n\n\t\tvar paramArray = (tempArray instanceof Array) ? tempArray : arguments;\n if (paramArray.length === 1) {\n cc.errorID(1020);\n return;\n }\n\t\tvar last = paramArray.length - 1;\n\t\tif ((last >= 0) && (paramArray[last] == null))\n\t\t\tcc.logID(1015);\n\n if (last >= 0) {\n var prev = paramArray[0], action1;\n for (var i = 1; i < last; i++) {\n if (paramArray[i]) {\n action1 = prev;\n prev = cc.Spawn._actionOneTwo(action1, paramArray[i]);\n }\n }\n this.initWithTwoActions(prev, paramArray[last]);\n }\n },\n\n /* initializes the Spawn action with the 2 actions to spawn\n * @param {FiniteTimeAction} action1\n * @param {FiniteTimeAction} action2\n * @return {Boolean}\n */\n initWithTwoActions:function (action1, action2) {\n if (!action1 || !action2) {\n cc.errorID(1027);\n return false;\n }\n\n var ret = false;\n\n var d1 = action1._duration;\n var d2 = action2._duration;\n\n if (this.initWithDuration(Math.max(d1, d2))) {\n this._one = action1;\n this._two = action2;\n\n if (d1 > d2) {\n this._two = cc.Sequence._actionOneTwo(action2, cc.delayTime(d1 - d2));\n } else if (d1 < d2) {\n this._one = cc.Sequence._actionOneTwo(action1, cc.delayTime(d2 - d1));\n }\n\n ret = true;\n }\n return ret;\n },\n\n clone:function () {\n var action = new cc.Spawn();\n this._cloneDecoration(action);\n action.initWithTwoActions(this._one.clone(), this._two.clone());\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._one.startWithTarget(target);\n this._two.startWithTarget(target);\n },\n\n stop:function () {\n this._one.stop();\n this._two.stop();\n cc.Action.prototype.stop.call(this);\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this._one)\n this._one.update(dt);\n if (this._two)\n this._two.update(dt);\n },\n\n reverse:function () {\n var action = cc.Spawn._actionOneTwo(this._one.reverse(), this._two.reverse());\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n }\n});\n\n/**\n * !#en Create a spawn action which runs several actions in parallel.\n * !#zh 同步执行动作,同步执行一组动作。\n * @method spawn\n * @param {FiniteTimeAction|FiniteTimeAction[]} actionOrActionArray\n * @param {FiniteTimeAction} ...tempArray\n * @return {FiniteTimeAction}\n * @example\n * // example\n * var action = cc.spawn(cc.jumpBy(2, cc.v2(300, 0), 50, 4), cc.rotateBy(2, 720));\n * todo: It should be the direct use new\n */\ncc.spawn = function (/*Multiple Arguments*/tempArray) {\n var paramArray = (tempArray instanceof Array) ? tempArray : arguments;\n if (paramArray.length === 1) {\n cc.errorID(1020);\n return null;\n }\n if ((paramArray.length > 0) && (paramArray[paramArray.length - 1] == null))\n cc.logID(1015);\n\n var prev = paramArray[0];\n for (var i = 1; i < paramArray.length; i++) {\n if (paramArray[i] != null)\n prev = cc.Spawn._actionOneTwo(prev, paramArray[i]);\n }\n return prev;\n};\n\ncc.Spawn._actionOneTwo = function (action1, action2) {\n var pSpawn = new cc.Spawn();\n pSpawn.initWithTwoActions(action1, action2);\n return pSpawn;\n};\n\n\n/*\n * Rotates a Node object to a certain angle by modifying its angle property.
\n * The direction will be decided by the shortest angle.\n * @class RotateTo\n * @extends ActionInterval\n * @param {Number} duration duration in seconds\n * @param {Number} dstAngle dstAngle in degrees.\n * @example\n * var rotateTo = new cc.RotateTo(2, 61.0);\n */\ncc.RotateTo = cc.Class({\n name: 'cc.RotateTo',\n extends: cc.ActionInterval,\n\n statics: {\n _reverse: false,\n },\n\n ctor:function (duration, dstAngle) {\n this._startAngle = 0;\n this._dstAngle = 0;\n this._angle = 0;\n dstAngle !== undefined && this.initWithDuration(duration, dstAngle);\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration\n * @param {Number} dstAngle\n * @return {Boolean}\n */\n initWithDuration:function (duration, dstAngle) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n this._dstAngle = dstAngle;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.RotateTo();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._dstAngle);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n\n let startAngle = target.angle % 360;\n\n let angle = cc.RotateTo._reverse ? (this._dstAngle - startAngle) : (this._dstAngle + startAngle);\n if (angle > 180) angle -= 360;\n if (angle < -180) angle += 360;\n\n this._startAngle = startAngle;\n this._angle = cc.RotateTo._reverse ? angle : -angle;\n },\n\n reverse:function () {\n cc.logID(1016);\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this.target) {\n this.target.angle = this._startAngle + this._angle * dt;\n }\n }\n});\n\n/**\n * !#en\n * Rotates a Node object to a certain angle by modifying its angle property.
\n * The direction will be decided by the shortest angle.\n * !#zh 旋转到目标角度,通过逐帧修改它的 angle 属性,旋转方向将由最短的角度决定。\n * @method rotateTo\n * @param {Number} duration duration in seconds\n * @param {Number} dstAngle dstAngle in degrees.\n * @return {ActionInterval}\n * @example\n * // example\n * var rotateTo = cc.rotateTo(2, 61.0);\n */\ncc.rotateTo = function (duration, dstAngle) {\n return new cc.RotateTo(duration, dstAngle);\n};\n\n\n/*\n * Rotates a Node object clockwise a number of degrees by modifying its angle property.\n * Relative to its properties to modify.\n * @class RotateBy\n * @extends ActionInterval\n * @param {Number} duration duration in seconds\n * @param {Number} deltaAngle deltaAngle in degrees\n * @example\n * var actionBy = new cc.RotateBy(2, 360);\n */\ncc.RotateBy = cc.Class({\n name: 'cc.RotateBy',\n extends: cc.ActionInterval,\n\n statics: {\n _reverse: false,\n },\n\n ctor: function (duration, deltaAngle) {\n deltaAngle *= cc.RotateBy._reverse ? 1 : -1;\n\n this._deltaAngle = 0;\n this._startAngle = 0;\n deltaAngle !== undefined && this.initWithDuration(duration, deltaAngle);\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration duration in seconds\n * @param {Number} deltaAngle deltaAngle in degrees\n * @return {Boolean}\n */\n initWithDuration:function (duration, deltaAngle) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n this._deltaAngle = deltaAngle;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.RotateBy();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._deltaAngle);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._startAngle = target.angle;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this.target) {\n this.target.angle = this._startAngle + this._deltaAngle * dt;\n }\n },\n\n reverse:function () {\n var action = new cc.RotateBy();\n action.initWithDuration(this._duration, -this._deltaAngle);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n }\n});\n\n/**\n * !#en\n * Rotates a Node object clockwise a number of degrees by modifying its angle property.\n * Relative to its properties to modify.\n * !#zh 旋转指定的角度。\n * @method rotateBy\n * @param {Number} duration duration in seconds\n * @param {Number} deltaAngle deltaAngle in degrees\n * @return {ActionInterval}\n * @example\n * // example\n * var actionBy = cc.rotateBy(2, 360);\n */\ncc.rotateBy = function (duration, deltaAngle) {\n return new cc.RotateBy(duration, deltaAngle);\n};\n\n\n/*\n *

\n * Moves a Node object x,y pixels by modifying its position property.
\n * x and y are relative to the position of the object.
\n * Several MoveBy actions can be concurrently called, and the resulting
\n * movement will be the sum of individual movements.\n *

\n * @class MoveBy\n * @extends ActionInterval\n * @param {Number} duration duration in seconds\n * @param {Vec2|Number} deltaPos\n * @param {Number} [deltaY]\n * @example\n * var actionTo = cc.moveBy(2, cc.v2(windowSize.width - 40, windowSize.height - 40));\n */\ncc.MoveBy = cc.Class({\n name: 'cc.MoveBy',\n extends: cc.ActionInterval,\n\n ctor:function (duration, deltaPos, deltaY) {\n this._positionDelta = cc.v2(0, 0);\n this._startPosition = cc.v2(0, 0);\n this._previousPosition = cc.v2(0, 0);\n\n deltaPos !== undefined && cc.MoveBy.prototype.initWithDuration.call(this, duration, deltaPos, deltaY);\t\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration duration in seconds\n * @param {Vec2} position\n * @param {Number} [y]\n * @return {Boolean}\n */\n initWithDuration:function (duration, position, y) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n\t if(position.x !== undefined) {\n\t\t y = position.y;\n\t\t position = position.x;\n\t }\n\n this._positionDelta.x = position;\n this._positionDelta.y = y;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.MoveBy();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._positionDelta);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n var locPosX = target.x;\n var locPosY = target.y;\n this._previousPosition.x = locPosX;\n this._previousPosition.y = locPosY;\n this._startPosition.x = locPosX;\n this._startPosition.y = locPosY;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this.target) {\n var x = this._positionDelta.x * dt;\n var y = this._positionDelta.y * dt;\n var locStartPosition = this._startPosition;\n if (cc.macro.ENABLE_STACKABLE_ACTIONS) {\n var targetX = this.target.x;\n var targetY = this.target.y;\n var locPreviousPosition = this._previousPosition;\n\n locStartPosition.x = locStartPosition.x + targetX - locPreviousPosition.x;\n locStartPosition.y = locStartPosition.y + targetY - locPreviousPosition.y;\n x = x + locStartPosition.x;\n y = y + locStartPosition.y;\n\t locPreviousPosition.x = x;\n\t locPreviousPosition.y = y;\n\t this.target.setPosition(x, y);\n } else {\n this.target.setPosition(locStartPosition.x + x, locStartPosition.y + y);\n }\n }\n },\n\n reverse:function () {\n var action = new cc.MoveBy(this._duration, cc.v2(-this._positionDelta.x, -this._positionDelta.y));\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n }\n});\n\n/**\n * !#en\n * Moves a Node object x,y pixels by modifying its position property.
\n * x and y are relative to the position of the object.
\n * Several MoveBy actions can be concurrently called, and the resulting
\n * movement will be the sum of individual movements.\n * !#zh 移动指定的距离。\n * @method moveBy\n * @param {Number} duration duration in seconds\n * @param {Vec2|Number} deltaPos\n * @param {Number} [deltaY]\n * @return {ActionInterval}\n * @example\n * // example\n * var actionTo = cc.moveBy(2, cc.v2(windowSize.width - 40, windowSize.height - 40));\n */\ncc.moveBy = function (duration, deltaPos, deltaY) {\n return new cc.MoveBy(duration, deltaPos, deltaY);\n};\n\n\n/*\n * Moves a Node object to the position x,y. x and y are absolute coordinates by modifying its position property.
\n * Several MoveTo actions can be concurrently called, and the resulting
\n * movement will be the sum of individual movements.\n * @class MoveTo\n * @extends MoveBy\n * @param {Number} duration duration in seconds\n * @param {Vec2|Number} position\n * @param {Number} [y]\n * @example\n * var actionBy = new cc.MoveTo(2, cc.v2(80, 80));\n */\ncc.MoveTo = cc.Class({\n name: 'cc.MoveTo',\n extends: cc.MoveBy,\n\n ctor:function (duration, position, y) {\n this._endPosition = cc.v2(0, 0);\n\t\tposition !== undefined && this.initWithDuration(duration, position, y);\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration duration in seconds\n * @param {Vec2} position\n * @param {Number} [y]\n * @return {Boolean}\n */\n initWithDuration:function (duration, position, y) {\n if (cc.MoveBy.prototype.initWithDuration.call(this, duration, position, y)) {\n\t if(position.x !== undefined) {\n\t\t y = position.y;\n\t\t position = position.x;\n\t }\n\n this._endPosition.x = position;\n this._endPosition.y = y;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.MoveTo();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._endPosition);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.MoveBy.prototype.startWithTarget.call(this, target);\n this._positionDelta.x = this._endPosition.x - target.x;\n this._positionDelta.y = this._endPosition.y - target.y;\n }\n});\n\n/**\n * !#en\n * Moves a Node object to the position x,y. x and y are absolute coordinates by modifying its position property.
\n * Several MoveTo actions can be concurrently called, and the resulting
\n * movement will be the sum of individual movements.\n * !#zh 移动到目标位置。\n * @method moveTo\n * @param {Number} duration duration in seconds\n * @param {Vec2|Number} position\n * @param {Number} [y]\n * @return {ActionInterval}\n * @example\n * // example\n * var actionBy = cc.moveTo(2, cc.v2(80, 80));\n */\ncc.moveTo = function (duration, position, y) {\n return new cc.MoveTo(duration, position, y);\n};\n\n/*\n * Skews a Node object to given angles by modifying its skewX and skewY properties\n * @class SkewTo\n * @extends ActionInterval\n * @param {Number} t time in seconds\n * @param {Number} sx\n * @param {Number} sy\n * @example\n * var actionTo = new cc.SkewTo(2, 37.2, -37.2);\n */\ncc.SkewTo = cc.Class({\n name: 'cc.SkewTo',\n extends: cc.ActionInterval,\n\n ctor: function (t, sx, sy) {\n this._skewX = 0;\n this._skewY = 0;\n this._startSkewX = 0;\n this._startSkewY = 0;\n this._endSkewX = 0;\n this._endSkewY = 0;\n this._deltaX = 0;\n this._deltaY = 0;\n sy !== undefined && cc.SkewTo.prototype.initWithDuration.call(this, t, sx, sy);\n },\n\n /*\n * Initializes the action.\n * @param {Number} t time in seconds\n * @param {Number} sx\n * @param {Number} sy\n * @return {Boolean}\n */\n initWithDuration:function (t, sx, sy) {\n var ret = false;\n if (cc.ActionInterval.prototype.initWithDuration.call(this, t)) {\n this._endSkewX = sx;\n this._endSkewY = sy;\n ret = true;\n }\n return ret;\n },\n\n clone:function () {\n var action = new cc.SkewTo();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._endSkewX, this._endSkewY);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n\n this._startSkewX = target.skewX % 180;\n this._deltaX = this._endSkewX - this._startSkewX;\n if (this._deltaX > 180)\n this._deltaX -= 360;\n if (this._deltaX < -180)\n this._deltaX += 360;\n\n this._startSkewY = target.skewY % 360;\n this._deltaY = this._endSkewY - this._startSkewY;\n if (this._deltaY > 180)\n this._deltaY -= 360;\n if (this._deltaY < -180)\n this._deltaY += 360;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n this.target.skewX = this._startSkewX + this._deltaX * dt;\n this.target.skewY = this._startSkewY + this._deltaY * dt;\n }\n});\n\n/**\n * !#en\n * Create a action which skews a Node object to given angles by modifying its skewX and skewY properties.\n * Changes to the specified value.\n * !#zh 偏斜到目标角度。\n * @method skewTo\n * @param {Number} t time in seconds\n * @param {Number} sx\n * @param {Number} sy\n * @return {ActionInterval}\n * @example\n * // example\n * var actionTo = cc.skewTo(2, 37.2, -37.2);\n */\ncc.skewTo = function (t, sx, sy) {\n return new cc.SkewTo(t, sx, sy);\n};\n\n/*\n * Skews a Node object by skewX and skewY degrees.\n * Relative to its property modification.\n * @class SkewBy\n * @extends SkewTo\n * @param {Number} t time in seconds\n * @param {Number} sx skew in degrees for X axis\n * @param {Number} sy skew in degrees for Y axis\n */\ncc.SkewBy = cc.Class({\n name: 'cc.SkewBy',\n extends: cc.SkewTo,\n\n\tctor: function(t, sx, sy) {\n\t\tsy !== undefined && this.initWithDuration(t, sx, sy);\n\t},\n\n /*\n * Initializes the action.\n * @param {Number} t time in seconds\n * @param {Number} deltaSkewX skew in degrees for X axis\n * @param {Number} deltaSkewY skew in degrees for Y axis\n * @return {Boolean}\n */\n initWithDuration:function (t, deltaSkewX, deltaSkewY) {\n var ret = false;\n if (cc.SkewTo.prototype.initWithDuration.call(this, t, deltaSkewX, deltaSkewY)) {\n this._skewX = deltaSkewX;\n this._skewY = deltaSkewY;\n ret = true;\n }\n return ret;\n },\n\n clone:function () {\n var action = new cc.SkewBy();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._skewX, this._skewY);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.SkewTo.prototype.startWithTarget.call(this, target);\n this._deltaX = this._skewX;\n this._deltaY = this._skewY;\n this._endSkewX = this._startSkewX + this._deltaX;\n this._endSkewY = this._startSkewY + this._deltaY;\n },\n\n reverse:function () {\n var action = new cc.SkewBy(this._duration, -this._skewX, -this._skewY);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n }\n});\n\n/**\n * !#en\n * Skews a Node object by skewX and skewY degrees.
\n * Relative to its property modification.\n * !#zh 偏斜指定的角度。\n * @method skewBy\n * @param {Number} t time in seconds\n * @param {Number} sx sx skew in degrees for X axis\n * @param {Number} sy sy skew in degrees for Y axis\n * @return {ActionInterval}\n * @example\n * // example\n * var actionBy = cc.skewBy(2, 0, -90);\n */\ncc.skewBy = function (t, sx, sy) {\n return new cc.SkewBy(t, sx, sy);\n};\n\n\n/*\n * Moves a Node object simulating a parabolic jump movement by modifying its position property.\n * Relative to its movement.\n * @class JumpBy\n * @extends ActionInterval\n * @param {Number} duration\n * @param {Vec2|Number} position\n * @param {Number} [y]\n * @param {Number} height\n * @param {Number} jumps\n * @example\n * var actionBy = new cc.JumpBy(2, cc.v2(300, 0), 50, 4);\n * var actionBy = new cc.JumpBy(2, 300, 0, 50, 4);\n */\ncc.JumpBy = cc.Class({\n name: 'cc.JumpBy',\n extends: cc.ActionInterval,\n\n ctor:function (duration, position, y, height, jumps) {\n this._startPosition = cc.v2(0, 0);\n this._previousPosition = cc.v2(0, 0);\n this._delta = cc.v2(0, 0);\n this._height = 0;\n this._jumps = 0;\n\n height !== undefined && cc.JumpBy.prototype.initWithDuration.call(this, duration, position, y, height, jumps);\n },\n /*\n * Initializes the action.\n * @param {Number} duration\n * @param {Vec2|Number} position\n * @param {Number} [y]\n * @param {Number} height\n * @param {Number} jumps\n * @return {Boolean}\n * @example\n * actionBy.initWithDuration(2, cc.v2(300, 0), 50, 4);\n * actionBy.initWithDuration(2, 300, 0, 50, 4);\n */\n initWithDuration:function (duration, position, y, height, jumps) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n\t if (jumps === undefined) {\n\t\t jumps = height;\n\t\t height = y;\n\t\t y = position.y;\n\t\t position = position.x;\n\t }\n this._delta.x = position;\n this._delta.y = y;\n this._height = height;\n this._jumps = jumps;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.JumpBy();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._delta, this._height, this._jumps);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n var locPosX = target.x;\n var locPosY = target.y;\n this._previousPosition.x = locPosX;\n this._previousPosition.y = locPosY;\n this._startPosition.x = locPosX;\n this._startPosition.y = locPosY;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this.target) {\n var frac = dt * this._jumps % 1.0;\n var y = this._height * 4 * frac * (1 - frac);\n y += this._delta.y * dt;\n\n var x = this._delta.x * dt;\n var locStartPosition = this._startPosition;\n if (cc.macro.ENABLE_STACKABLE_ACTIONS) {\n var targetX = this.target.x;\n var targetY = this.target.y;\n var locPreviousPosition = this._previousPosition;\n\n locStartPosition.x = locStartPosition.x + targetX - locPreviousPosition.x;\n locStartPosition.y = locStartPosition.y + targetY - locPreviousPosition.y;\n x = x + locStartPosition.x;\n y = y + locStartPosition.y;\n\t locPreviousPosition.x = x;\n\t locPreviousPosition.y = y;\n\t this.target.setPosition(x, y);\n } else {\n this.target.setPosition(locStartPosition.x + x, locStartPosition.y + y);\n }\n }\n },\n\n reverse:function () {\n var action = new cc.JumpBy(this._duration, cc.v2(-this._delta.x, -this._delta.y), this._height, this._jumps);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n }\n});\n\n/**\n * !#en\n * Moves a Node object simulating a parabolic jump movement by modifying it's position property.\n * Relative to its movement.\n * !#zh 用跳跃的方式移动指定的距离。\n * @method jumpBy\n * @param {Number} duration\n * @param {Vec2|Number} position\n * @param {Number} [y]\n * @param {Number} [height]\n * @param {Number} [jumps]\n * @return {ActionInterval}\n * @example\n * // example\n * var actionBy = cc.jumpBy(2, cc.v2(300, 0), 50, 4);\n * var actionBy = cc.jumpBy(2, 300, 0, 50, 4);\n */\ncc.jumpBy = function (duration, position, y, height, jumps) {\n return new cc.JumpBy(duration, position, y, height, jumps);\n};\n\n/*\n * Moves a Node object to a parabolic position simulating a jump movement by modifying it's position property.
\n * Jump to the specified location.\n * @class JumpTo\n * @extends JumpBy\n * @param {Number} duration\n * @param {Vec2|Number} position\n * @param {Number} [y]\n * @param {Number} [height]\n * @param {Number} [jumps]\n * @example\n * var actionTo = new cc.JumpTo(2, cc.v2(300, 0), 50, 4);\n * var actionTo = new cc.JumpTo(2, 300, 0, 50, 4);\n */\ncc.JumpTo = cc.Class({\n name: 'cc.JumpTo',\n extends: cc.JumpBy,\n\n ctor:function (duration, position, y, height, jumps) {\n this._endPosition = cc.v2(0, 0);\n height !== undefined && this.initWithDuration(duration, position, y, height, jumps);\n },\n /*\n * Initializes the action.\n * @param {Number} duration\n * @param {Vec2|Number} position\n * @param {Number} [y]\n * @param {Number} height\n * @param {Number} jumps\n * @return {Boolean}\n * @example\n * actionTo.initWithDuration(2, cc.v2(300, 0), 50, 4);\n * actionTo.initWithDuration(2, 300, 0, 50, 4);\n */\n initWithDuration:function (duration, position, y, height, jumps) {\n if (cc.JumpBy.prototype.initWithDuration.call(this, duration, position, y, height, jumps)) {\n if (jumps === undefined) {\n y = position.y;\n position = position.x;\n }\n this._endPosition.x = position;\n this._endPosition.y = y;\n return true;\n }\n return false;\n },\n\n startWithTarget:function (target) {\n cc.JumpBy.prototype.startWithTarget.call(this, target);\n this._delta.x = this._endPosition.x - this._startPosition.x;\n this._delta.y = this._endPosition.y - this._startPosition.y;\n },\n\n clone:function () {\n var action = new cc.JumpTo();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._endPosition, this._height, this._jumps);\n return action;\n }\n});\n\n/**\n * !#en\n * Moves a Node object to a parabolic position simulating a jump movement by modifying its position property.
\n * Jump to the specified location.\n * !#zh 用跳跃的方式移动到目标位置。\n * @method jumpTo\n * @param {Number} duration\n * @param {Vec2|Number} position\n * @param {Number} [y]\n * @param {Number} [height]\n * @param {Number} [jumps]\n * @return {ActionInterval}\n * @example\n * // example\n * var actionTo = cc.jumpTo(2, cc.v2(300, 300), 50, 4);\n * var actionTo = cc.jumpTo(2, 300, 300, 50, 4);\n */\ncc.jumpTo = function (duration, position, y, height, jumps) {\n return new cc.JumpTo(duration, position, y, height, jumps);\n};\n\n/* An action that moves the target with a cubic Bezier curve by a certain distance.\n * Relative to its movement.\n * @class BezierBy\n * @extends ActionInterval\n * @param {Number} t - time in seconds\n * @param {Vec2[]} c - Array of points\n * @example\n * var bezier = [cc.v2(0, windowSize.height / 2), cc.v2(300, -windowSize.height / 2), cc.v2(300, 100)];\n * var bezierForward = new cc.BezierBy(3, bezier);\n */\nfunction bezierAt (a, b, c, d, t) {\n return (Math.pow(1 - t, 3) * a +\n 3 * t * (Math.pow(1 - t, 2)) * b +\n 3 * Math.pow(t, 2) * (1 - t) * c +\n Math.pow(t, 3) * d );\n};\ncc.BezierBy = cc.Class({\n name: 'cc.BezierBy',\n extends: cc.ActionInterval,\n\n ctor:function (t, c) {\n this._config = [];\n this._startPosition = cc.v2(0, 0);\n this._previousPosition = cc.v2(0, 0);\n c && cc.BezierBy.prototype.initWithDuration.call(this, t, c);\n },\n\n /*\n * Initializes the action.\n * @param {Number} t - time in seconds\n * @param {Vec2[]} c - Array of points\n * @return {Boolean}\n */\n initWithDuration:function (t, c) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, t)) {\n this._config = c;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.BezierBy();\n this._cloneDecoration(action);\n var newConfigs = [];\n for (var i = 0; i < this._config.length; i++) {\n var selConf = this._config[i];\n newConfigs.push(cc.v2(selConf.x, selConf.y));\n }\n action.initWithDuration(this._duration, newConfigs);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n var locPosX = target.x;\n var locPosY = target.y;\n this._previousPosition.x = locPosX;\n this._previousPosition.y = locPosY;\n this._startPosition.x = locPosX;\n this._startPosition.y = locPosY;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this.target) {\n var locConfig = this._config;\n var xa = 0;\n var xb = locConfig[0].x;\n var xc = locConfig[1].x;\n var xd = locConfig[2].x;\n\n var ya = 0;\n var yb = locConfig[0].y;\n var yc = locConfig[1].y;\n var yd = locConfig[2].y;\n\n var x = bezierAt(xa, xb, xc, xd, dt);\n var y = bezierAt(ya, yb, yc, yd, dt);\n\n var locStartPosition = this._startPosition;\n if (cc.macro.ENABLE_STACKABLE_ACTIONS) {\n var targetX = this.target.x;\n var targetY = this.target.y;\n var locPreviousPosition = this._previousPosition;\n\n locStartPosition.x = locStartPosition.x + targetX - locPreviousPosition.x;\n locStartPosition.y = locStartPosition.y + targetY - locPreviousPosition.y;\n x = x + locStartPosition.x;\n y = y + locStartPosition.y;\n\t locPreviousPosition.x = x;\n\t locPreviousPosition.y = y;\n\t this.target.setPosition(x, y);\n } else {\n this.target.setPosition(locStartPosition.x + x, locStartPosition.y + y);\n }\n }\n },\n\n reverse:function () {\n var locConfig = this._config;\n var x0 = locConfig[0].x, y0 = locConfig[0].y;\n var x1 = locConfig[1].x, y1 = locConfig[1].y;\n var x2 = locConfig[2].x, y2 = locConfig[2].y;\n var r = [\n cc.v2(x1 - x2, y1 - y2),\n cc.v2(x0 - x2, y0 - y2),\n cc.v2(-x2, -y2) ];\n var action = new cc.BezierBy(this._duration, r);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n }\n});\n\n/**\n * !#en\n * An action that moves the target with a cubic Bezier curve by a certain distance.\n * Relative to its movement.\n * !#zh 按贝赛尔曲线轨迹移动指定的距离。\n * @method bezierBy\n * @param {Number} t - time in seconds\n * @param {Vec2[]} c - Array of points\n * @return {ActionInterval}\n * @example\n * // example\n * var bezier = [cc.v2(0, windowSize.height / 2), cc.v2(300, -windowSize.height / 2), cc.v2(300, 100)];\n * var bezierForward = cc.bezierBy(3, bezier);\n */\ncc.bezierBy = function (t, c) {\n return new cc.BezierBy(t, c);\n};\n\n\n/* An action that moves the target with a cubic Bezier curve to a destination point.\n * @class BezierTo\n * @extends BezierBy\n * @param {Number} t\n * @param {Vec2[]} c - Array of points\n * @example\n * var bezier = [cc.v2(0, windowSize.height / 2), cc.v2(300, -windowSize.height / 2), cc.v2(300, 100)];\n * var bezierTo = new cc.BezierTo(2, bezier);\n */\ncc.BezierTo = cc.Class({\n name: 'cc.BezierTo',\n extends: cc.BezierBy,\n\n ctor:function (t, c) {\n this._toConfig = [];\n\t\tc && this.initWithDuration(t, c);\n },\n\n /*\n * Initializes the action.\n * @param {Number} t time in seconds\n * @param {Vec2[]} c - Array of points\n * @return {Boolean}\n */\n initWithDuration:function (t, c) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, t)) {\n this._toConfig = c;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.BezierTo();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._toConfig);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.BezierBy.prototype.startWithTarget.call(this, target);\n var locStartPos = this._startPosition;\n var locToConfig = this._toConfig;\n var locConfig = this._config;\n\n locConfig[0] = locToConfig[0].sub(locStartPos);\n locConfig[1] = locToConfig[1].sub(locStartPos);\n locConfig[2] = locToConfig[2].sub(locStartPos);\n }\n});\n/**\n * !#en An action that moves the target with a cubic Bezier curve to a destination point.\n * !#zh 按贝赛尔曲线轨迹移动到目标位置。\n * @method bezierTo\n * @param {Number} t\n * @param {Vec2[]} c - Array of points\n * @return {ActionInterval}\n * @example\n * // example\n * var bezier = [cc.v2(0, windowSize.height / 2), cc.v2(300, -windowSize.height / 2), cc.v2(300, 100)];\n * var bezierTo = cc.bezierTo(2, bezier);\n */\ncc.bezierTo = function (t, c) {\n return new cc.BezierTo(t, c);\n};\n\n\n/* Scales a Node object to a zoom factor by modifying it's scale property.\n * @warning This action doesn't support \"reverse\"\n * @class ScaleTo\n * @extends ActionInterval\n * @param {Number} duration\n * @param {Number} sx scale parameter in X\n * @param {Number} [sy] scale parameter in Y, if Null equal to sx\n * @example\n * // It scales to 0.5 in both X and Y.\n * var actionTo = new cc.ScaleTo(2, 0.5);\n *\n * // It scales to 0.5 in x and 2 in Y\n * var actionTo = new cc.ScaleTo(2, 0.5, 2);\n */\ncc.ScaleTo = cc.Class({\n name: 'cc.ScaleTo',\n extends: cc.ActionInterval,\n\n ctor:function (duration, sx, sy) {\n this._scaleX = 1;\n this._scaleY = 1;\n this._startScaleX = 1;\n this._startScaleY = 1;\n this._endScaleX = 0;\n this._endScaleY = 0;\n this._deltaX = 0;\n this._deltaY = 0;\n sx !== undefined && cc.ScaleTo.prototype.initWithDuration.call(this, duration, sx, sy);\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration\n * @param {Number} sx\n * @param {Number} [sy=]\n * @return {Boolean}\n */\n initWithDuration:function (duration, sx, sy) { //function overload here\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n this._endScaleX = sx;\n this._endScaleY = (sy != null) ? sy : sx;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.ScaleTo();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._endScaleX, this._endScaleY);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._startScaleX = target.scaleX;\n this._startScaleY = target.scaleY;\n this._deltaX = this._endScaleX - this._startScaleX;\n this._deltaY = this._endScaleY - this._startScaleY;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this.target) {\n this.target.scaleX = this._startScaleX + this._deltaX * dt;\n\t this.target.scaleY = this._startScaleY + this._deltaY * dt;\n }\n }\n});\n/**\n * !#en Scales a Node object to a zoom factor by modifying it's scale property.\n * !#zh 将节点大小缩放到指定的倍数。\n * @method scaleTo\n * @param {Number} duration\n * @param {Number} sx scale parameter in X\n * @param {Number} [sy] scale parameter in Y, if Null equal to sx\n * @return {ActionInterval}\n * @example\n * // example\n * // It scales to 0.5 in both X and Y.\n * var actionTo = cc.scaleTo(2, 0.5);\n *\n * // It scales to 0.5 in x and 2 in Y\n * var actionTo = cc.scaleTo(2, 0.5, 2);\n */\ncc.scaleTo = function (duration, sx, sy) { //function overload\n return new cc.ScaleTo(duration, sx, sy);\n};\n\n\n/* Scales a Node object a zoom factor by modifying it's scale property.\n * Relative to its changes.\n * @class ScaleBy\n * @extends ScaleTo\n */\ncc.ScaleBy = cc.Class({\n name: 'cc.ScaleBy',\n extends: cc.ScaleTo,\n\n startWithTarget:function (target) {\n cc.ScaleTo.prototype.startWithTarget.call(this, target);\n this._deltaX = this._startScaleX * this._endScaleX - this._startScaleX;\n this._deltaY = this._startScaleY * this._endScaleY - this._startScaleY;\n },\n\n reverse:function () {\n var action = new cc.ScaleBy(this._duration, 1 / this._endScaleX, 1 / this._endScaleY);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n },\n\n clone:function () {\n var action = new cc.ScaleBy();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._endScaleX, this._endScaleY);\n return action;\n }\n});\n/**\n * !#en\n * Scales a Node object a zoom factor by modifying it's scale property.\n * Relative to its changes.\n * !#zh 按指定的倍数缩放节点大小。\n * @method scaleBy\n * @param {Number} duration duration in seconds\n * @param {Number} sx sx scale parameter in X\n * @param {Number|Null} [sy=] sy scale parameter in Y, if Null equal to sx\n * @return {ActionInterval}\n * @example\n * // example without sy, it scales by 2 both in X and Y\n * var actionBy = cc.scaleBy(2, 2);\n *\n * //example with sy, it scales by 0.25 in X and 4.5 in Y\n * var actionBy2 = cc.scaleBy(2, 0.25, 4.5);\n */\ncc.scaleBy = function (duration, sx, sy) {\n return new cc.ScaleBy(duration, sx, sy);\n};\n\n/* Blinks a Node object by modifying it's visible property\n * @class Blink\n * @extends ActionInterval\n * @param {Number} duration duration in seconds\n * @param {Number} blinks blinks in times\n * @example\n * var action = new cc.Blink(2, 10);\n */\ncc.Blink = cc.Class({\n name: 'cc.Blink',\n extends: cc.ActionInterval,\n\n ctor:function (duration, blinks) {\n this._times = 0;\n this._originalState = false;\n\t\tblinks !== undefined && this.initWithDuration(duration, blinks);\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration duration in seconds\n * @param {Number} blinks blinks in times\n * @return {Boolean}\n */\n initWithDuration:function (duration, blinks) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n this._times = blinks;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.Blink();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._times);\n return action;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this.target && !this.isDone()) {\n var slice = 1.0 / this._times;\n var m = dt % slice;\n this.target.opacity = (m > (slice / 2)) ? 255 : 0;\n }\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._originalState = target.opacity;\n },\n\n stop:function () {\n this.target.opacity = this._originalState;\n cc.ActionInterval.prototype.stop.call(this);\n },\n\n reverse:function () {\n var action = new cc.Blink(this._duration, this._times);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n }\n});\n/**\n * !#en Blinks a Node object by modifying it's visible property.\n * !#zh 闪烁(基于透明度)。\n * @method blink\n * @param {Number} duration duration in seconds\n * @param {Number} blinks blinks in times\n * @return {ActionInterval}\n * @example\n * // example\n * var action = cc.blink(2, 10);\n */\ncc.blink = function (duration, blinks) {\n return new cc.Blink(duration, blinks);\n};\n\n/* Fades an object that implements the cc.RGBAProtocol protocol. It modifies the opacity from the current value to a custom one.\n * @warning This action doesn't support \"reverse\"\n * @class FadeTo\n * @extends ActionInterval\n * @param {Number} duration\n * @param {Number} opacity 0-255, 0 is transparent\n * @example\n * var action = new cc.FadeTo(1.0, 0);\n */\ncc.FadeTo = cc.Class({\n name: 'cc.FadeTo',\n extends: cc.ActionInterval,\n\n ctor:function (duration, opacity) {\n this._toOpacity = 0;\n this._fromOpacity = 0;\n opacity !== undefined && cc.FadeTo.prototype.initWithDuration.call(this, duration, opacity);\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration duration in seconds\n * @param {Number} opacity\n * @return {Boolean}\n */\n initWithDuration:function (duration, opacity) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n this._toOpacity = opacity;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.FadeTo();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._toOpacity);\n return action;\n },\n\n update:function (time) {\n time = this._computeEaseTime(time);\n var fromOpacity = this._fromOpacity !== undefined ? this._fromOpacity : 255;\n this.target.opacity = fromOpacity + (this._toOpacity - fromOpacity) * time;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._fromOpacity = target.opacity;\n }\n});\n\n/**\n * !#en\n * Fades an object that implements the cc.RGBAProtocol protocol.\n * It modifies the opacity from the current value to a custom one.\n * !#zh 修改透明度到指定值。\n * @method fadeTo\n * @param {Number} duration\n * @param {Number} opacity 0-255, 0 is transparent\n * @return {ActionInterval}\n * @example\n * // example\n * var action = cc.fadeTo(1.0, 0);\n */\ncc.fadeTo = function (duration, opacity) {\n return new cc.FadeTo(duration, opacity);\n};\n\n/* Fades In an object that implements the cc.RGBAProtocol protocol. It modifies the opacity from 0 to 255.
\n * The \"reverse\" of this action is FadeOut\n * @class FadeIn\n * @extends FadeTo\n * @param {Number} duration duration in seconds\n */\ncc.FadeIn = cc.Class({\n name: 'cc.FadeIn',\n extends: cc.FadeTo,\n\n ctor:function (duration) {\n if (duration == null)\n duration = 0;\n this._reverseAction = null;\n this.initWithDuration(duration, 255);\n },\n\n reverse:function () {\n var action = new cc.FadeOut();\n action.initWithDuration(this._duration, 0);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n },\n\n clone:function () {\n var action = new cc.FadeIn();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._toOpacity);\n return action;\n },\n\n startWithTarget:function (target) {\n if(this._reverseAction)\n this._toOpacity = this._reverseAction._fromOpacity;\n cc.FadeTo.prototype.startWithTarget.call(this, target);\n }\n});\n\n/**\n * !#en Fades In an object that implements the cc.RGBAProtocol protocol. It modifies the opacity from 0 to 255.\n * !#zh 渐显效果。\n * @method fadeIn\n * @param {Number} duration duration in seconds\n * @return {ActionInterval}\n * @example\n * //example\n * var action = cc.fadeIn(1.0);\n */\ncc.fadeIn = function (duration) {\n return new cc.FadeIn(duration);\n};\n\n\n/* Fades Out an object that implements the cc.RGBAProtocol protocol. It modifies the opacity from 255 to 0.\n * The \"reverse\" of this action is FadeIn\n * @class FadeOut\n * @extends FadeTo\n * @param {Number} duration duration in seconds\n */\ncc.FadeOut = cc.Class({\n name: 'cc.FadeOut',\n extends: cc.FadeTo,\n\n ctor:function (duration) {\n if (duration == null)\n duration = 0;\n this._reverseAction = null;\n this.initWithDuration(duration, 0);\n },\n\n reverse:function () {\n var action = new cc.FadeIn();\n action._reverseAction = this;\n action.initWithDuration(this._duration, 255);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n },\n\n clone:function () {\n var action = new cc.FadeOut();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._toOpacity);\n return action;\n }\n});\n\n/**\n * !#en Fades Out an object that implements the cc.RGBAProtocol protocol. It modifies the opacity from 255 to 0.\n * !#zh 渐隐效果。\n * @method fadeOut\n * @param {Number} d duration in seconds\n * @return {ActionInterval}\n * @example\n * // example\n * var action = cc.fadeOut(1.0);\n */\ncc.fadeOut = function (d) {\n return new cc.FadeOut(d);\n};\n\n/* Tints a Node that implements the cc.NodeRGB protocol from current tint to a custom one.\n * @warning This action doesn't support \"reverse\"\n * @class TintTo\n * @extends ActionInterval\n * @param {Number} duration\n * @param {Number} red 0-255\n * @param {Number} green 0-255\n * @param {Number} blue 0-255\n * @example\n * var action = new cc.TintTo(2, 255, 0, 255);\n */\ncc.TintTo = cc.Class({\n name: 'cc.TintTo',\n extends: cc.ActionInterval,\n\n ctor:function (duration, red, green, blue) {\n this._to = cc.color(0, 0, 0);\n this._from = cc.color(0, 0, 0);\n\n if (red instanceof cc.Color) {\n blue = red.b;\n green = red.g;\n red = red.r;\n }\n\n blue !== undefined && this.initWithDuration(duration, red, green, blue);\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration\n * @param {Number} red 0-255\n * @param {Number} green 0-255\n * @param {Number} blue 0-255\n * @return {Boolean}\n */\n initWithDuration:function (duration, red, green, blue) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n this._to = cc.color(red, green, blue);\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.TintTo();\n this._cloneDecoration(action);\n var locTo = this._to;\n action.initWithDuration(this._duration, locTo.r, locTo.g, locTo.b);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n\n this._from = this.target.color;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n var locFrom = this._from, locTo = this._to;\n if (locFrom) {\n this.target.color = cc.color(\n locFrom.r + (locTo.r - locFrom.r) * dt,\n locFrom.g + (locTo.g - locFrom.g) * dt,\n locFrom.b + (locTo.b - locFrom.b) * dt);\n }\n }\n});\n\n/**\n * !#en Tints a Node that implements the cc.NodeRGB protocol from current tint to a custom one.\n * !#zh 修改颜色到指定值。\n * @method tintTo\n * @param {Number} duration\n * @param {Number} red 0-255\n * @param {Number} green 0-255\n * @param {Number} blue 0-255\n * @return {ActionInterval}\n * @example\n * // example\n * var action = cc.tintTo(2, 255, 0, 255);\n */\ncc.tintTo = function (duration, red, green, blue) {\n return new cc.TintTo(duration, red, green, blue);\n};\n\n\n/* Tints a Node that implements the cc.NodeRGB protocol from current tint to a custom one.\n * Relative to their own color change.\n * @class TintBy\n * @extends ActionInterval\n * @param {Number} duration duration in seconds\n * @param {Number} deltaRed\n * @param {Number} deltaGreen\n * @param {Number} deltaBlue\n * @example\n * var action = new cc.TintBy(2, -127, -255, -127);\n */\ncc.TintBy = cc.Class({\n name: 'cc.TintBy',\n extends: cc.ActionInterval,\n\n ctor:function (duration, deltaRed, deltaGreen, deltaBlue) {\n this._deltaR = 0;\n this._deltaG = 0;\n this._deltaB = 0;\n this._fromR = 0;\n this._fromG = 0;\n this._fromB = 0;\n\t\tdeltaBlue !== undefined && this.initWithDuration(duration, deltaRed, deltaGreen, deltaBlue);\n },\n\n /*\n * Initializes the action.\n * @param {Number} duration\n * @param {Number} deltaRed 0-255\n * @param {Number} deltaGreen 0-255\n * @param {Number} deltaBlue 0-255\n * @return {Boolean}\n */\n initWithDuration:function (duration, deltaRed, deltaGreen, deltaBlue) {\n if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) {\n this._deltaR = deltaRed;\n this._deltaG = deltaGreen;\n this._deltaB = deltaBlue;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.TintBy();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration, this._deltaR, this._deltaG, this._deltaB);\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n\n var color = target.color;\n this._fromR = color.r;\n this._fromG = color.g;\n this._fromB = color.b;\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n\n this.target.color = cc.color(this._fromR + this._deltaR * dt,\n this._fromG + this._deltaG * dt,\n this._fromB + this._deltaB * dt);\n },\n\n reverse:function () {\n var action = new cc.TintBy(this._duration, -this._deltaR, -this._deltaG, -this._deltaB);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n }\n});\n\n/**\n * !#en\n * Tints a Node that implements the cc.NodeRGB protocol from current tint to a custom one.\n * Relative to their own color change.\n * !#zh 按照指定的增量修改颜色。\n * @method tintBy\n * @param {Number} duration duration in seconds\n * @param {Number} deltaRed\n * @param {Number} deltaGreen\n * @param {Number} deltaBlue\n * @return {ActionInterval}\n * @example\n * // example\n * var action = cc.tintBy(2, -127, -255, -127);\n */\ncc.tintBy = function (duration, deltaRed, deltaGreen, deltaBlue) {\n return new cc.TintBy(duration, deltaRed, deltaGreen, deltaBlue);\n};\n\n/* Delays the action a certain amount of seconds\n * @class DelayTime\n * @extends ActionInterval\n */\ncc.DelayTime = cc.Class({\n name: 'cc.DelayTime',\n extends: cc.ActionInterval,\n\n update:function (dt) {},\n\n reverse:function () {\n var action = new cc.DelayTime(this._duration);\n this._cloneDecoration(action);\n this._reverseEaseList(action);\n return action;\n },\n\n clone:function () {\n var action = new cc.DelayTime();\n this._cloneDecoration(action);\n action.initWithDuration(this._duration);\n return action;\n }\n});\n\n/**\n * !#en Delays the action a certain amount of seconds.\n * !#zh 延迟指定的时间量。\n * @method delayTime\n * @param {Number} d duration in seconds\n * @return {ActionInterval}\n * @example\n * // example\n * var delay = cc.delayTime(1);\n */\ncc.delayTime = function (d) {\n return new cc.DelayTime(d);\n};\n\n/*\n *

\n * Executes an action in reverse order, from time=duration to time=0
\n * @warning Use this action carefully. This action is not sequenceable.
\n * Use it as the default \"reversed\" method of your own actions, but using it outside the \"reversed\"
\n * scope is not recommended.\n *

\n * @class ReverseTime\n * @extends ActionInterval\n * @param {FiniteTimeAction} action\n * @example\n * var reverse = new cc.ReverseTime(this);\n */\ncc.ReverseTime = cc.Class({\n name: 'cc.ReverseTime',\n extends: cc.ActionInterval,\n\n ctor:function (action) {\n this._other = null;\n\t\taction && this.initWithAction(action);\n },\n\n /*\n * @param {FiniteTimeAction} action\n * @return {Boolean}\n */\n initWithAction:function (action) {\n if (!action) {\n cc.errorID(1028);\n return false;\n }\n if (action === this._other) {\n cc.errorID(1029);\n return false;\n }\n\n if (cc.ActionInterval.prototype.initWithDuration.call(this, action._duration)) {\n // Don't leak if action is reused\n this._other = action;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.ReverseTime();\n this._cloneDecoration(action);\n action.initWithAction(this._other.clone());\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._other.startWithTarget(target);\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n if (this._other)\n this._other.update(1 - dt);\n },\n\n reverse:function () {\n return this._other.clone();\n },\n\n stop:function () {\n this._other.stop();\n cc.Action.prototype.stop.call(this);\n }\n});\n\n/**\n * !#en Executes an action in reverse order, from time=duration to time=0.\n * !#zh 反转目标动作的时间轴。\n * @method reverseTime\n * @param {FiniteTimeAction} action\n * @return {ActionInterval}\n * @example\n * // example\n * var reverse = cc.reverseTime(this);\n */\ncc.reverseTime = function (action) {\n return new cc.ReverseTime(action);\n};\n\n/*\n *

\n * Overrides the target of an action so that it always runs on the target
\n * specified at action creation rather than the one specified by runAction.\n *

\n * @class TargetedAction\n * @extends ActionInterval\n * @param {Node} target\n * @param {FiniteTimeAction} action\n */\ncc.TargetedAction = cc.Class({\n name: 'cc.TargetedAction',\n extends: cc.ActionInterval,\n\n ctor: function (target, action) {\n this._action = null;\n this._forcedTarget = null;\n\t\taction && this.initWithTarget(target, action);\n },\n\n /*\n * Init an action with the specified action and forced target\n * @param {Node} target\n * @param {FiniteTimeAction} action\n * @return {Boolean}\n */\n initWithTarget:function (target, action) {\n if (this.initWithDuration(action._duration)) {\n this._forcedTarget = target;\n this._action = action;\n return true;\n }\n return false;\n },\n\n clone:function () {\n var action = new cc.TargetedAction();\n this._cloneDecoration(action);\n action.initWithTarget(this._forcedTarget, this._action.clone());\n return action;\n },\n\n startWithTarget:function (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n this._action.startWithTarget(this._forcedTarget);\n },\n\n stop:function () {\n this._action.stop();\n },\n\n update:function (dt) {\n dt = this._computeEaseTime(dt);\n this._action.update(dt);\n },\n\n /*\n * return the target that the action will be forced to run with\n * @return {Node}\n */\n getForcedTarget:function () {\n return this._forcedTarget;\n },\n\n /*\n * set the target that the action will be forced to run with\n * @param {Node} forcedTarget\n */\n setForcedTarget:function (forcedTarget) {\n if (this._forcedTarget !== forcedTarget)\n this._forcedTarget = forcedTarget;\n }\n});\n\n/**\n * !#en Create an action with the specified action and forced target.\n * !#zh 用已有动作和一个新的目标节点创建动作。\n * @method targetedAction\n * @param {Node} target\n * @param {FiniteTimeAction} action\n * @return {ActionInterval}\n */\ncc.targetedAction = function (target, action) {\n return new cc.TargetedAction(target, action);\n};\n","/****************************************************************************\n Copyright (c) 2008-2010 Ricardo Quesada\n Copyright (c) 2011-2012 cocos2d-x.org\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n http://www.cocos2d-x.org\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nrequire('../core/platform/CCClass');\nvar js = require('../core/platform/js');\n\n/*\n * @class HashElement\n * @constructor\n * @private\n */\nvar HashElement = function () {\n this.actions = [];\n this.target = null; //ccobject\n this.actionIndex = 0;\n this.currentAction = null; //CCAction\n this.paused = false;\n this.lock = false;\n};\n\n/**\n * !#en\n * cc.ActionManager is a class that can manage actions.
\n * Normally you won't need to use this class directly. 99% of the cases you will use the CCNode interface,\n * which uses this class's singleton object.\n * But there are some cases where you might need to use this class.
\n * Examples:
\n * - When you want to run an action where the target is different from a CCNode.
\n * - When you want to pause / resume the actions
\n * !#zh\n * cc.ActionManager 是可以管理动作的单例类。
\n * 通常你并不需要直接使用这个类,99%的情况您将使用 CCNode 的接口。
\n * 但也有一些情况下,您可能需要使用这个类。
\n * 例如:\n * - 当你想要运行一个动作,但目标不是 CCNode 类型时。
\n * - 当你想要暂停/恢复动作时。
\n * @class ActionManager\n * @example {@link cocos2d/core/CCActionManager/ActionManager.js}\n */\ncc.ActionManager = function () {\n this._hashTargets = js.createMap(true);\n this._arrayTargets = [];\n this._currentTarget = null;\n cc.director._scheduler && cc.director._scheduler.enableForTarget(this);\n};\ncc.ActionManager.prototype = {\n constructor: cc.ActionManager,\n _elementPool: [],\n\n _searchElementByTarget: function (arr, target) {\n for (var k = 0; k < arr.length; k++) {\n if (target === arr[k].target)\n return arr[k];\n }\n return null;\n },\n\n _getElement: function (target, paused) {\n var element = this._elementPool.pop();\n if (!element) {\n element = new HashElement();\n }\n element.target = target;\n element.paused = !!paused;\n return element;\n },\n\n _putElement: function (element) {\n element.actions.length = 0;\n element.actionIndex = 0;\n element.currentAction = null;\n element.paused = false;\n element.target = null;\n element.lock = false;\n this._elementPool.push(element);\n },\n\n /**\n * !#en\n * Adds an action with a target.
\n * If the target is already present, then the action will be added to the existing target.\n * If the target is not present, a new instance of this target will be created either paused or not, and the action will be added to the newly created target.\n * When the target is paused, the queued actions won't be 'ticked'.\n * !#zh\n * 增加一个动作,同时还需要提供动作的目标对象,目标对象是否暂停作为参数。
\n * 如果目标已存在,动作将会被直接添加到现有的节点中。
\n * 如果目标不存在,将为这一目标创建一个新的实例,并将动作添加进去。
\n * 当目标状态的 paused 为 true,动作将不会被执行\n *\n * @method addAction\n * @param {Action} action\n * @param {Node} target\n * @param {Boolean} paused\n */\n addAction: function (action, target, paused) {\n if (!action || !target) {\n cc.errorID(1000);\n return;\n }\n\n //check if the action target already exists\n var element = this._hashTargets[target._id];\n //if doesn't exists, create a hashelement and push in mpTargets\n if (!element) {\n element = this._getElement(target, paused);\n this._hashTargets[target._id] = element;\n this._arrayTargets.push(element);\n }\n else if (!element.actions) {\n element.actions = [];\n }\n\n element.actions.push(action);\n action.startWithTarget(target);\n },\n\n /**\n * !#en Removes all actions from all the targets.\n * !#zh 移除所有对象的所有动作。\n * @method removeAllActions\n */\n removeAllActions: function () {\n var locTargets = this._arrayTargets;\n for (var i = 0; i < locTargets.length; i++) {\n var element = locTargets[i];\n if (element)\n this._putElement(element);\n }\n this._arrayTargets.length = 0;\n this._hashTargets = js.createMap(true);\n },\n /**\n * !#en\n * Removes all actions from a certain target.
\n * All the actions that belongs to the target will be removed.\n * !#zh\n * 移除指定对象上的所有动作。
\n * 属于该目标的所有的动作将被删除。\n * @method removeAllActionsFromTarget\n * @param {Node} target\n * @param {Boolean} forceDelete\n */\n removeAllActionsFromTarget: function (target, forceDelete) {\n // explicit null handling\n if (target == null)\n return;\n var element = this._hashTargets[target._id];\n if (element) {\n element.actions.length = 0;\n this._deleteHashElement(element);\n }\n },\n /**\n * !#en Removes an action given an action reference.\n * !#zh 移除指定的动作。\n * @method removeAction \n * @param {Action} action\n */\n removeAction: function (action) {\n // explicit null handling\n if (!action) {\n return;\n }\n var target = action.getOriginalTarget();\n var element = this._hashTargets[target._id];\n\n if (!element) {\n return;\n }\n\n for (var i = 0; i < element.actions.length; i++) {\n if (element.actions[i] === action) {\n element.actions.splice(i, 1);\n // update actionIndex in case we are in tick. looping over the actions\n if (element.actionIndex >= i)\n element.actionIndex--;\n break;\n }\n }\n },\n\n /**\n * @internal\n */\n _removeActionByTag (tag, element, target) {\n for (var i = 0, l = element.actions.length; i < l; ++i) {\n var action = element.actions[i];\n if (action && action.getTag() === tag) {\n if (target && action.getOriginalTarget() !== target) {\n continue;\n }\n this._removeActionAtIndex(i, element);\n break;\n }\n }\n },\n\n /**\n * @internal\n */\n _removeAllActionsByTag (tag, element, target) {\n for (var i = element.actions.length - 1; i >= 0; --i) {\n var action = element.actions[i];\n if (action && action.getTag() === tag) {\n if (target && action.getOriginalTarget() !== target) {\n continue;\n }\n this._removeActionAtIndex(i, element);\n }\n }\n },\n\n /**\n * !#en Removes an action given its tag and the target.\n * !#zh 删除指定对象下特定标签的一个动作,将删除首个匹配到的动作。\n * @method removeActionByTag\n * @param {Number} tag\n * @param {Node} [target]\n */\n removeActionByTag: function (tag, target) {\n if(tag === cc.Action.TAG_INVALID)\n cc.logID(1002);\n\n let hashTargets = this._hashTargets;\n if (target) {\n var element = hashTargets[target._id];\n if (element) {\n this._removeActionByTag(tag, element, target);\n }\n }\n else {\n for (let name in hashTargets) {\n let element = hashTargets[name];\n this._removeActionByTag(tag, element);\n }\n }\n },\n\n /**\n * !#en Removes all actions given the tag and the target.\n * !#zh 删除指定对象下特定标签的所有动作。\n * @method removeAllActionsByTag\n * @param {Number} tag\n * @param {Node} [target]\n */\n removeAllActionsByTag: function (tag, target) {\n if (tag === cc.Action.TAG_INVALID)\n cc.logID(1002);\n\n let hashTargets = this._hashTargets;\n if (target) {\n var element = hashTargets[target._id];\n if (element) {\n this._removeAllActionsByTag(tag, element, target);\n }\n }\n else {\n for (let name in hashTargets) {\n let element = hashTargets[name];\n this._removeAllActionsByTag(tag, element);\n }\n }\n },\n\n /**\n * !#en Gets an action given its tag an a target.\n * !#zh 通过目标对象和标签获取一个动作。\n * @method getActionByTag\n * @param {Number} tag\n * @param {Node} target\n * @return {Action|Null} return the Action with the given tag on success\n */\n getActionByTag: function (tag, target) {\n if(tag === cc.Action.TAG_INVALID)\n cc.logID(1004);\n\n var element = this._hashTargets[target._id];\n if (element) {\n if (element.actions != null) {\n for (var i = 0; i < element.actions.length; ++i) {\n var action = element.actions[i];\n if (action && action.getTag() === tag)\n return action;\n }\n }\n cc.logID(1005, tag);\n }\n return null;\n },\n\n\n /**\n * !#en\n * Returns the numbers of actions that are running in a certain target.
\n * Composable actions are counted as 1 action.
\n * Example:
\n * - If you are running 1 Sequence of 7 actions, it will return 1.
\n * - If you are running 7 Sequences of 2 actions, it will return 7.\n * !#zh\n * 返回指定对象下所有正在运行的动作数量。
\n * 组合动作被算作一个动作。
\n * 例如:
\n * - 如果您正在运行 7 个动作组成的序列动作(Sequence),这个函数将返回 1。
\n * - 如果你正在运行 2 个序列动作(Sequence)和 5 个普通动作,这个函数将返回 7。
\n *\n * @method getNumberOfRunningActionsInTarget\n * @param {Node} target\n * @return {Number}\n */\n getNumberOfRunningActionsInTarget: function (target) {\n var element = this._hashTargets[target._id];\n if (element)\n return (element.actions) ? element.actions.length : 0;\n\n return 0;\n },\n /**\n * !#en Pauses the target: all running actions and newly added actions will be paused.\n * !#zh 暂停指定对象:所有正在运行的动作和新添加的动作都将会暂停。\n * @method pauseTarget\n * @param {Node} target\n */\n pauseTarget: function (target) {\n var element = this._hashTargets[target._id];\n if (element)\n element.paused = true;\n },\n /**\n * !#en Resumes the target. All queued actions will be resumed.\n * !#zh 让指定目标恢复运行。在执行序列中所有被暂停的动作将重新恢复运行。\n * @method resumeTarget\n * @param {Node} target\n */\n resumeTarget: function (target) {\n var element = this._hashTargets[target._id];\n if (element)\n element.paused = false;\n },\n\n /**\n * !#en Pauses all running actions, returning a list of targets whose actions were paused.\n * !#zh 暂停所有正在运行的动作,返回一个包含了那些动作被暂停了的目标对象的列表。\n * @method pauseAllRunningActions\n * @return {Array} a list of targets whose actions were paused.\n */\n pauseAllRunningActions: function () {\n var idsWithActions = [];\n var locTargets = this._arrayTargets;\n for(var i = 0; i < locTargets.length; i++){\n var element = locTargets[i];\n if(element && !element.paused){\n element.paused = true;\n idsWithActions.push(element.target);\n }\n }\n return idsWithActions;\n },\n\n /**\n * !#en Resume a set of targets (convenience function to reverse a pauseAllRunningActions or pauseTargets call).\n * !#zh 让一组指定对象恢复运行(用来逆转 pauseAllRunningActions 效果的便捷函数)。\n * @method resumeTargets\n * @param {Array} targetsToResume\n */\n resumeTargets: function (targetsToResume) {\n if (!targetsToResume)\n return;\n\n for (var i = 0; i < targetsToResume.length; i++) {\n if(targetsToResume[i])\n this.resumeTarget(targetsToResume[i]);\n }\n },\n\n /**\n * !#en Pause a set of targets.\n * !#zh 暂停一组指定对象。\n * @method pauseTargets\n * @param {Array} targetsToPause\n */\n pauseTargets: function (targetsToPause) {\n if (!targetsToPause)\n return;\n\n for (var i = 0; i < targetsToPause.length; i++) {\n if (targetsToPause[i])\n this.pauseTarget(targetsToPause[i]);\n }\n },\n\n /**\n * !#en\n * purges the shared action manager. It releases the retained instance.
\n * because it uses this, so it can not be static.\n * !#zh\n * 清除共用的动作管理器。它释放了持有的实例。
\n * 因为它使用 this,因此它不能是静态的。\n * @method purgeSharedManager\n */\n purgeSharedManager: function () {\n cc.director.getScheduler().unscheduleUpdate(this);\n },\n\n //protected\n _removeActionAtIndex: function (index, element) {\n var action = element.actions[index];\n\n element.actions.splice(index, 1);\n\n // update actionIndex in case we are in tick. looping over the actions\n if (element.actionIndex >= index)\n element.actionIndex--;\n\n if (element.actions.length === 0) {\n this._deleteHashElement(element);\n }\n },\n\n _deleteHashElement: function (element) {\n var ret = false;\n if (element && !element.lock) {\n if (this._hashTargets[element.target._id]) {\n delete this._hashTargets[element.target._id];\n var targets = this._arrayTargets;\n for (var i = 0, l = targets.length; i < l; i++) {\n if (targets[i] === element) {\n targets.splice(i, 1);\n break;\n }\n }\n this._putElement(element);\n ret = true;\n }\n }\n return ret;\n },\n\n /**\n * !#en The ActionManager update。\n * !#zh ActionManager 主循环。\n * @method update\n * @param {Number} dt delta time in seconds\n */\n update: function (dt) {\n var locTargets = this._arrayTargets , locCurrTarget;\n for (var elt = 0; elt < locTargets.length; elt++) {\n this._currentTarget = locTargets[elt];\n locCurrTarget = this._currentTarget;\n if (!locCurrTarget.paused && locCurrTarget.actions) {\n locCurrTarget.lock = true;\n // The 'actions' CCMutableArray may change while inside this loop.\n for (locCurrTarget.actionIndex = 0; locCurrTarget.actionIndex < locCurrTarget.actions.length; locCurrTarget.actionIndex++) {\n locCurrTarget.currentAction = locCurrTarget.actions[locCurrTarget.actionIndex];\n if (!locCurrTarget.currentAction)\n continue;\n\n //use for speed\n locCurrTarget.currentAction.step(dt * ( locCurrTarget.currentAction._speedMethod ? locCurrTarget.currentAction._speed : 1 ) );\n \n if (locCurrTarget.currentAction && locCurrTarget.currentAction.isDone()) {\n locCurrTarget.currentAction.stop();\n var action = locCurrTarget.currentAction;\n // Make currentAction nil to prevent removeAction from salvaging it.\n locCurrTarget.currentAction = null;\n this.removeAction(action);\n }\n\n locCurrTarget.currentAction = null;\n }\n locCurrTarget.lock = false;\n }\n // only delete currentTarget if no actions were scheduled during the cycle (issue #481)\n if (locCurrTarget.actions.length === 0) {\n this._deleteHashElement(locCurrTarget) && elt--;\n }\n }\n }\n};\n\nif (CC_TEST) {\n cc.ActionManager.prototype.isTargetPaused_TEST = function (target) {\n var element = this._hashTargets[target._id];\n return element.paused;\n };\n}\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nrequire('./CCActionManager');\nrequire('./CCAction');\nrequire('./CCActionInterval');\nrequire('./CCActionInstant');\nrequire('./CCActionEase');\nrequire('./CCActionCatmullRom');\nrequire('./tween');\n","import { bezier } from '../animation/bezier';\n\nlet _tweenID = 0;\n\nlet TweenAction = cc.Class({\n name: 'cc.TweenAction',\n extends: cc.ActionInterval,\n\n ctor (duration, props, opts) {\n this._opts = opts = opts || Object.create(null);\n this._props = Object.create(null);\n\n // global easing or progress used for this action\n opts.progress = opts.progress || this.progress;\n if (opts.easing && typeof opts.easing === 'string') {\n let easingName = opts.easing;\n opts.easing = cc.easing[easingName];\n !opts.easing && cc.warnID(1031, easingName);\n }\n\n let relative = this._opts.relative;\n\n for (let name in props) {\n let value = props[name];\n\n // property may have custom easing or progress function\n let easing, progress;\n if (value.value !== undefined && (value.easing || value.progress)) {\n if (typeof value.easing === 'string') {\n easing = cc.easing[value.easing];\n !easing && cc.warnID(1031, value.easing);\n }\n else {\n easing = value.easing;\n }\n progress = value.progress;\n value = value.value;\n }\n\n let isNumber = typeof value === 'number';\n if (!isNumber && (!value.lerp || (relative && !value.add && !value.mul) || !value.clone)) {\n cc.warn(`Can not animate ${name} property, because it do not have [lerp, (add|mul), clone] function.`);\n continue;\n }\n\n let prop = Object.create(null);\n prop.value = value;\n prop.easing = easing;\n prop.progress = progress;\n this._props[name] = prop;\n }\n\n this._originProps = props;\n this.initWithDuration(duration);\n },\n\n clone () {\n var action = new TweenAction(this._duration, this._originProps, this._opts);\n this._cloneDecoration(action);\n return action;\n },\n\n startWithTarget (target) {\n cc.ActionInterval.prototype.startWithTarget.call(this, target);\n\n let relative = !!this._opts.relative;\n let props = this._props;\n for (let name in props) {\n let value = target[name];\n let prop = props[name];\n\n if (typeof value === 'number') {\n prop.start = value;\n prop.current = value;\n prop.end = relative ? value + prop.value : prop.value;\n }\n else {\n prop.start = value.clone();\n prop.current = value.clone();\n prop.end = relative ? (value.add || value.mul).call(value, prop.value) : prop.value;\n }\n }\n },\n\n update (t) {\n let opts = this._opts;\n let easingTime = t;\n if (opts.easing) easingTime = opts.easing(t);\n\n let target = this.target;\n if (!target) return;\n\n let props = this._props;\n let progress = opts.progress;\n for (let name in props) {\n let prop = props[name];\n let time = prop.easing ? prop.easing(t) : easingTime;\n let current = prop.current = (prop.progress || progress)(prop.start, prop.end, prop.current, time);\n target[name] = current;\n }\n\n let onUpdate = opts.onUpdate;\n if (onUpdate) {\n onUpdate(target, t)\n }\n },\n\n progress (start, end, current, t) {\n if (typeof start === 'number') {\n current = start + (end - start) * t;\n }\n else {\n start.lerp(end, t, current);\n }\n return current;\n }\n});\n\nlet SetAction = cc.Class({\n name: 'cc.SetAction',\n extends: cc.ActionInstant,\n\n ctor (props) {\n this._props = {};\n props !== undefined && this.init(props);\n },\n\n init (props) {\n for (let name in props) {\n this._props[name] = props[name];\n }\n return true;\n },\n\n update () {\n let props = this._props;\n let target = this.target;\n for (let name in props) {\n target[name] = props[name];\n }\n },\n\n clone () {\n var action = new SetAction();\n action.init(this._props);\n return action;\n }\n});\n\n\n\n/**\n * !#en\n * Tween provide a simple and flexible way to create action. Tween's api is more flexible than `cc.Action`:\n * - Support creating an action sequence in chained api.\n * - Support animate any objects' any properties, not limited to node's properties. By contrast, `cc.Action` needs to create a new action class to support new node property.\n * - Support working with `cc.Action`.\n * - Support easing and progress function.\n * !#zh\n * Tween 提供了一个简单灵活的方法来创建 action。相对于 Cocos 传统的 `cc.Action`,`cc.Tween` 在创建动画上要灵活非常多:\n * - 支持以链式结构的方式创建一个动画序列。\n * - 支持对任意对象的任意属性进行缓动,不再局限于节点上的属性,而 `cc.Action` 添加一个属性的支持时还需要添加一个新的 action 类型。\n * - 支持与 `cc.Action` 混用。\n * - 支持设置 {{#crossLink \"Easing\"}}{{/crossLink}} 或者 progress 函数。\n * @class Tween\n * @example\n * cc.tween(node)\n * .to(1, {scale: 2, position: cc.v3(100, 100, 100)})\n * .call(() => { console.log('This is a callback'); })\n * .by(1, {scale: 3, position: cc.v3(200, 200, 200)}, {easing: 'sineOutIn'})\n * .start(cc.find('Canvas/cocos'));\n * @typescript Tween\n */\nfunction Tween (target) {\n this._actions = [];\n this._finalAction = null;\n this._target = target;\n this._tag = cc.Action.TAG_INVALID;\n}\n\n/**\n * @method constructor\n * @param {Object} [target]\n */\n\n/**\n * !#en Stop all tweens\n * !#zh 停止所有缓动\n * @method stopAll\n * @static\n */\nTween.stopAll = function () {\n cc.director.getActionManager().removeAllActions();\n}\n/**\n * !#en Stop all tweens by tag\n * !#zh 停止所有指定标签的缓动\n * @method stopAllByTag\n * @static\n * @param {number} tag\n */\nTween.stopAllByTag = function (tag) {\n cc.director.getActionManager().removeAllActionsByTag(tag);\n}\n/**\n * !#en Stop all tweens by target\n * !#zh 停止所有指定对象的缓动\n * @method stopAllByTarget\n * @static\n * @param {Object} target\n */\nTween.stopAllByTarget = function (target) {\n cc.director.getActionManager().removeAllActionsFromTarget(target);\n}\n\n/**\n * !#en\n * Insert an action or tween to this sequence\n * !#zh\n * 插入一个 action 或者 tween 到队列中\n * @method then \n * @param {Action|Tween} other\n * @return {Tween}\n * @typescript then(other: Action|Tween): Tween\n */\nTween.prototype.then = function (other) {\n if (other instanceof cc.Action) {\n this._actions.push(other.clone());\n }\n else {\n this._actions.push(other._union());\n }\n return this;\n};\n\n\n/**\n * !#en\n * Set tween target\n * !#zh\n * 设置 tween 的 target\n * @method target\n * @param {Object} target\n * @return {Tween}\n * @typescript target(target: any): Tween\n */\nTween.prototype.target = function (target) {\n this._target = target;\n return this;\n};\n\n/**\n * !#en\n * Start this tween\n * !#zh\n * 运行当前 tween\n * @method start\n * @return {Tween}\n * @typescript start(): Tween\n */\nTween.prototype.start = function () {\n let target = this._target;\n if (!target) {\n cc.warn('Please set target to tween first');\n return this;\n }\n if (target instanceof cc.Object && !target.isValid) {\n return;\n }\n\n if (this._finalAction) {\n cc.director.getActionManager().removeAction(this._finalAction);\n }\n this._finalAction = this._union();\n\n if (target._id === undefined) {\n target._id = ++_tweenID;\n }\n\n this._finalAction.setTag(this._tag);\n cc.director.getActionManager().addAction(this._finalAction, target, false);\n return this;\n};\n\n/**\n * !#en\n * Stop this tween\n * !#zh\n * 停止当前 tween\n * @method stop\n * @return {Tween}\n * @typescript stop(): Tween\n */\nTween.prototype.stop = function () {\n if (this._finalAction) {\n cc.director.getActionManager().removeAction(this._finalAction);\n }\n return this;\n};\n\n\n/**\n * !#en Sets tween tag\n * !#zh 设置缓动的标签\n * @method tag\n * @param {number} tag\n * @return {Tween}\n * @typescript tag(tag: number): Tween\n */\nTween.prototype.tag = function (tag) {\n this._tag = tag;\n return this;\n};\n\n\n/**\n * !#en\n * Clone a tween\n * !#zh\n * 克隆当前 tween\n * @method clone\n * @param {Object} [target]\n * @return {Tween}\n * @typescript clone(target?: any): Tween\n */\nTween.prototype.clone = function (target) {\n let action = this._union();\n return cc.tween(target).then(action.clone());\n};\n\n/**\n * !#en\n * Integrate all previous actions to an action.\n * !#zh\n * 将之前所有的 action 整合为一个 action。\n * @method union\n * @return {Tween}\n * @typescritp union(): Tween\n */\nTween.prototype.union = function () {\n let action = this._union();\n this._actions.length = 0;\n this._actions.push(action);\n return this;\n};\n\nTween.prototype._union = function () {\n let actions = this._actions;\n\n if (actions.length === 1) {\n actions = actions[0];\n }\n else {\n actions = cc.sequence(actions);\n }\n\n return actions;\n};\n\nObject.assign(Tween.prototype, {\n /**\n * !#en Sets target's position property according to the bezier curve.\n * !#zh 按照贝塞尔路径设置目标的 position 属性。\n * @method bezierTo\n * @param {number} duration\n * @param {cc.Vec2} c1\n * @param {cc.Vec2} c2\n * @param {cc.Vec2} to\n * @return {Tween}\n * @typescript bezierTo(duration: number, c1: Vec2, c2: Vec2, to: Vec2): Tween\n */\n bezierTo (duration, c1, c2, to, opts) {\n let c0x = c1.x, c0y = c1.y,\n c1x = c2.x, c1y = c2.y;\n opts = opts || Object.create(null);\n opts.progress = function (start, end, current, t) {\n current.x = bezier(start.x, c0x, c1x, end.x, t);\n current.y = bezier(start.y, c0y, c1y, end.y, t);\n return current;\n }\n return this.to(duration, { position: to }, opts);\n },\n\n /**\n * !#en Sets target's position property according to the bezier curve.\n * !#zh 按照贝塞尔路径设置目标的 position 属性。\n * @method bezierBy\n * @param {number} duration\n * @param {cc.Vec2} c1\n * @param {cc.Vec2} c2\n * @param {cc.Vec2} to\n * @return {Tween}\n * @typescript bezierBy(duration: number, c1: Vec2, c2: Vec2, to: Vec2): Tween\n */\n bezierBy (duration, c1, c2, to, opts) {\n let c0x = c1.x, c0y = c1.y,\n c1x = c2.x, c1y = c2.y;\n opts = opts || Object.create(null);\n opts.progress = function (start, end, current, t) {\n let sx = start.x, sy = start.y;\n current.x = bezier(sx, c0x + sx, c1x + sx, end.x, t);\n current.y = bezier(sy, c0y + sy, c1y + sy, end.y, t);\n return current;\n }\n return this.by(duration, { position: to }, opts);\n },\n\n /**\n * !#en Flips target's scaleX\n * !#zh 翻转目标的 scaleX 属性\n * @method flipX\n * @return {Tween}\n * @typescript flipX(): Tween\n */\n flipX () {\n return this.call(() => { this._target.scaleX *= -1; }, this);\n \n },\n /**\n * !#en Flips target's scaleY\n * !#zh 翻转目标的 scaleY 属性\n * @method flipY\n * @return {Tween}\n * @typescript flipY(): Tween\n */\n flipY () {\n return this.call(() => { this._target.scaleY *= -1; }, this);\n },\n\n /**\n * !#en Blinks target by set target's opacity property\n * !#zh 通过设置目标的 opacity 属性达到闪烁效果\n * @method blink\n * @param {number} duration\n * @param {number} times\n * @param {Object} [opts]\n * @param {Function} [opts.progress]\n * @param {Function|String} [opts.easing]\n * @return {Tween}\n * @typescript blink(duration: number, times: number, opts?: {progress?: Function; easing?: Function|string; }): Tween\n */\n blink (duration, times, opts) {\n var slice = 1.0 / times;\n opts = opts || Object.create(null);\n opts.progress = function (start, end, current, t) {\n if (t >= 1) {\n return start;\n }\n else {\n var m = t % slice;\n return (m > (slice / 2)) ? 255 : 0;\n }\n };\n return this.to(duration, { opacity: 1 }, opts);\n },\n})\n\nlet tmp_args = [];\n\nfunction wrapAction (action) {\n return function () {\n tmp_args.length = 0;\n for (let l = arguments.length, i = 0; i < l; i++) {\n let arg = tmp_args[i] = arguments[i];\n if (arg instanceof Tween) {\n tmp_args[i] = arg._union();\n }\n }\n\n return action.apply(this, tmp_args);\n };\n}\n\nlet actions = {\n /**\n * !#en\n * Add an action which calculate with absolute value\n * !#zh\n * 添加一个对属性进行绝对值计算的 action\n * @method to\n * @param {Number} duration\n * @param {Object} props - {scale: 2, position: cc.v3(100, 100, 100)}\n * @param {Object} [opts]\n * @param {Function} [opts.progress]\n * @param {Function|String} [opts.easing]\n * @return {Tween}\n * @typescript\n * to>(duration: number, props: ConstructorType, opts?: OPTS): Tween\n */\n to (duration, props, opts) {\n opts = opts || Object.create(null);\n opts.relative = false;\n return new TweenAction(duration, props, opts);\n },\n\n /**\n * !#en\n * Add an action which calculate with relative value\n * !#zh\n * 添加一个对属性进行相对值计算的 action\n * @method by\n * @param {Number} duration\n * @param {Object} props - {scale: 2, position: cc.v3(100, 100, 100)}\n * @param {Object} [opts]\n * @param {Function} [opts.progress]\n * @param {Function|String} [opts.easing]\n * @return {Tween}\n * @typescript\n * by>(duration: number, props: ConstructorType, opts?: OPTS): Tween\n */\n by (duration, props, opts) {\n opts = opts || Object.create(null);\n opts.relative = true;\n return new TweenAction(duration, props, opts);\n },\n\n /**\n * !#en\n * Directly set target properties\n * !#zh\n * 直接设置 target 的属性\n * @method set\n * @param {Object} props\n * @return {Tween}\n * @typescript\n * set (props: ConstructorType) : Tween\n */\n set (props) {\n return new SetAction(props);\n },\n\n /**\n * !#en\n * Add an delay action\n * !#zh\n * 添加一个延时 action\n * @method delay\n * @param {Number} duration\n * @return {Tween}\n * @typescript delay(duration: number): Tween\n */\n delay: cc.delayTime,\n /**\n * !#en\n * Add an callback action\n * !#zh\n * 添加一个回调 action\n * @method call\n * @param {Function} callback\n * @param {object} [selectTarget]\n * @return {Tween}\n * @typescript call(callback: Function, selectTarget?: object): Tween\n */\n call: cc.callFunc,\n /**\n * !#en\n * Add an hide action\n * !#zh\n * 添加一个隐藏 action\n * @method hide\n * @return {Tween}\n * @typescript hide(): Tween\n */\n hide: cc.hide,\n /**\n * !#en\n * Add an show action\n * !#zh\n * 添加一个显示 action\n * @method show\n * @return {Tween}\n * @typescript show(): Tween\n */\n show: cc.show,\n /**\n * !#en\n * Add an removeSelf action\n * !#zh\n * 添加一个移除自己 action\n * @method removeSelf\n * @return {Tween}\n * @typescript removeSelf(): Tween\n */\n removeSelf: cc.removeSelf,\n /**\n * !#en\n * Add an sequence action\n * !#zh\n * 添加一个队列 action\n * @method sequence\n * @param {Action|Tween} action\n * @param {Action|Tween} ...actions\n * @return {Tween}\n * @typescript sequence(action: Action|Tween, ...actions: (Action|Tween)[]): Tween\n */\n sequence: wrapAction(cc.sequence),\n /**\n * !#en\n * Add an parallel action\n * !#zh\n * 添加一个并行 action\n * @method parallel\n * @param {Action|Tween} action\n * @param {Action|Tween} ...actions\n * @return {Tween}\n * @typescript parallel(action: Action|Tween, ...actions: (Action|Tween)[]): Tween\n */\n parallel: wrapAction(cc.spawn)\n};\n\n// these action will use previous action as their parameters\nlet previousAsInputActions = {\n /**\n * !#en\n * Add an repeat action. This action will integrate before actions to a sequence action as their parameters.\n * !#zh\n * 添加一个重复 action,这个 action 会将前一个动作作为他的参数。\n * @method repeat\n * @param {Number} repeatTimes\n * @param {Action | Tween} [action]\n * @return {Tween}\n * @typescript repeat(repeatTimes: number, action?: Action|Tween): Tween\n */\n repeat: cc.repeat,\n /**\n * !#en\n * Add an repeat forever action. This action will integrate before actions to a sequence action as their parameters.\n * !#zh\n * 添加一个永久重复 action,这个 action 会将前一个动作作为他的参数。\n * @method repeatForever\n * @param {Action | Tween} [action]\n * @return {Tween}\n * @typescript repeatForever(action?: Action|Tween): Tween\n */\n repeatForever: cc.repeatForever,\n /**\n * !#en\n * Add an reverse time action. This action will integrate before actions to a sequence action as their parameters.\n * !#zh\n * 添加一个倒置时间 action,这个 action 会将前一个动作作为他的参数。\n * @method reverseTime\n * @param {Action | Tween} [action]\n * @return {Tween}\n * @typescript reverseTime(action?: Action|Tween): Tween\n */\n reverseTime: cc.reverseTime,\n};\n\n\nlet keys = Object.keys(actions);\nfor (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n Tween.prototype[key] = function () {\n let action = actions[key].apply(this, arguments);\n this._actions.push(action);\n return this;\n };\n}\n\nkeys = Object.keys(previousAsInputActions);\nfor (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n Tween.prototype[key] = function () {\n\n let actions = this._actions;\n let action = arguments[arguments.length - 1];\n let length = arguments.length - 1;\n\n if (action instanceof cc.Tween) {\n action = action._union();\n }\n else if (!(action instanceof cc.Action)) {\n action = actions[actions.length - 1];\n actions.length -= 1;\n length += 1;\n }\n\n let args = [action];\n for (let i = 0; i < length; i++) {\n args.push(arguments[i]);\n }\n\n action = previousAsInputActions[key].apply(this, args);\n actions.push(action);\n\n return this;\n };\n}\n\n/**\n * @module cc\n */\n\n/**\n * @method tween\n * @param {Object} [target] - the target to animate\n * @return {Tween}\n * @typescript\n * tween (target?: T) : Tween\n */\ncc.tween = function (target) {\n return new Tween(target);\n};\n\ncc.Tween = Tween;\n \n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst js = cc.js;\nconst Playable = require('./playable');\nconst { EventAnimCurve, EventInfo } = require('./animation-curves');\nconst WrapModeMask = require('./types').WrapModeMask;\nconst binarySearch = require('../core/utils/binary-search').binarySearchEpsilon;\n\n// The actual animator for Animation Component\n\nfunction AnimationAnimator (target, animation) {\n Playable.call(this);\n this.target = target;\n this.animation = animation;\n\n this._anims = new js.array.MutableForwardIterator([]);\n}\njs.extend(AnimationAnimator, Playable);\nlet p = AnimationAnimator.prototype;\n\np.playState = function (state, startTime) {\n if (!state.clip) {\n return;\n }\n\n if (!state.curveLoaded) {\n initClipData(this.target, state);\n }\n\n state.animator = this;\n state.play();\n\n if (typeof startTime === 'number') {\n state.setTime(startTime);\n }\n\n this.play();\n};\n\np.stopStatesExcept = function (state) {\n let iterator = this._anims;\n let array = iterator.array;\n for (iterator.i = 0; iterator.i < array.length; ++iterator.i) {\n let anim = array[iterator.i];\n if (anim === state) {\n continue;\n }\n\n this.stopState(anim);\n }\n};\n\np.addAnimation = function (anim) {\n let index = this._anims.array.indexOf(anim);\n if (index === -1) {\n this._anims.push(anim);\n }\n\n anim._setEventTarget(this.animation);\n};\n\np.removeAnimation = function (anim) {\n let index = this._anims.array.indexOf(anim);\n if (index >= 0) {\n this._anims.fastRemoveAt(index);\n\n if (this._anims.array.length === 0) {\n this.stop();\n }\n }\n else {\n cc.errorID(3907);\n }\n\n anim.animator = null;\n};\n\np.sample = function () {\n let iterator = this._anims;\n let array = iterator.array;\n for (iterator.i = 0; iterator.i < array.length; ++iterator.i) {\n let anim = array[iterator.i];\n anim.sample();\n }\n};\n\np.stopState = function (state) {\n if (state) {\n state.stop();\n }\n};\n\np.pauseState = function (state) {\n if (state) {\n state.pause();\n }\n};\n\np.resumeState = function (state) {\n if (state) {\n state.resume();\n }\n\n if (this.isPaused) {\n this.resume();\n }\n};\n\np.setStateTime = function (state, time) {\n if (time !== undefined) {\n if (state) {\n state.setTime(time);\n state.sample();\n } \n }\n else {\n time = state;\n\n let array = this._anims.array;\n for (let i = 0; i < array.length; ++i) {\n let anim = array[i];\n anim.setTime(time);\n anim.sample();\n }\n }\n};\n\np.onStop = function () {\n let iterator = this._anims;\n let array = iterator.array;\n for (iterator.i = 0; iterator.i < array.length; ++iterator.i) {\n let anim = array[iterator.i];\n anim.stop();\n }\n};\n\np.onPause = function () {\n let array = this._anims.array;\n for (let i = 0; i < array.length; ++i) {\n let anim = array[i];\n anim.pause();\n\n // need to unbind animator to anim, or it maybe cannot be gc.\n anim.animator = null;\n }\n};\n\np.onResume = function () {\n let array = this._anims.array;\n for (let i = 0; i < array.length; ++i) {\n let anim = array[i];\n \n // rebind animator to anim\n anim.animator = this;\n\n anim.resume();\n }\n};\n\np._reloadClip = function (state) {\n initClipData(this.target, state);\n};\n\n// 这个方法应该是 SampledAnimCurve 才能用\nfunction createBatchedProperty (propPath, firstDotIndex, mainValue, animValue) {\n mainValue = mainValue.clone();\n let nextValue = mainValue;\n let leftIndex = firstDotIndex + 1;\n let rightIndex = propPath.indexOf('.', leftIndex);\n\n // scan property path\n while (rightIndex !== -1) {\n let nextName = propPath.slice(leftIndex, rightIndex);\n nextValue = nextValue[nextName];\n leftIndex = rightIndex + 1;\n rightIndex = propPath.indexOf('.', leftIndex);\n }\n let lastPropName = propPath.slice(leftIndex);\n nextValue[lastPropName] = animValue;\n\n return mainValue;\n}\n\nif (CC_TEST) {\n cc._Test.createBatchedProperty = createBatchedProperty;\n}\n\n\nfunction initClipData (root, state) {\n let clip = state.clip;\n\n state.duration = clip.duration;\n state.speed = clip.speed;\n state.wrapMode = clip.wrapMode;\n state.frameRate = clip.sample;\n\n if ((state.wrapMode & WrapModeMask.Loop) === WrapModeMask.Loop) {\n state.repeatCount = Infinity;\n }\n else {\n state.repeatCount = 1;\n }\n\n let curves = state.curves = clip.createCurves(state, root);\n\n // events curve\n\n let events = clip.events;\n\n if (!CC_EDITOR && events) {\n let curve;\n\n for (let i = 0, l = events.length; i < l; i++) {\n if (!curve) {\n curve = new EventAnimCurve();\n curve.target = root;\n curves.push(curve);\n }\n\n let eventData = events[i];\n let ratio = eventData.frame / state.duration;\n\n let eventInfo;\n let index = binarySearch(curve.ratios, ratio);\n if (index >= 0) {\n eventInfo = curve.events[index];\n }\n else {\n eventInfo = new EventInfo();\n curve.ratios.push(ratio);\n curve.events.push(eventInfo);\n }\n\n eventInfo.add(eventData.func, eventData.params);\n }\n }\n}\n\nif (CC_TEST) {\n cc._Test.initClipData = initClipData;\n}\n\n\nmodule.exports = AnimationAnimator;\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst WrapMode = require('./types').WrapMode;\nconst { DynamicAnimCurve, quickFindIndex } = require('./animation-curves');\nconst sampleMotionPaths = require('./motion-path-helper').sampleMotionPaths;\nconst binarySearch = require('../core/utils/binary-search').binarySearchEpsilon;\n\n/**\n * !#en Class for animation data handling.\n * !#zh 动画剪辑,用于存储动画数据。\n * @class AnimationClip\n * @extends Asset\n */\nvar AnimationClip = cc.Class({\n name: 'cc.AnimationClip',\n extends: cc.Asset,\n\n properties: {\n _duration: {\n default: 0,\n type: cc.Float,\n },\n\n /**\n * !#en Duration of this animation.\n * !#zh 动画的持续时间。\n * @property duration\n * @type {Number}\n */\n duration: {\n get: function () { return this._duration; },\n },\n\n /**\n * !#en FrameRate of this animation.\n * !#zh 动画的帧速率。\n * @property sample\n * @type {Number}\n */\n sample: {\n default: 60,\n },\n\n /**\n * !#en Speed of this animation.\n * !#zh 动画的播放速度。\n * @property speed\n * @type {Number}\n */\n speed: {\n default: 1\n },\n\n /**\n * !#en WrapMode of this animation.\n * !#zh 动画的循环模式。\n * @property wrapMode\n * @type {WrapMode}\n */\n wrapMode: {\n default: WrapMode.Normal\n },\n\n /**\n * !#en Curve data.\n * !#zh 曲线数据。\n * @property curveData\n * @type {Object}\n * @example {@link cocos2d/core/animation-clip/curve-data.js}\n */\n curveData: {\n default: {},\n visible: false,\n },\n\n /**\n * !#en Event data.\n * !#zh 事件数据。\n * @property events\n * @type {Object[]}\n * @example {@link cocos2d/core/animation-clip/event-data.js}\n * @typescript events: {frame: number, func: string, params: string[]}[]\n */\n events: {\n default: [],\n visible: false,\n }\n },\n\n statics: {\n /**\n * !#en Crate clip with a set of sprite frames\n * !#zh 使用一组序列帧图片来创建动画剪辑\n * @method createWithSpriteFrames\n * @param {[SpriteFrame]} spriteFrames\n * @param {Number} sample\n * @return {AnimationClip}\n * @static\n * @example\n *\n * var clip = cc.AnimationClip.createWithSpriteFrames(spriteFrames, 10);\n *\n */\n createWithSpriteFrames: function (spriteFrames, sample) {\n if (!Array.isArray(spriteFrames)) {\n cc.errorID(3905);\n return null;\n }\n\n var clip = new AnimationClip();\n clip.sample = sample || clip.sample;\n\n clip._duration = spriteFrames.length / clip.sample;\n\n var frames = [];\n var step = 1 / clip.sample;\n\n for (var i = 0, l = spriteFrames.length; i < l; i++) {\n frames[i] = { frame: (i * step), value: spriteFrames[i] };\n }\n\n clip.curveData = {\n comps: {\n // component\n 'cc.Sprite': {\n // component properties\n 'spriteFrame': frames\n }\n }\n };\n\n return clip;\n }\n },\n\n onLoad () {\n this._duration = Number.parseFloat(this.duration);\n this.speed = Number.parseFloat(this.speed);\n this.wrapMode = Number.parseInt(this.wrapMode);\n this.frameRate = Number.parseFloat(this.sample);\n },\n\n createPropCurve (target, propPath, keyframes) {\n let motionPaths = [];\n let isMotionPathProp = target instanceof cc.Node && propPath === 'position';\n\n let curve = new DynamicAnimCurve();\n\n // 缓存目标对象,所以 Component 必须一开始都创建好并且不能运行时动态替换……\n curve.target = target;\n curve.prop = propPath;\n\n // for each keyframes\n for (let i = 0, l = keyframes.length; i < l; i++) {\n let keyframe = keyframes[i];\n let ratio = keyframe.frame / this.duration;\n curve.ratios.push(ratio);\n\n if (isMotionPathProp) {\n motionPaths.push(keyframe.motionPath);\n }\n\n let curveValue = keyframe.value;\n curve.values.push(curveValue);\n\n let curveTypes = keyframe.curve;\n if (curveTypes) {\n if (typeof curveTypes === 'string') {\n curve.types.push(curveTypes);\n continue;\n }\n else if (Array.isArray(curveTypes)) {\n if (curveTypes[0] === curveTypes[1] &&\n curveTypes[2] === curveTypes[3]) {\n curve.types.push(DynamicAnimCurve.Linear);\n }\n else {\n curve.types.push(DynamicAnimCurve.Bezier(curveTypes));\n }\n continue;\n }\n }\n curve.types.push(DynamicAnimCurve.Linear);\n }\n \n if (isMotionPathProp) {\n sampleMotionPaths(motionPaths, curve, this.duration, this.sample, target);\n }\n\n // if every piece of ratios are the same, we can use the quick function to find frame index.\n let ratios = curve.ratios;\n let currRatioDif, lastRatioDif;\n let canOptimize = true;\n let EPSILON = 1e-6;\n for (let i = 1, l = ratios.length; i < l; i++) {\n currRatioDif = ratios[i] - ratios[i-1];\n if (i === 1) {\n lastRatioDif = currRatioDif;\n }\n else if (Math.abs(currRatioDif - lastRatioDif) > EPSILON) {\n canOptimize = false; \n break;\n }\n }\n\n curve._findFrameIndex = canOptimize ? quickFindIndex : binarySearch;\n\n // find the lerp function\n let firstValue = curve.values[0];\n if (firstValue !== undefined && firstValue !== null && !curve._lerp) {\n if (typeof firstValue === 'number') {\n curve._lerp = DynamicAnimCurve.prototype._lerpNumber;\n }\n else if (firstValue instanceof cc.Quat) {\n curve._lerp = DynamicAnimCurve.prototype._lerpQuat;\n }\n else if (firstValue instanceof cc.Vec2) {\n curve._lerp = DynamicAnimCurve.prototype._lerpVector2;\n }\n else if (firstValue instanceof cc.Vec3) {\n curve._lerp = DynamicAnimCurve.prototype._lerpVector3;\n }\n else if (firstValue.lerp) {\n curve._lerp = DynamicAnimCurve.prototype._lerpObject;\n }\n }\n\n return curve;\n },\n\n createTargetCurves (target, curveData, curves) {\n let propsData = curveData.props;\n let compsData = curveData.comps;\n\n if (propsData) {\n for (let propPath in propsData) {\n let data = propsData[propPath];\n let curve = this.createPropCurve(target, propPath, data);\n\n curves.push(curve);\n }\n }\n\n if (compsData) {\n for (let compName in compsData) {\n let comp = target.getComponent(compName);\n\n if (!comp) {\n continue;\n }\n\n let compData = compsData[compName];\n for (let propPath in compData) {\n let data = compData[propPath];\n let curve = this.createPropCurve(comp, propPath, data);\n\n curves.push(curve);\n }\n }\n }\n },\n\n createCurves (state, root) {\n let curveData = this.curveData;\n let childrenCurveDatas = curveData.paths;\n let curves = [];\n\n this.createTargetCurves(root, curveData, curves);\n\n for (let namePath in childrenCurveDatas) {\n let target = cc.find(namePath, root);\n\n if (!target) {\n continue;\n }\n\n let childCurveDatas = childrenCurveDatas[namePath];\n this.createTargetCurves(target, childCurveDatas, curves);\n }\n\n return curves;\n }\n});\n\ncc.AnimationClip = module.exports = AnimationClip;\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n\nconst bezierByTime = require('./bezier').bezierByTime;\n\nconst binarySearch = require('../core/utils/binary-search').binarySearchEpsilon;\nconst WrapModeMask = require('./types').WrapModeMask;\nconst WrappedInfo = require('./types').WrappedInfo;\n\n/**\n * Compute a new ratio by curve type\n * @param {Number} ratio - The origin ratio\n * @param {Array|String} type - If it's Array, then ratio will be computed with bezierByTime. If it's string, then ratio will be computed with cc.easing function\n */\nfunction computeRatioByType (ratio, type) {\n if (typeof type === 'string') {\n var func = cc.easing[type];\n if (func) {\n ratio = func(ratio);\n }\n else {\n cc.errorID(3906, type);\n }\n }\n else if (Array.isArray(type)) {\n // bezier curve\n ratio = bezierByTime(type, ratio);\n }\n\n return ratio;\n}\n\n//\n// 动画数据类,相当于 AnimationClip。\n// 虽然叫做 AnimCurve,但除了曲线,可以保存任何类型的值。\n//\n// @class AnimCurve\n//\n//\nvar AnimCurve = cc.Class({\n name: 'cc.AnimCurve',\n\n //\n // @method sample\n // @param {number} time\n // @param {number} ratio - The normalized time specified as a number between 0.0 and 1.0 inclusive.\n // @param {AnimationState} state\n //\n sample: function (time, ratio, state) {},\n\n onTimeChangedManually: undefined\n});\n\n/**\n * 当每两帧之前的间隔都一样的时候可以使用此函数快速查找 index\n */\nfunction quickFindIndex (ratios, ratio) {\n var length = ratios.length - 1;\n\n if (length === 0) return 0;\n\n var start = ratios[0];\n if (ratio < start) return 0;\n\n var end = ratios[length];\n if (ratio > end) return ~ratios.length;\n\n ratio = (ratio - start) / (end - start);\n\n var eachLength = 1 / length;\n var index = ratio / eachLength;\n var floorIndex = index | 0;\n var EPSILON = 1e-6;\n\n if ((index - floorIndex) < EPSILON) {\n return floorIndex;\n }\n else if ((floorIndex + 1 - index) < EPSILON) {\n return floorIndex + 1;\n }\n\n return ~(floorIndex + 1);\n}\n\n//\n//\n// @class DynamicAnimCurve\n//\n// @extends AnimCurve\n//\nvar DynamicAnimCurve = cc.Class({\n name: 'cc.DynamicAnimCurve',\n extends: AnimCurve,\n\n ctor () {\n // cache last frame index\n this._cachedIndex = 0;\n },\n\n properties: {\n\n // The object being animated.\n // @property target\n // @type {object}\n target: null,\n\n // The name of the property being animated.\n // @property prop\n // @type {string}\n prop: '',\n\n // The values of the keyframes. (y)\n // @property values\n // @type {any[]}\n values: [],\n\n // The keyframe ratio of the keyframe specified as a number between 0.0 and 1.0 inclusive. (x)\n // @property ratios\n // @type {number[]}\n ratios: [],\n\n // @property types\n // @param {object[]}\n // Each array item maybe type:\n // - [x, x, x, x]: Four control points for bezier\n // - null: linear\n types: [],\n },\n\n _findFrameIndex: binarySearch,\n _lerp: undefined,\n\n _lerpNumber (from, to, t) {\n return from + (to - from) * t;\n },\n\n _lerpObject (from, to, t) {\n return from.lerp(to, t);\n },\n\n _lerpQuat: (function () {\n let out = cc.quat();\n return function (from, to, t) {\n return from.lerp(to, t, out);\n };\n })(),\n\n _lerpVector2: (function () {\n let out = cc.v2();\n return function (from, to, t) {\n return from.lerp(to, t, out);\n };\n })(),\n\n _lerpVector3: (function () {\n let out = cc.v3();\n return function (from, to, t) {\n return from.lerp(to, t, out);\n };\n })(),\n\n sample (time, ratio, state) {\n let values = this.values;\n let ratios = this.ratios;\n let frameCount = ratios.length;\n\n if (frameCount === 0) {\n return;\n }\n\n // only need to refind frame index when ratio is out of range of last from ratio and to ratio.\n let shoudRefind = true;\n let cachedIndex = this._cachedIndex;\n if (cachedIndex < 0) {\n cachedIndex = ~cachedIndex;\n if (cachedIndex > 0 && cachedIndex < ratios.length) {\n let fromRatio = ratios[cachedIndex - 1];\n let toRatio = ratios[cachedIndex];\n if (ratio > fromRatio && ratio < toRatio) {\n shoudRefind = false;\n }\n }\n }\n\n if (shoudRefind) {\n this._cachedIndex = this._findFrameIndex(ratios, ratio);\n }\n\n // evaluate value\n let value;\n let index = this._cachedIndex;\n if (index < 0) {\n index = ~index;\n\n if (index <= 0) {\n value = values[0];\n }\n else if (index >= frameCount) {\n value = values[frameCount - 1];\n }\n else {\n var fromVal = values[index - 1];\n\n if (!this._lerp) {\n value = fromVal;\n }\n else {\n var fromRatio = ratios[index - 1];\n var toRatio = ratios[index];\n var type = this.types[index - 1];\n var ratioBetweenFrames = (ratio - fromRatio) / (toRatio - fromRatio);\n\n if (type) {\n ratioBetweenFrames = computeRatioByType(ratioBetweenFrames, type);\n }\n\n // calculate value\n var toVal = values[index];\n\n value = this._lerp(fromVal, toVal, ratioBetweenFrames);\n }\n }\n }\n else {\n value = values[index];\n }\n\n this.target[this.prop] = value;\n }\n});\n\nDynamicAnimCurve.Linear = null;\nDynamicAnimCurve.Bezier = function (controlPoints) {\n return controlPoints;\n};\n\n\n/**\n * Event information,\n * @class EventInfo\n *\n */\nvar EventInfo = function () {\n this.events = [];\n};\n\n/**\n * @param {Function} [func] event function\n * @param {Object[]} [params] event params\n */\nEventInfo.prototype.add = function (func, params) {\n this.events.push({\n func: func || '',\n params: params || []\n });\n};\n\n\n/**\n *\n * @class EventAnimCurve\n *\n * @extends AnimCurve\n */\nvar EventAnimCurve = cc.Class({\n name: 'cc.EventAnimCurve',\n extends: AnimCurve,\n\n properties: {\n /**\n * The object being animated.\n * @property target\n * @type {object}\n */\n target: null,\n\n /** The keyframe ratio of the keyframe specified as a number between 0.0 and 1.0 inclusive. (x)\n * @property ratios\n * @type {number[]}\n */\n ratios: [],\n\n /**\n * @property events\n * @type {EventInfo[]}\n */\n events: [],\n\n _wrappedInfo: {\n default: function () {\n return new WrappedInfo();\n }\n },\n\n _lastWrappedInfo: null,\n\n _ignoreIndex: NaN\n },\n\n _wrapIterations: function (iterations) {\n if (iterations - (iterations | 0) === 0) iterations -= 1;\n return iterations | 0;\n },\n\n sample: function (time, ratio, state) {\n var length = this.ratios.length;\n\n var currentWrappedInfo = state.getWrappedInfo(state.time, this._wrappedInfo);\n var direction = currentWrappedInfo.direction;\n var currentIndex = binarySearch(this.ratios, currentWrappedInfo.ratio);\n if (currentIndex < 0) {\n currentIndex = ~currentIndex - 1;\n\n // if direction is inverse, then increase index\n if (direction < 0) currentIndex += 1;\n }\n\n if (this._ignoreIndex !== currentIndex) {\n this._ignoreIndex = NaN;\n }\n\n currentWrappedInfo.frameIndex = currentIndex;\n\n if (!this._lastWrappedInfo) {\n this._fireEvent(currentIndex);\n this._lastWrappedInfo = new WrappedInfo(currentWrappedInfo);\n return;\n }\n\n var wrapMode = state.wrapMode;\n var currentIterations = this._wrapIterations(currentWrappedInfo.iterations);\n\n var lastWrappedInfo = this._lastWrappedInfo;\n var lastIterations = this._wrapIterations(lastWrappedInfo.iterations);\n var lastIndex = lastWrappedInfo.frameIndex;\n var lastDirection = lastWrappedInfo.direction;\n\n var interationsChanged = lastIterations !== -1 && currentIterations !== lastIterations;\n\n if (lastIndex === currentIndex && interationsChanged && length === 1) {\n this._fireEvent(0);\n }\n else if (lastIndex !== currentIndex || interationsChanged) {\n direction = lastDirection;\n\n do {\n if (lastIndex !== currentIndex) {\n if (direction === -1 && lastIndex === 0 && currentIndex > 0) {\n if ((wrapMode & WrapModeMask.PingPong) === WrapModeMask.PingPong) {\n direction *= -1;\n }\n else {\n lastIndex = length;\n }\n\n lastIterations ++;\n }\n else if (direction === 1 && lastIndex === length - 1 && currentIndex < length - 1) {\n if ((wrapMode & WrapModeMask.PingPong) === WrapModeMask.PingPong) {\n direction *= -1;\n }\n else {\n lastIndex = -1;\n }\n\n lastIterations ++;\n }\n\n if (lastIndex === currentIndex) break;\n if (lastIterations > currentIterations) break;\n }\n\n lastIndex += direction;\n\n cc.director.getAnimationManager().pushDelayEvent(this, '_fireEvent', [lastIndex]);\n } while (lastIndex !== currentIndex && lastIndex > -1 && lastIndex < length);\n }\n\n this._lastWrappedInfo.set(currentWrappedInfo);\n },\n\n _fireEvent: function (index) {\n if (index < 0 || index >= this.events.length || this._ignoreIndex === index) return;\n\n var eventInfo = this.events[index];\n var events = eventInfo.events;\n \n if ( !this.target.isValid ) { \n return; \n }\n \n var components = this.target._components;\n\n for (var i = 0; i < events.length; i++) {\n var event = events[i];\n var funcName = event.func;\n\n for (var j = 0; j < components.length; j++) {\n var component = components[j];\n var func = component[funcName];\n\n if (func) func.apply(component, event.params);\n }\n }\n },\n\n onTimeChangedManually: function (time, state) {\n this._lastWrappedInfo = null;\n this._ignoreIndex = NaN;\n\n var info = state.getWrappedInfo(time, this._wrappedInfo);\n var direction = info.direction;\n var frameIndex = binarySearch(this.ratios, info.ratio);\n\n // only ignore when time not on a frame index\n if (frameIndex < 0) {\n frameIndex = ~frameIndex - 1;\n\n // if direction is inverse, then increase index\n if (direction < 0) frameIndex += 1;\n\n this._ignoreIndex = frameIndex;\n }\n }\n});\n\n\nif (CC_TEST) {\n cc._Test.DynamicAnimCurve = DynamicAnimCurve;\n cc._Test.EventAnimCurve = EventAnimCurve;\n cc._Test.quickFindIndex = quickFindIndex;\n}\n\nmodule.exports = {\n AnimCurve: AnimCurve,\n DynamicAnimCurve: DynamicAnimCurve,\n EventAnimCurve: EventAnimCurve,\n EventInfo: EventInfo,\n computeRatioByType: computeRatioByType,\n quickFindIndex: quickFindIndex\n};\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nvar js = cc.js;\n\nvar AnimationManager = cc.Class({\n ctor: function () {\n this._anims = new js.array.MutableForwardIterator([]);\n this._delayEvents = [];\n\n cc.director._scheduler && cc.director._scheduler.enableForTarget(this);\n },\n\n // for manager\n\n update: function (dt) {\n var iterator = this._anims;\n var array = iterator.array;\n for (iterator.i = 0; iterator.i < array.length; ++iterator.i) {\n var anim = array[iterator.i];\n if (anim._isPlaying && !anim._isPaused) {\n anim.update(dt);\n }\n }\n\n var events = this._delayEvents;\n for (let i = 0; i < events.length; i++) {\n var event = events[i];\n event.target[event.func].apply(event.target, event.args);\n }\n events.length = 0;\n \n },\n\n destruct: function () {},\n\n\n /**\n * @param {AnimationState} anim\n */\n addAnimation: function (anim) {\n var index = this._anims.array.indexOf(anim);\n if (index === -1) {\n this._anims.push(anim);\n }\n },\n\n /**\n * @param {AnimationState} anim\n */\n removeAnimation: function (anim) {\n var index = this._anims.array.indexOf(anim);\n if (index >= 0) {\n this._anims.fastRemoveAt(index);\n }\n else {\n cc.errorID(3907);\n }\n },\n\n pushDelayEvent: function (target, func, args) {\n this._delayEvents.push({\n target: target,\n func: func,\n args: args\n });\n }\n});\n\n\ncc.AnimationManager = module.exports = AnimationManager;\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n\nvar js = cc.js;\nvar Playable = require('./playable');\n\nvar Types = require('./types');\nvar WrappedInfo = Types.WrappedInfo;\nvar WrapMode = Types.WrapMode;\nvar WrapModeMask = Types.WrapModeMask;\n\n/**\n * !#en\n * The AnimationState gives full control over animation playback process.\n * In most cases the Animation Component is sufficient and easier to use. Use the AnimationState if you need full control.\n * !#zh\n * AnimationState 完全控制动画播放过程。
\n * 大多数情况下 动画组件 是足够和易于使用的。如果您需要更多的动画控制接口,请使用 AnimationState。\n * @class AnimationState\n * @extends Playable\n *\n */\n\n/**\n * @method constructor\n * @param {AnimationClip} clip\n * @param {String} [name]\n */\nfunction AnimationState (clip, name) {\n Playable.call(this);\n \n // Mark whether the current frame is played.\n // When set new time to animation state, we should ensure the frame at the specified time being played at next update.\n this._currentFramePlayed = false;\n \n this._delay = 0;\n this._delayTime = 0;\n\n this._wrappedInfo = new WrappedInfo();\n this._lastWrappedInfo = null;\n\n this._process = process;\n\n this._clip = clip;\n this._name = name || (clip && clip.name);\n\n /**\n * @property animator\n * @type {AnimationAnimator}\n * @private\n */\n this.animator = null;\n\n /**\n * !#en The curves list.\n * !#zh 曲线列表。\n * @property curves\n * @type {Object[]}\n */\n this.curves = [];\n\n // http://www.w3.org/TR/web-animations/#idl-def-AnimationTiming\n\n /**\n * !#en The start delay which represents the number of seconds from an animation's start time to the start of\n * the active interval.\n * !#zh 延迟多少秒播放。\n *\n * @property delay\n * @type {Number}\n * @default 0\n */\n this.delay = 0;\n\n /**\n * !#en The animation's iteration count property.\n *\n * A real number greater than or equal to zero (including positive infinity) representing the number of times\n * to repeat the animation node.\n *\n * Values less than zero and NaN values are treated as the value 1.0 for the purpose of timing model\n * calculations.\n *\n * !#zh 迭代次数,指动画播放多少次后结束, normalize time。 如 2.5(2次半)\n *\n * @property repeatCount\n * @type {Number}\n * @default 1\n */\n this.repeatCount = 1;\n\n /**\n * !#en The iteration duration of this animation in seconds. (length)\n * !#zh 单次动画的持续时间,秒。\n *\n * @property duration\n * @type {Number}\n * @readOnly\n */\n this.duration = 1;\n\n /**\n * !#en The animation's playback speed. 1 is normal playback speed.\n * !#zh 播放速率。\n * @property speed\n * @type {Number}\n * @default: 1.0\n */\n this.speed = 1;\n\n /**\n * !#en\n * Wrapping mode of the playing animation.\n * Notice : dynamic change wrapMode will reset time and repeatCount property\n * !#zh\n * 动画循环方式。\n * 需要注意的是,动态修改 wrapMode 时,会重置 time 以及 repeatCount\n *\n * @property wrapMode\n * @type {WrapMode}\n * @default: WrapMode.Normal\n */\n this.wrapMode = WrapMode.Normal;\n\n /**\n * !#en The current time of this animation in seconds.\n * !#zh 动画当前的时间,秒。\n * @property time\n * @type {Number}\n * @default 0\n */\n this.time = 0;\n\n // Animation as event target\n this._target = null;\n this._lastframeEventOn = false;\n this.emit = function () {\n var args = new Array(arguments.length);\n for (var i = 0, l = args.length; i < l; i++) {\n args[i] = arguments[i];\n }\n cc.director.getAnimationManager().pushDelayEvent(this, '_emit', args);\n };\n}\njs.extend(AnimationState, Playable);\n\nvar proto = AnimationState.prototype;\n\nproto._emit = function (type, state) {\n if (this._target && this._target.isValid) {\n this._target.emit(type, type, state);\n }\n};\n\nproto.on = function (type, callback, target) {\n if (this._target && this._target.isValid) {\n if (type === 'lastframe') {\n this._lastframeEventOn = true;\n }\n return this._target.on(type, callback, target);\n }\n else {\n return null;\n }\n};\n\nproto.once = function (type, callback, target) {\n if (this._target && this._target.isValid) {\n if (type === 'lastframe') {\n this._lastframeEventOn = true;\n }\n let self = this;\n return this._target.once(type, function (event) {\n callback.call(target, event);\n self._lastframeEventOn = false;\n });\n }\n else {\n return null;\n }\n};\n\nproto.off = function (type, callback, target) {\n if (this._target && this._target.isValid) {\n if (type === 'lastframe') {\n if (!this._target.hasEventListener(type)) {\n this._lastframeEventOn = false;\n }\n }\n this._target.off(type, callback, target);\n }\n};\n\nproto._setEventTarget = function (target) {\n this._target = target;\n};\n\nproto.onPlay = function () {\n // replay\n this.setTime(0);\n this._delayTime = this._delay;\n \n cc.director.getAnimationManager().addAnimation(this);\n\n if (this.animator) {\n this.animator.addAnimation(this);\n }\n \n this.emit('play', this);\n};\n\nproto.onStop = function () {\n if (!this.isPaused) {\n cc.director.getAnimationManager().removeAnimation(this);\n }\n\n if (this.animator) {\n this.animator.removeAnimation(this);\n }\n\n this.emit('stop', this);\n};\n\nproto.onResume = function () {\n cc.director.getAnimationManager().addAnimation(this);\n this.emit('resume', this);\n};\n\nproto.onPause = function () {\n cc.director.getAnimationManager().removeAnimation(this);\n this.emit('pause', this);\n};\n\nproto.setTime = function (time) {\n this._currentFramePlayed = false;\n this.time = time || 0;\n\n var curves = this.curves;\n for (var i = 0, l = curves.length; i < l; i++) {\n var curve = curves[i];\n if (curve.onTimeChangedManually) {\n curve.onTimeChangedManually(time, this);\n }\n }\n};\n\nfunction process () {\n // sample\n var info = this.sample();\n\n if (this._lastframeEventOn) {\n var lastInfo;\n if (!this._lastWrappedInfo) {\n lastInfo = this._lastWrappedInfo = new WrappedInfo(info);\n } else {\n lastInfo = this._lastWrappedInfo;\n }\n\n if (this.repeatCount > 1 && ((info.iterations | 0) > (lastInfo.iterations | 0))) {\n this.emit('lastframe', this);\n }\n\n lastInfo.set(info);\n }\n\n if (info.stopped) {\n this.stop();\n this.emit('finished', this);\n }\n}\n\nfunction simpleProcess () {\n var time = this.time;\n var duration = this.duration;\n\n if (time > duration) {\n time = time % duration;\n if (time === 0) time = duration;\n }\n else if (time < 0) {\n time = time % duration;\n if (time !== 0) time += duration;\n }\n\n var ratio = time / duration;\n\n var curves = this.curves;\n for (var i = 0, len = curves.length; i < len; i++) {\n var curve = curves[i];\n curve.sample(time, ratio, this);\n }\n\n if (this._lastframeEventOn) {\n if (this._lastIterations === undefined) {\n this._lastIterations = ratio;\n }\n\n if ((this.time > 0 && this._lastIterations > ratio) || (this.time < 0 && this._lastIterations < ratio)) {\n this.emit('lastframe', this);\n }\n\n this._lastIterations = ratio;\n }\n}\n\nproto.update = function (delta) {\n // calculate delay time\n\n if (this._delayTime > 0) {\n this._delayTime -= delta;\n if (this._delayTime > 0) {\n // still waiting\n return;\n }\n }\n\n // make first frame perfect\n\n //var playPerfectFirstFrame = (this.time === 0);\n if (this._currentFramePlayed) {\n this.time += (delta * this.speed);\n }\n else {\n this._currentFramePlayed = true;\n }\n\n this._process();\n};\n\nproto._needRevers = function (currentIterations) {\n var wrapMode = this.wrapMode;\n var needRevers = false;\n\n if ((wrapMode & WrapModeMask.PingPong) === WrapModeMask.PingPong) {\n var isEnd = currentIterations - (currentIterations | 0) === 0;\n if (isEnd && (currentIterations > 0)) {\n currentIterations -= 1;\n }\n\n var isOddIteration = currentIterations & 1;\n if (isOddIteration) {\n needRevers = !needRevers;\n }\n }\n if ((wrapMode & WrapModeMask.Reverse) === WrapModeMask.Reverse) {\n needRevers = !needRevers;\n }\n return needRevers;\n};\n\nproto.getWrappedInfo = function (time, info) {\n info = info || new WrappedInfo();\n \n var stopped = false;\n var duration = this.duration;\n var repeatCount = this.repeatCount;\n\n var currentIterations = time > 0 ? (time / duration) : -(time / duration);\n if (currentIterations >= repeatCount) {\n currentIterations = repeatCount;\n\n stopped = true;\n var tempRatio = repeatCount - (repeatCount | 0);\n if (tempRatio === 0) {\n tempRatio = 1; // 如果播放过,动画不复位\n }\n time = tempRatio * duration * (time > 0 ? 1 : -1);\n }\n\n if (time > duration) {\n var tempTime = time % duration;\n time = tempTime === 0 ? duration : tempTime;\n }\n else if (time < 0) {\n time = time % duration;\n if (time !== 0 ) time += duration;\n }\n\n var needRevers = false;\n var shouldWrap = this._wrapMode & WrapModeMask.ShouldWrap;\n if (shouldWrap) {\n needRevers = this._needRevers(currentIterations);\n }\n\n var direction = needRevers ? -1 : 1;\n if (this.speed < 0) {\n direction *= -1;\n }\n\n // calculate wrapped time\n if (shouldWrap && needRevers) {\n time = duration - time;\n }\n\n info.ratio = time / duration;\n info.time = time;\n info.direction = direction;\n info.stopped = stopped;\n info.iterations = currentIterations;\n\n return info;\n};\n\nproto.sample = function () {\n var info = this.getWrappedInfo(this.time, this._wrappedInfo);\n var curves = this.curves;\n for (var i = 0, len = curves.length; i < len; i++) {\n var curve = curves[i];\n curve.sample(info.time, info.ratio, this);\n }\n\n return info;\n};\n\n\n/**\n * !#en The clip that is being played by this animation state.\n * !#zh 此动画状态正在播放的剪辑。\n * @property clip\n * @type {AnimationClip}\n * @final\n */\njs.get(proto, 'clip', function () {\n return this._clip;\n});\n\n/**\n * !#en The name of the playing animation.\n * !#zh 动画的名字\n * @property name\n * @type {String}\n * @readOnly\n */\njs.get(proto, 'name', function () {\n return this._name;\n});\n\njs.obsolete(proto, 'AnimationState.length', 'duration');\n\njs.getset(proto, 'curveLoaded',\n function () {\n return this.curves.length > 0;\n },\n function () {\n this.curves.length = 0;\n }\n);\n\n\njs.getset(proto, 'wrapMode',\n function () {\n return this._wrapMode;\n },\n function (value) {\n this._wrapMode = value;\n\n if (CC_EDITOR) return;\n\n // dynamic change wrapMode will need reset time to 0\n this.time = 0;\n\n if (value & WrapModeMask.Loop) {\n this.repeatCount = Infinity;\n }\n else {\n this.repeatCount = 1;\n }\n \n }\n);\n\njs.getset(proto, 'repeatCount',\n function () {\n return this._repeatCount;\n },\n function (value) {\n this._repeatCount = value;\n \n var shouldWrap = this._wrapMode & WrapModeMask.ShouldWrap;\n var reverse = (this.wrapMode & WrapModeMask.Reverse) === WrapModeMask.Reverse;\n if (value === Infinity && !shouldWrap && !reverse) {\n this._process = simpleProcess;\n }\n else {\n this._process = process;\n }\n }\n);\n\njs.getset(proto, 'delay', \n function () {\n return this._delay;\n },\n function (value) {\n this._delayTime = this._delay = value;\n }\n);\n\n\ncc.AnimationState = module.exports = AnimationState;\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n//var bezier = (function () {\n// function B1 (t) { return (t * t * t); }\n// function B2 (t) { return (3 * t * t * (1 - t)); }\n// function B3 (t) { return (3 * t * (1 - t) * (1 - t)); }\n// function B4 (t) { return ((1 - t) * (1 - t) * (1 - t)); }\n// function bezier (C1, C2, C3, C4, t) {\n// return C1 * B1(t) + C2 * B2(t) + C3 * B3(t) + C4 * B4(t);\n// }\n//\n// //function bezier (C1, C2, C3, C4, t, out) {\n// // out.x = C1.x * B1(t) + C2.x * B2(t) + C3.x * B3(t) + C4.x * B4(t);\n// // out.y = C1.y * B1(t) + C2.y * B2(t) + C3.y * B3(t) + C4.y * B4(t);\n// //}\n//\n// return bezier;\n//})();\nfunction bezier (C1, C2, C3, C4, t) {\n var t1 = 1 - t;\n return t1 * (t1 * (C1 + (C2 * 3 - C1) * t) + C3 * 3 * t * t) + C4 * t * t * t;\n}\n//function bezier (c0, c1, c2, c3, t) {\n// var cy = 3.0 * (c1);\n// var by = 3.0 * (c3 - c1) - cy;\n// var ay = 1 - cy - by;\n// return (ay * t * t * t) + (by * t * t) + (cy * t);\n//}\n\n//var sin = Math.sin;\nvar cos = Math.cos,\n acos = Math.acos,\n max = Math.max,\n //atan2 = Math.atan2,\n pi = Math.PI,\n tau = 2 * pi,\n sqrt = Math.sqrt;\n\nfunction crt (v) {\n if (v < 0) {\n return -Math.pow(-v, 1 / 3);\n }\n else {\n return Math.pow(v, 1 / 3);\n }\n}\n\n//function align (curve, line) {\n// var tx = line.p1.x,\n// ty = line.p1.y,\n// a = -atan2(line.p2.y-ty, line.p2.x-tx);\n// curve = [{x:0, y:1}, {x: curve[0], y: 1-curve[1]}, {x: curve[2], y: 1-curve[3]}, {x:1, y:0}];\n// return curve.map(function(v) {\n// return {\n// x: (v.x-tx)*cos(a) - (v.y-ty)*sin(a),\n// y: (v.x-tx)*sin(a) + (v.y-ty)*cos(a)\n// };\n// });\n//}\n\n// Modified from http://jsbin.com/yibipofeqi/1/edit, optimized for animations.\n// The origin Cardano's algorithm is based on http://www.trans4mind.com/personal_development/mathematics/polynomials/cubicAlgebra.htm\nfunction cardano (curve, x) {\n // align curve with the intersecting line:\n //var line = {p1: {x: x, y: 0}, p2: {x: x, y: 1}};\n //var aligned = align(curve, line);\n //// and rewrite from [a(1-t)^3 + 3bt(1-t)^2 + 3c(1-t)t^2 + dt^3] form\n // pa = aligned[0].y,\n // pb = aligned[1].y,\n // pc = aligned[2].y,\n // pd = aligned[3].y;\n ////// curve = [{x:0, y:1}, {x: curve[0], y: 1-curve[1]}, {x: curve[2], y: 1-curve[3]}, {x:1, y:0}];\n var pa = x - 0;\n var pb = x - curve[0];\n var pc = x - curve[2];\n var pd = x - 1;\n\n // to [t^3 + at^2 + bt + c] form:\n var pa3 = pa * 3;\n var pb3 = pb * 3;\n var pc3 = pc * 3;\n var d = (-pa + pb3 - pc3 + pd),\n rd = 1 / d,\n r3 = 1 / 3,\n a = (pa3 - 6 * pb + pc3) * rd,\n a3 = a * r3,\n b = (-pa3 + pb3) * rd,\n c = pa * rd,\n // then, determine p and q:\n p = (3 * b - a * a) * r3,\n p3 = p * r3,\n q = (2 * a * a * a - 9 * a * b + 27 * c) / 27,\n q2 = q / 2,\n // and determine the discriminant:\n discriminant = q2 * q2 + p3 * p3 * p3,\n // and some reserved variables\n u1, v1, x1, x2, x3;\n\n // If the discriminant is negative, use polar coordinates\n // to get around square roots of negative numbers\n if (discriminant < 0) {\n var mp3 = -p * r3,\n mp33 = mp3 * mp3 * mp3,\n r = sqrt(mp33),\n // compute cosphi corrected for IEEE float rounding:\n t = -q / (2 * r),\n cosphi = t < -1 ? -1 : t > 1 ? 1 : t,\n phi = acos(cosphi),\n crtr = crt(r),\n t1 = 2 * crtr;\n x1 = t1 * cos(phi * r3) - a3;\n x2 = t1 * cos((phi + tau) * r3) - a3;\n x3 = t1 * cos((phi + 2 * tau) * r3) - a3;\n\n // choose best percentage\n if (0 <= x1 && x1 <= 1) {\n if (0 <= x2 && x2 <= 1) {\n if (0 <= x3 && x3 <= 1) {\n return max(x1, x2, x3);\n }\n else {\n return max(x1, x2);\n }\n }\n else if (0 <= x3 && x3 <= 1) {\n return max(x1, x3);\n }\n else {\n return x1;\n }\n }\n else {\n if (0 <= x2 && x2 <= 1) {\n if (0 <= x3 && x3 <= 1) {\n return max(x2, x3);\n }\n else {\n return x2;\n }\n }\n else {\n return x3;\n }\n }\n }\n else if (discriminant === 0) {\n u1 = q2 < 0 ? crt(-q2) : -crt(q2);\n x1 = 2 * u1 - a3;\n x2 = -u1 - a3;\n\n // choose best percentage\n if (0 <= x1 && x1 <= 1) {\n if (0 <= x2 && x2 <= 1) {\n return max(x1, x2);\n }\n else {\n return x1;\n }\n }\n else {\n return x2;\n }\n }\n // one real root, and two imaginary roots\n else {\n var sd = sqrt(discriminant);\n u1 = crt(-q2 + sd);\n v1 = crt(q2 + sd);\n x1 = u1 - v1 - a3;\n return x1;\n }\n}\n\nfunction bezierByTime (controlPoints, x) {\n var percent = cardano(controlPoints, x); // t\n var p1y = controlPoints[1]; // b\n var p2y = controlPoints[3]; // c\n // return bezier(0, p1y, p2y, 1, percent);\n return ((1 - percent) * (p1y + (p2y - p1y) * percent) * 3 + percent * percent) * percent;\n}\n\nif (CC_TEST) {\n cc._Test.bezier = bezier;\n cc._Test.bezierByTime = bezierByTime;\n}\n\nmodule.exports = {\n bezier: bezier,\n bezierByTime: bezierByTime\n};\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n/**\n * @module cc\n */\n\n /**\n * !#en\n * This class provide easing methods for {{#crossLink \"tween\"}}{{/crossLink}} class.
\n * Demonstratio: https://easings.net/\n * !#zh\n * 缓动函数类,为 {{#crossLink \"Tween\"}}{{/crossLink}} 提供缓动效果函数。
\n * 函数效果演示: https://easings.net/\n * @class Easing\n */\n\nvar easing = {\n constant: function () { return 0; },\n linear: function (k) { return k; },\n\n // quad\n // easing equation function for a quadratic (t^2)\n // @param t: Current time (in frames or seconds).\n // @return: The correct value.\n\n /**\n * !#en Easing in with quadratic formula. From slow to fast.\n * !#zh 平方曲线缓入函数。运动由慢到快。\n * @method quadIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value\n */\n quadIn: function (k) { return k * k; },\n /**\n * !#en Easing out with quadratic formula. From fast to slow.\n * !#zh 平方曲线缓出函数。运动由快到慢。\n * @method quadOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value\n */\n quadOut: function (k) { return k * ( 2 - k ); },\n /**\n * !#en Easing in and out with quadratic formula. From slow to fast, then back to slow.\n * !#zh 平方曲线缓入缓出函数。运动由慢到快再到慢。\n * @method quadInOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value\n */\n quadInOut: function (k) {\n if (( k *= 2 ) < 1) {\n return 0.5 * k * k;\n }\n return -0.5 * ( --k * ( k - 2 ) - 1 );\n },\n\n // cubic\n // easing equation function for a cubic (t^3)\n // @param t: Current time (in frames or seconds).\n // @return: The correct value.\n\n /**\n * !#en Easing in with cubic formula. From slow to fast.\n * !#zh 立方曲线缓入函数。运动由慢到快。\n * @method cubicIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n cubicIn: function (k) { return k * k * k; },\n /**\n * !#en Easing out with cubic formula. From slow to fast.\n * !#zh 立方曲线缓出函数。运动由快到慢。\n * @method cubicOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n cubicOut: function (k) { return --k * k * k + 1; },\n /**\n * !#en Easing in and out with cubic formula. From slow to fast, then back to slow.\n * !#zh 立方曲线缓入缓出函数。运动由慢到快再到慢。\n * @method cubicInOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n cubicInOut: function (k) {\n if (( k *= 2 ) < 1) {\n return 0.5 * k * k * k;\n }\n return 0.5 * ( ( k -= 2 ) * k * k + 2 );\n },\n\n // quart\n // easing equation function for a quartic (t^4)\n // @param t: Current time (in frames or seconds).\n // @return: The correct value.\n\n /**\n * !#en Easing in with quartic formula. From slow to fast.\n * !#zh 四次方曲线缓入函数。运动由慢到快。\n * @method quartIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n quartIn: function (k) { return k * k * k * k; },\n /**\n * !#en Easing out with quartic formula. From fast to slow.\n * !#zh 四次方曲线缓出函数。运动由快到慢。\n * @method quartOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n quartOut: function (k) { return 1 - ( --k * k * k * k ); },\n /**\n * !#en Easing in and out with quartic formula. From slow to fast, then back to slow.\n * !#zh 四次方曲线缓入缓出函数。运动由慢到快再到慢。\n * @method quartInOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n quartInOut: function (k) {\n if (( k *= 2 ) < 1) {\n return 0.5 * k * k * k * k;\n }\n return -0.5 * ( ( k -= 2 ) * k * k * k - 2 );\n },\n\n // quint\n // easing equation function for a quintic (t^5)\n // @param t: Current time (in frames or seconds).\n // @return: The correct value.\n\n /**\n * !#en Easing in with quintic formula. From slow to fast.\n * !#zh 五次方曲线缓入函数。运动由慢到快。\n * @method quintIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n quintIn: function (k) { return k * k * k * k * k; },\n /**\n * !#en Easing out with quintic formula. From fast to slow.\n * !#zh 五次方曲线缓出函数。运动由快到慢。\n * @method quintOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n quintOut: function (k) { return --k * k * k * k * k + 1; },\n /**\n * !#en Easing in and out with quintic formula. From slow to fast, then back to slow.\n * !#zh 五次方曲线缓入缓出函数。运动由慢到快再到慢。\n * @method quintInOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n quintInOut: function (k) {\n if (( k *= 2 ) < 1) {\n return 0.5 * k * k * k * k * k;\n }\n return 0.5 * ( ( k -= 2 ) * k * k * k * k + 2 );\n },\n\n // sine\n // easing equation function for a sinusoidal (sin(t))\n // @param t: Current time (in frames or seconds).\n // @return: The correct value.\n\n /**\n * !#en Easing in and out with sine formula. From slow to fast.\n * !#zh 正弦曲线缓入函数。运动由慢到快。\n * @method sineIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n sineIn: function (k) { return 1 - Math.cos(k * Math.PI / 2); },\n /**\n * !#en Easing in and out with sine formula. From fast to slow.\n * !#zh 正弦曲线缓出函数。运动由快到慢。\n * @method sineOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n sineOut: function (k) { return Math.sin(k * Math.PI / 2); },\n /**\n * !#en Easing in and out with sine formula. From slow to fast, then back to slow.\n * !#zh 正弦曲线缓入缓出函数。运动由慢到快再到慢。\n * @method sineInOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n sineInOut: function (k) { return 0.5 * ( 1 - Math.cos(Math.PI * k) ); },\n\n // expo\n // easing equation function for an exponential (2^t)\n // param t: Current time (in frames or seconds).\n // return: The correct value.\n\n /**\n * !#en Easing in and out with exponential formula. From slow to fast.\n * !#zh 指数曲线缓入函数。运动由慢到快。\n * @method expoIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n expoIn: function (k) { return k === 0 ? 0 : Math.pow(1024, k - 1); },\n /**\n * !#en Easing in and out with exponential formula. From fast to slow.\n * !#zh 指数曲线缓出函数。运动由快到慢。\n * @method expoOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n expoOut: function (k) { return k === 1 ? 1 : 1 - Math.pow(2, -10 * k); },\n /**\n * !#en Easing in and out with exponential formula. From slow to fast.\n * !#zh 指数曲线缓入和缓出函数。运动由慢到很快再到慢。\n * @method expoInOut\n * @param {Number} t The current time as a percentage of the total time, then back to slow.\n * @return {Number} The correct value.\n */\n expoInOut: function (k) {\n if (k === 0) {\n return 0;\n }\n if (k === 1) {\n return 1;\n }\n if (( k *= 2 ) < 1) {\n return 0.5 * Math.pow(1024, k - 1);\n }\n return 0.5 * ( -Math.pow(2, -10 * ( k - 1 )) + 2 );\n },\n\n // circ\n // easing equation function for a circular (sqrt(1-t^2))\n // @param t: Current time (in frames or seconds).\n // @return:\tThe correct value.\n\n /**\n * !#en Easing in and out with circular formula. From slow to fast.\n * !#zh 循环公式缓入函数。运动由慢到快。\n * @method circIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n circIn: function (k) { return 1 - Math.sqrt(1 - k * k); },\n /**\n * !#en Easing in and out with circular formula. From fast to slow.\n * !#zh 循环公式缓出函数。运动由快到慢。\n * @method circOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n circOut: function (k) { return Math.sqrt(1 - ( --k * k )); },\n /**\n * !#en Easing in and out with circular formula. From slow to fast.\n * !#zh 指数曲线缓入缓出函数。运动由慢到很快再到慢。\n * @method circInOut\n * @param {Number} t The current time as a percentage of the total time, then back to slow.\n * @return {Number} The correct value.\n */\n circInOut: function (k) {\n if (( k *= 2 ) < 1) {\n return -0.5 * ( Math.sqrt(1 - k * k) - 1);\n }\n return 0.5 * ( Math.sqrt(1 - ( k -= 2) * k) + 1);\n },\n\n // elastic\n // easing equation function for an elastic (exponentially decaying sine wave)\n // @param t: Current time (in frames or seconds).\n // @return: The correct value.\n // recommand value: elastic (t)\n\n /**\n * !#en Easing in action with a spring oscillating effect.\n * !#zh 弹簧回震效果的缓入函数。\n * @method elasticIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n elasticIn: function (k) {\n var s, a = 0.1, p = 0.4;\n if (k === 0) {\n return 0;\n }\n if (k === 1) {\n return 1;\n }\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n }\n else {\n s = p * Math.asin(1 / a) / ( 2 * Math.PI );\n }\n return -( a * Math.pow(2, 10 * ( k -= 1 )) * Math.sin(( k - s ) * ( 2 * Math.PI ) / p) );\n },\n /**\n * !#en Easing out action with a spring oscillating effect.\n * !#zh 弹簧回震效果的缓出函数。\n * @method elasticOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n elasticOut: function (k) {\n var s, a = 0.1, p = 0.4;\n if (k === 0) {\n return 0;\n }\n if (k === 1) {\n return 1;\n }\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n }\n else {\n s = p * Math.asin(1 / a) / ( 2 * Math.PI );\n }\n return ( a * Math.pow(2, -10 * k) * Math.sin(( k - s ) * ( 2 * Math.PI ) / p) + 1 );\n },\n /**\n * !#en Easing in and out action with a spring oscillating effect.\n * !#zh 弹簧回震效果的缓入缓出函数。\n * @method elasticInOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n elasticInOut: function (k) {\n var s, a = 0.1, p = 0.4;\n if (k === 0) {\n return 0;\n }\n if (k === 1) {\n return 1;\n }\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n }\n else {\n s = p * Math.asin(1 / a) / ( 2 * Math.PI );\n }\n if (( k *= 2 ) < 1) {\n return -0.5 *\n ( a * Math.pow(2, 10 * ( k -= 1 )) * Math.sin(( k - s ) * ( 2 * Math.PI ) / p) );\n }\n return a * Math.pow(2, -10 * ( k -= 1 )) * Math.sin(( k - s ) * ( 2 * Math.PI ) / p) * 0.5 + 1;\n },\n\n // back\n // easing equation function for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2)\n // @param t: Current time (in frames or seconds).\n // @return: The correct value.\n\n /**\n * !#en Easing in action with \"back up\" behavior.\n * !#zh 回退效果的缓入函数。\n * @method backIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n backIn: function (k) {\n var s = 1.70158;\n return k * k * ( ( s + 1 ) * k - s );\n },\n /**\n * !#en Easing out action with \"back up\" behavior.\n * !#zh 回退效果的缓出函数。\n * @method backOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n backOut: function (k) {\n var s = 1.70158;\n return --k * k * ( ( s + 1 ) * k + s ) + 1;\n },\n /**\n * !#en Easing in and out action with \"back up\" behavior.\n * !#zh 回退效果的缓入缓出函数。\n * @method backInOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n backInOut: function (k) {\n var s = 1.70158 * 1.525;\n if (( k *= 2 ) < 1) {\n return 0.5 * ( k * k * ( ( s + 1 ) * k - s ) );\n }\n return 0.5 * ( ( k -= 2 ) * k * ( ( s + 1 ) * k + s ) + 2 );\n },\n\n // bounce\n // easing equation function for a bounce (exponentially decaying parabolic bounce)\n // @param t: Current time (in frames or seconds).\n // @return: The correct value.\n\n /**\n * !#en Easing in action with bouncing effect.\n * !#zh 弹跳效果的缓入函数。\n * @method bounceIn\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n bounceIn: function (k) {\n return 1 - easing.bounceOut(1 - k);\n },\n /**\n * !#en Easing out action with bouncing effect.\n * !#zh 弹跳效果的缓出函数。\n * @method bounceOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n bounceOut: function (k) {\n if (k < ( 1 / 2.75 )) {\n return 7.5625 * k * k;\n }\n else if (k < ( 2 / 2.75 )) {\n return 7.5625 * ( k -= ( 1.5 / 2.75 ) ) * k + 0.75;\n }\n else if (k < ( 2.5 / 2.75 )) {\n return 7.5625 * ( k -= ( 2.25 / 2.75 ) ) * k + 0.9375;\n }\n else {\n return 7.5625 * ( k -= ( 2.625 / 2.75 ) ) * k + 0.984375;\n }\n },\n /**\n * !#en Easing in and out action with bouncing effect.\n * !#zh 弹跳效果的缓入缓出函数。\n * @method bounceInOut\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n bounceInOut: function (k) {\n if (k < 0.5) {\n return easing.bounceIn(k * 2) * 0.5;\n }\n return easing.bounceOut(k * 2 - 1) * 0.5 + 0.5;\n },\n\n /**\n * !#en Target will run action with smooth effect.\n * !#zh 平滑效果函数。\n * @method smooth\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n // t<=0: 0 | 0=1: 1\n smooth: function (t) {\n if (t <= 0) {\n return 0;\n }\n if (t >= 1) {\n return 1;\n }\n return t * t * (3 - 2 * t);\n },\n\n /**\n * !#en Target will run action with fade effect.\n * !#zh 渐褪效果函数。\n * @method fade\n * @param {Number} t The current time as a percentage of the total time.\n * @return {Number} The correct value.\n */\n // t<=0: 0 | 0=1: 1\n fade: function (t) {\n if (t <= 0) {\n return 0;\n }\n if (t >= 1) {\n return 1;\n }\n return t * t * t * (t * (t * 6 - 15) + 10);\n },\n};\n\nfunction _makeOutIn (fnIn, fnOut) {\n return function (k) {\n if (k < 0.5) {\n return fnOut(k * 2) / 2;\n }\n return fnIn(2 * k - 1) / 2 + 0.5;\n };\n}\neasing.quadOutIn = _makeOutIn(easing.quadIn, easing.quadOut);\neasing.cubicOutIn = _makeOutIn(easing.cubicIn, easing.cubicOut);\neasing.quartOutIn = _makeOutIn(easing.quartIn, easing.quartOut);\neasing.quintOutIn = _makeOutIn(easing.quintIn, easing.quintOut);\neasing.sineOutIn = _makeOutIn(easing.sineIn, easing.sineOut);\neasing.expoOutIn = _makeOutIn(easing.expoIn, easing.expoOut);\neasing.circOutIn = _makeOutIn(easing.circIn, easing.circOut);\neasing.backOutIn = _makeOutIn(easing.backIn, easing.backOut);\neasing.bounceIn = function (k) { return 1 - easing.bounceOut(1 - k); };\neasing.bounceInOut = function (k) {\n if (k < 0.5) {\n return easing.bounceIn(k * 2) * 0.5;\n }\n return easing.bounceOut(k * 2 - 1) * 0.5 + 0.5;\n};\neasing.bounceOutIn = _makeOutIn(easing.bounceIn, easing.bounceOut);\n\n/**\n * @module cc\n */\n\n/**\n * !#en This is a Easing instance.\n * !#zh 这是一个 Easing 类实例。\n * @property easing\n * @type Easing\n */\n\ncc.easing = module.exports = easing;\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nrequire('./bezier');\nrequire('./easing');\nrequire('./types');\nrequire('./motion-path-helper');\nrequire('./animation-curves');\nrequire('./animation-clip');\nrequire('./animation-manager');\nrequire('./animation-state');\nrequire('./animation-animator');\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nvar DynamicAnimCurve = require('./animation-curves').DynamicAnimCurve;\nvar computeRatioByType = require('./animation-curves').computeRatioByType;\n\nvar bezier = require('./bezier').bezier;\nvar binarySearch = require('../core/utils/binary-search').binarySearchEpsilon;\n\nvar v2 = cc.v2;\n\nfunction Curve (points) {\n this.points = points || [];\n this.beziers = [];\n this.ratios = [];\n this.progresses = [];\n\n this.length = 0;\n\n this.computeBeziers();\n}\nCurve.prototype.computeBeziers = function () {\n this.beziers.length = 0;\n this.ratios.length = 0;\n this.progresses.length = 0;\n this.length = 0;\n\n var bezier;\n\n for (var i = 1; i < this.points.length; i++) {\n var startPoint = this.points[i - 1];\n var endPoint = this.points[i];\n bezier = new Bezier();\n bezier.start = startPoint.pos;\n bezier.startCtrlPoint = startPoint.out;\n bezier.end = endPoint.pos;\n bezier.endCtrlPoint = endPoint.in;\n this.beziers.push(bezier);\n\n this.length += bezier.getLength();\n }\n\n var current = 0;\n for (var i = 0; i < this.beziers.length; i++) {\n bezier = this.beziers[i];\n this.ratios[i] = bezier.getLength() / this.length;\n this.progresses[i] = current = current + this.ratios[i];\n }\n\n return this.beziers;\n};\n\nfunction Bezier () {\n this.start = v2();\n this.end = v2();\n this.startCtrlPoint = v2(); // cp0, cp1\n this.endCtrlPoint = v2(); // cp2, cp3\n}\n\n// Get point at relative position in curve according to arc length\n// - u [0 .. 1]\nBezier.prototype.getPointAt = function ( u ) {\n var t = this.getUtoTmapping( u );\n return this.getPoint( t );\n};\n\n\n// Get point at time t\n// - t [0 .. 1]\nBezier.prototype.getPoint = function ( t ) {\n var x = bezier(this.start.x, this.startCtrlPoint.x, this.endCtrlPoint.x, this.end.x, t);\n var y = bezier(this.start.y, this.startCtrlPoint.y, this.endCtrlPoint.y, this.end.y, t);\n\n return new v2(x, y);\n};\n\n// Get total curve arc length\nBezier.prototype.getLength = function () {\n\n var lengths = this.getLengths();\n return lengths[ lengths.length - 1 ];\n\n};\n\n// Get list of cumulative segment lengths\nBezier.prototype.getLengths = function ( divisions ) {\n\n if ( ! divisions ) divisions = (this.__arcLengthDivisions) ? (this.__arcLengthDivisions): 200;\n\n if ( this.cacheArcLengths\n && ( this.cacheArcLengths.length === divisions + 1 )) {\n\n //console.log( \"cached\", this.cacheArcLengths );\n return this.cacheArcLengths;\n\n }\n\n var cache = [];\n var current, last = this.getPoint( 0 ), vector = v2();\n var p, sum = 0;\n\n cache.push( 0 );\n\n for ( p = 1; p <= divisions; p ++ ) {\n\n current = this.getPoint ( p / divisions );\n vector.x = last.x - current.x;\n vector.y = last.y - current.y;\n sum += vector.mag();\n cache.push( sum );\n last = current;\n\n }\n\n this.cacheArcLengths = cache;\n\n return cache; // { sums: cache, sum:sum }; Sum is in the last element.\n};\n\nBezier.prototype.getUtoTmapping = function ( u, distance ) {\n\n var arcLengths = this.getLengths();\n\n var i = 0, il = arcLengths.length;\n\n var targetArcLength; // The targeted u distance value to get\n\n if ( distance ) {\n targetArcLength = distance;\n } else {\n targetArcLength = u * arcLengths[ il - 1 ];\n }\n\n //var time = Date.now();\n\n // binary search for the index with largest value smaller than target u distance\n\n var low = 0, high = il - 1, comparison;\n\n while ( low <= high ) {\n\n i = Math.floor( low + ( high - low ) / 2 ); // less likely to overflow, though probably not issue here, JS doesn't really have integers, all numbers are floats\n\n comparison = arcLengths[ i ] - targetArcLength;\n\n if ( comparison < 0 ) {\n\n low = i + 1;\n continue;\n\n } else if ( comparison > 0 ) {\n\n high = i - 1;\n continue;\n\n } else {\n\n high = i;\n break;\n\n // DONE\n\n }\n\n }\n\n i = high;\n\n //console.log('b' , i, low, high, Date.now()- time);\n\n if ( arcLengths[ i ] === targetArcLength ) {\n\n var t = i / ( il - 1 );\n return t;\n\n }\n\n // we could get finer grain at lengths, or use simple interpolatation between two points\n\n var lengthBefore = arcLengths[ i ];\n var lengthAfter = arcLengths[ i + 1 ];\n\n var segmentLength = lengthAfter - lengthBefore;\n\n // determine where we are between the 'before' and 'after' points\n\n var segmentFraction = ( targetArcLength - lengthBefore ) / segmentLength;\n\n // add that fractional amount to t\n\n var t = ( i + segmentFraction ) / ( il -1 );\n\n return t;\n};\n\n\nfunction checkMotionPath(motionPath) {\n if (!Array.isArray(motionPath)) return false;\n\n for (let i = 0, l = motionPath.length; i < l; i++) {\n let controls = motionPath[i];\n\n if (!Array.isArray(controls) || controls.length !== 6) return false;\n }\n\n return true;\n}\n\nfunction sampleMotionPaths (motionPaths, data, duration, fps, target) {\n\n function createControlPoints(array) {\n if (array instanceof cc.Vec2) {\n return {\n in: array,\n pos: array,\n out: array\n };\n }\n else if (Array.isArray(array) && array.length === 6) {\n return {\n in: v2(array[2], array[3]),\n pos: v2(array[0], array[1]),\n out: v2(array[4], array[5])\n };\n }\n\n return {\n in: cc.Vec2.ZERO,\n pos: cc.Vec2.ZERO,\n out: cc.Vec2.ZERO\n };\n }\n\n let values = data.values = data.values.map(function (value) {\n if (Array.isArray(value)) {\n value = value.length === 2 ? cc.v2(value[0], value[1]) : cc.v3(value[0], value[1], value[2]);\n }\n return value;\n });\n\n if (motionPaths.length === 0 || values.length === 0) {\n return;\n }\n\n let motionPathValid = false;\n for (let i = 0; i < motionPaths.length; i++) {\n let motionPath = motionPaths[i];\n if (motionPath && !checkMotionPath(motionPath)) {\n cc.errorID(3904, target ? target.name : '', 'position', i);\n motionPath = null;\n }\n if (motionPath && motionPath.length > 0) {\n motionPathValid = true;\n break;\n }\n }\n\n if (!motionPathValid) {\n return;\n }\n\n if (values.length === 1) {\n return;\n }\n\n var types = data.types;\n var ratios = data.ratios;\n\n var newValues = data.values = [];\n var newTypes = data.types = [];\n var newRatios = data.ratios = [];\n\n function addNewDatas (value, type, ratio) {\n newValues.push(value);\n newTypes.push(type);\n newRatios.push(ratio);\n }\n\n // ensure every ratio section's length is the same\n var startRatioOffset = 0;\n\n var EPSILON = 1e-6;\n var newType = DynamicAnimCurve.Linear;\n\n // do not need to compute last path\n for (var i = 0, l = motionPaths.length; i < l-1; i++) {\n var motionPath = motionPaths[i];\n\n var ratio = ratios[i];\n var nextRatio = ratios[i + 1];\n var betweenRatio = nextRatio - ratio;\n\n var value = values[i];\n var nextValue = values[i + 1];\n\n var type = types[i];\n\n var results = [];\n var progress = startRatioOffset / betweenRatio;\n var speed = 1 / (betweenRatio * duration * fps);\n var finalProgress;\n\n if (motionPath && motionPath.length > 0) {\n var points = [];\n points.push(createControlPoints(value));\n\n for (var j = 0, l2 = motionPath.length; j < l2; j++) {\n var controlPoints = createControlPoints(motionPath[j]);\n points.push(controlPoints);\n }\n\n points.push(createControlPoints(nextValue));\n\n // create Curve to compute beziers\n var curve = new Curve(points);\n curve.computeBeziers();\n\n // sample beziers\n var progresses = curve.progresses;\n\n while ( 1 - progress > EPSILON) {\n finalProgress = progress;\n\n finalProgress = computeRatioByType(finalProgress, type);\n\n var pos, bezier, normal, length;\n\n if (finalProgress < 0) {\n bezier = curve.beziers[0];\n length = (0 - finalProgress) * bezier.getLength();\n normal = bezier.start.sub(bezier.endCtrlPoint).normalize();\n pos = bezier.start.add(normal.mul(length));\n }\n else if (finalProgress > 1) {\n bezier = curve.beziers[curve.beziers.length - 1];\n length = (finalProgress - 1) * bezier.getLength();\n normal = bezier.end.sub(bezier.startCtrlPoint).normalize();\n pos = bezier.end.add(normal.mul(length));\n }\n else {\n var bezierIndex = binarySearch(progresses, finalProgress);\n if (bezierIndex < 0) bezierIndex = ~bezierIndex;\n\n finalProgress -= bezierIndex > 0 ? progresses[bezierIndex - 1] : 0;\n finalProgress = finalProgress / curve.ratios[bezierIndex];\n\n pos = curve.beziers[bezierIndex].getPointAt(finalProgress);\n }\n\n results.push(pos);\n progress += speed;\n }\n\n }\n else {\n while ( 1 - progress > EPSILON) {\n finalProgress = progress;\n\n finalProgress = computeRatioByType(finalProgress, type);\n\n results.push(value.lerp(nextValue, finalProgress));\n\n progress += speed;\n }\n }\n\n newType = type === 'constant' ? type : DynamicAnimCurve.Linear;\n\n for (var j = 0, l2 = results.length; j < l2; j++) {\n var newRatio = ratio + startRatioOffset + speed * j * betweenRatio;\n addNewDatas(results[j], newType, newRatio);\n }\n\n if (Math.abs(progress - 1) > EPSILON) // progress > 1\n startRatioOffset = (progress - 1) * betweenRatio;\n else\n startRatioOffset = 0;\n }\n\n if (ratios[ratios.length - 1] !== newRatios[newRatios.length -1]) {\n addNewDatas(values[values.length - 1], newType, ratios[ratios.length - 1]);\n }\n}\n\nif (CC_TEST) {\n cc._Test.sampleMotionPaths = sampleMotionPaths;\n}\n\nmodule.exports = {\n sampleMotionPaths: sampleMotionPaths,\n Curve: Curve,\n Bezier: Bezier\n};\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nvar js = cc.js;\nconst debug = require('../core/CCDebug');\n\n/**\n * @class Playable\n *\n */\nfunction Playable () {\n this._isPlaying = false;\n this._isPaused = false;\n this._stepOnce = false;\n}\n\nvar prototype = Playable.prototype;\n\n/**\n * !#en Is playing or paused in play mode?\n * !#zh 当前是否正在播放。\n * @property isPlaying\n * @type {boolean}\n * @default false\n * @readOnly\n */\njs.get(prototype, 'isPlaying', function () {\n return this._isPlaying;\n}, true);\n\n/**\n * !#en Is currently paused? This can be true even if in edit mode(isPlaying == false).\n * !#zh 当前是否正在暂停\n * @property isPaused\n * @type {boolean}\n * @default false\n * @readOnly\n */\njs.get(prototype, 'isPaused', function () {\n return this._isPaused;\n}, true);\n\n// virtual\n\nvar virtual = function () {};\n/**\n * @method onPlay\n * @private\n */\nprototype.onPlay = virtual;\n/**\n * @method onPause\n * @private\n */\nprototype.onPause = virtual;\n/**\n * @method onResume\n * @private\n */\nprototype.onResume = virtual;\n/**\n * @method onStop\n * @private\n */\nprototype.onStop = virtual;\n/**\n * @method onError\n * @param {string} errorCode\n * @private\n */\nprototype.onError = virtual;\n\n// public\n\n/**\n * !#en Play this animation.\n * !#zh 播放动画。\n * @method play\n */\nprototype.play = function () {\n if (this._isPlaying) {\n if (this._isPaused) {\n this._isPaused = false;\n this.onResume();\n }\n else {\n this.onError(debug.getError(3912));\n }\n }\n else {\n this._isPlaying = true;\n this.onPlay();\n }\n};\n\n/**\n * !#en Stop this animation.\n * !#zh 停止动画播放。\n * @method stop\n */\nprototype.stop = function () {\n if (this._isPlaying) {\n this._isPlaying = false;\n this.onStop();\n\n // need reset pause flag after onStop\n this._isPaused = false;\n }\n};\n\n/**\n * !#en Pause this animation.\n * !#zh 暂停动画。\n * @method pause\n */\nprototype.pause = function () {\n if (this._isPlaying && !this._isPaused) {\n this._isPaused = true;\n this.onPause();\n }\n};\n\n/**\n * !#en Resume this animation.\n * !#zh 重新播放动画。\n * @method resume\n */\nprototype.resume = function () {\n if (this._isPlaying && this._isPaused) {\n this._isPaused = false;\n this.onResume();\n }\n};\n\n/**\n * !#en Perform a single frame step.\n * !#zh 执行一帧动画。\n * @method step\n */\nprototype.step = function () {\n this.pause();\n this._stepOnce = true;\n if (!this._isPlaying) {\n this.play();\n }\n};\n\nmodule.exports = Playable;\n","/****************************************************************************\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nvar WrapModeMask = {\n Loop: 1 << 1,\n ShouldWrap: 1 << 2,\n // Reserved: 1 << 3,\n PingPong: 1 << 4 | 1 << 1 | 1 << 2, // Loop, ShouldWrap\n Reverse: 1 << 5 | 1 << 2, // ShouldWrap\n};\n\n/**\n * !#en Specifies how time is treated when it is outside of the keyframe range of an Animation.\n * !#zh 动画使用的循环模式。\n * @enum WrapMode\n * @memberof cc\n */\nvar WrapMode = cc.Enum({\n\n /**\n * !#en Reads the default wrap mode set higher up.\n * !#zh 向 Animation Component 或者 AnimationClip 查找 wrapMode\n * @property {Number} Default\n */\n Default: 0,\n\n /**\n * !#en All iterations are played as specified.\n * !#zh 动画只播放一遍\n * @property {Number} Normal\n */\n Normal: 1,\n\n /**\n * !#en All iterations are played in the reverse direction from the way they are specified.\n * !#zh 从最后一帧或结束位置开始反向播放,到第一帧或开始位置停止\n * @property {Number} Reverse\n */\n Reverse: WrapModeMask.Reverse,\n\n /**\n * !#en When time reaches the end of the animation, time will continue at the beginning.\n * !#zh 循环播放\n * @property {Number} Loop\n */\n Loop: WrapModeMask.Loop,\n\n /**\n * !#en All iterations are played in the reverse direction from the way they are specified.\n * And when time reaches the start of the animation, time will continue at the ending.\n * !#zh 反向循环播放\n * @property {Number} LoopReverse\n */\n LoopReverse: WrapModeMask.Loop | WrapModeMask.Reverse,\n\n /**\n * !#en Even iterations are played as specified, odd iterations are played in the reverse direction from the way they\n * are specified.\n * !#zh 从第一帧播放到最后一帧,然后反向播放回第一帧,到第一帧后再正向播放,如此循环\n * @property {Number} PingPong\n */\n PingPong: WrapModeMask.PingPong,\n\n /**\n * !#en Even iterations are played in the reverse direction from the way they are specified, odd iterations are played\n * as specified.\n * !#zh 从最后一帧开始反向播放,其他同 PingPong\n * @property {Number} PingPongReverse\n */\n PingPongReverse: WrapModeMask.PingPong | WrapModeMask.Reverse\n});\n\ncc.WrapMode = WrapMode;\n\n// For internal\nfunction WrappedInfo (info) {\n if (info) {\n this.set(info);\n return;\n }\n\n this.ratio = 0;\n this.time = 0;\n this.direction = 1;\n this.stopped = true;\n this.iterations = 0;\n this.frameIndex = undefined;\n}\n\nWrappedInfo.prototype.set = function (info) {\n this.ratio = info.ratio;\n this.time = info.time;\n this.direction = info.direction;\n this.stopped = info.stopped;\n this.iterations = info.iterations;\n this.frameIndex = info.frameIndex;\n};\n\nmodule.exports = {\n WrapModeMask,\n WrapMode,\n WrappedInfo\n};\n","/****************************************************************************\n Copyright (c) 2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst utils = require('./platform/utils');\nconst debugInfos = require('../../DebugInfos') || {};\nconst ERROR_MAP_URL = 'https://github.com/cocos-creator/engine/blob/master/EngineErrorMap.md';\n\n// the html element displays log in web page (DebugMode.INFO_FOR_WEB_PAGE)\nlet logList;\n\n/**\n * @module cc\n */\n\ncc.log = cc.warn = cc.error = cc.assert = console.log.bind ? console.log.bind(console) : console.log;\n\nlet resetDebugSetting = function (mode) {\n // reset\n cc.log = cc.warn = cc.error = cc.assert = function () {};\n\n if (mode === DebugMode.NONE)\n return;\n\n if (mode > DebugMode.ERROR) {\n //log to web page\n\n function logToWebPage (msg) {\n if (!cc.game.canvas)\n return;\n\n if (!logList) {\n var logDiv = document.createElement(\"Div\");\n logDiv.setAttribute(\"id\", \"logInfoDiv\");\n logDiv.setAttribute(\"width\", \"200\");\n logDiv.setAttribute(\"height\", cc.game.canvas.height);\n var logDivStyle = logDiv.style;\n logDivStyle.zIndex = \"99999\";\n logDivStyle.position = \"absolute\";\n logDivStyle.top = logDivStyle.left = \"0\";\n\n logList = document.createElement(\"textarea\");\n logList.setAttribute(\"rows\", \"20\");\n logList.setAttribute(\"cols\", \"30\");\n logList.setAttribute(\"disabled\", \"true\");\n var logListStyle = logList.style;\n logListStyle.backgroundColor = \"transparent\";\n logListStyle.borderBottom = \"1px solid #cccccc\";\n logListStyle.borderTopWidth = logListStyle.borderLeftWidth = logListStyle.borderRightWidth = \"0px\";\n logListStyle.borderTopStyle = logListStyle.borderLeftStyle = logListStyle.borderRightStyle = \"none\";\n logListStyle.padding = \"0px\";\n logListStyle.margin = 0;\n\n logDiv.appendChild(logList);\n cc.game.canvas.parentNode.appendChild(logDiv);\n }\n\n logList.value = logList.value + msg + \"\\r\\n\";\n logList.scrollTop = logList.scrollHeight;\n }\n\n cc.error = function () {\n logToWebPage(\"ERROR : \" + cc.js.formatStr.apply(null, arguments));\n };\n cc.assert = function (cond, msg) {\n 'use strict';\n if (!cond && msg) {\n msg = cc.js.formatStr.apply(null, cc.js.shiftArguments.apply(null, arguments));\n logToWebPage(\"ASSERT: \" + msg);\n }\n };\n if (mode !== DebugMode.ERROR_FOR_WEB_PAGE) {\n cc.warn = function () {\n logToWebPage(\"WARN : \" + cc.js.formatStr.apply(null, arguments));\n };\n }\n if (mode === DebugMode.INFO_FOR_WEB_PAGE) {\n cc.log = function () {\n logToWebPage(cc.js.formatStr.apply(null, arguments));\n };\n }\n }\n else if (console && console.log.apply) {//console is null when user doesn't open dev tool on IE9\n //log to console\n\n // For JSB\n if (!console.error) console.error = console.log;\n if (!console.warn) console.warn = console.log;\n\n /**\n * !#en\n * Outputs an error message to the Cocos Creator Console (editor) or Web Console (runtime).
\n * - In Cocos Creator, error is red.
\n * - In Chrome, error have a red icon along with red message text.
\n * !#zh\n * 输出错误消息到 Cocos Creator 编辑器的 Console 或运行时页面端的 Console 中。
\n * - 在 Cocos Creator 中,错误信息显示是红色的。
\n * - 在 Chrome 中,错误信息有红色的图标以及红色的消息文本。
\n *\n * @method error\n * @param {any} msg - A JavaScript string containing zero or more substitution strings.\n * @param {any} ...subst - JavaScript objects with which to replace substitution strings within msg. This gives you additional control over the format of the output.\n */\n if (CC_EDITOR) {\n cc.error = Editor.error;\n }\n else if (console.error.bind) {\n // use bind to avoid pollute call stacks\n cc.error = console.error.bind(console);\n }\n else {\n cc.error = CC_JSB || CC_RUNTIME ? console.error : function () {\n return console.error.apply(console, arguments);\n };\n }\n cc.assert = function (cond, msg) {\n if (!cond) {\n if (msg) {\n msg = cc.js.formatStr.apply(null, cc.js.shiftArguments.apply(null, arguments));\n }\n if (CC_DEV) {\n debugger;\n }\n if (CC_TEST) {\n ok(false, msg);\n }\n else {\n throw new Error(msg);\n }\n }\n }\n }\n if (mode !== DebugMode.ERROR) {\n /**\n * !#en\n * Outputs a warning message to the Cocos Creator Console (editor) or Web Console (runtime).\n * - In Cocos Creator, warning is yellow.\n * - In Chrome, warning have a yellow warning icon with the message text.\n * !#zh\n * 输出警告消息到 Cocos Creator 编辑器的 Console 或运行时 Web 端的 Console 中。
\n * - 在 Cocos Creator 中,警告信息显示是黄色的。
\n * - 在 Chrome 中,警告信息有着黄色的图标以及黄色的消息文本。
\n * @method warn\n * @param {any} msg - A JavaScript string containing zero or more substitution strings.\n * @param {any} ...subst - JavaScript objects with which to replace substitution strings within msg. This gives you additional control over the format of the output.\n */\n if (CC_EDITOR) {\n cc.warn = Editor.warn;\n }\n else if (console.warn.bind) {\n // use bind to avoid pollute call stacks\n cc.warn = console.warn.bind(console);\n }\n else {\n cc.warn = CC_JSB || CC_RUNTIME ? console.warn : function () {\n return console.warn.apply(console, arguments);\n };\n }\n }\n if (CC_EDITOR) {\n cc.log = Editor.log;\n }\n else if (mode === DebugMode.INFO) {\n /**\n * !#en Outputs a message to the Cocos Creator Console (editor) or Web Console (runtime).\n * !#zh 输出一条消息到 Cocos Creator 编辑器的 Console 或运行时 Web 端的 Console 中。\n * @method log\n * @param {String|any} msg - A JavaScript string containing zero or more substitution strings.\n * @param {any} ...subst - JavaScript objects with which to replace substitution strings within msg. This gives you additional control over the format of the output.\n */\n if (CC_JSB || CC_RUNTIME) {\n if (scriptEngineType === \"JavaScriptCore\") {\n // console.log has to use `console` as its context for iOS 8~9. Therefore, apply it.\n cc.log = function () {\n return console.log.apply(console, arguments);\n };\n } else {\n cc.log = console.log;\n }\n }\n else if (console.log.bind) {\n // use bind to avoid pollute call stacks\n cc.log = console.log.bind(console);\n }\n else {\n cc.log = function () {\n return console.log.apply(console, arguments);\n };\n }\n }\n};\n\ncc._throw = CC_EDITOR ? Editor.error : function (error) {\n utils.callInNextTick(function () {\n throw error;\n });\n};\n\nfunction getTypedFormatter (type) {\n return function () {\n var id = arguments[0];\n var msg = CC_DEBUG ? (debugInfos[id] || 'unknown id') : `${type} ${id}, please go to ${ERROR_MAP_URL}#${id} to see details.`;\n if (arguments.length === 1) {\n return msg;\n }\n else if (arguments.length === 2) {\n return CC_DEBUG ? cc.js.formatStr(msg, arguments[1]) :\n msg + ' Arguments: ' + arguments[1];\n }\n else {\n var argsArray = cc.js.shiftArguments.apply(null, arguments);\n return CC_DEBUG ? cc.js.formatStr.apply(null, [msg].concat(argsArray)) :\n msg + ' Arguments: ' + argsArray.join(', ');\n }\n };\n}\n\nvar logFormatter = getTypedFormatter('Log');\ncc.logID = function () {\n cc.log(logFormatter.apply(null, arguments));\n};\n\nvar warnFormatter = getTypedFormatter('Warning');\ncc.warnID = function () {\n cc.warn(warnFormatter.apply(null, arguments));\n};\n\nvar errorFormatter = getTypedFormatter('Error');\ncc.errorID = function () {\n cc.error(errorFormatter.apply(null, arguments));\n};\n\nvar assertFormatter = getTypedFormatter('Assert');\ncc.assertID = function (cond) {\n 'use strict';\n if (cond) {\n return;\n }\n cc.assert(false, assertFormatter.apply(null, cc.js.shiftArguments.apply(null, arguments)));\n};\n\n/**\n* !#en Enum for debug modes.\n* !#zh 调试模式\n* @enum debug.DebugMode\n* @memberof cc\n */\nvar DebugMode = cc.Enum({\n /**\n * !#en The debug mode none.\n * !#zh 禁止模式,禁止显示任何日志信息。\n * @property NONE\n * @type {Number}\n * @static\n */\n NONE: 0,\n /**\n * !#en The debug mode info.\n * !#zh 信息模式,在 console 中显示所有日志。\n * @property INFO\n * @type {Number}\n * @static\n */\n INFO: 1,\n /**\n * !#en The debug mode warn.\n * !#zh 警告模式,在 console 中只显示 warn 级别以上的(包含 error)日志。\n * @property WARN\n * @type {Number}\n * @static\n */\n WARN: 2,\n /**\n * !#en The debug mode error.\n * !#zh 错误模式,在 console 中只显示 error 日志。\n * @property ERROR\n * @type {Number}\n * @static\n */\n ERROR: 3,\n /**\n * !#en The debug mode info for web page.\n * !#zh 信息模式(仅 WEB 端有效),在画面上输出所有信息。\n * @property INFO_FOR_WEB_PAGE\n * @type {Number}\n * @static\n */\n INFO_FOR_WEB_PAGE: 4,\n /**\n * !#en The debug mode warn for web page.\n * !#zh 警告模式(仅 WEB 端有效),在画面上输出 warn 级别以上的(包含 error)信息。\n * @property WARN_FOR_WEB_PAGE\n * @type {Number}\n * @static\n */\n WARN_FOR_WEB_PAGE: 5,\n /**\n * !#en The debug mode error for web page.\n * !#zh 错误模式(仅 WEB 端有效),在画面上输出 error 信息。\n * @property ERROR_FOR_WEB_PAGE\n * @type {Number}\n * @static\n */\n ERROR_FOR_WEB_PAGE: 6\n});\n/**\n * !#en An object to boot the game.\n * !#zh 包含游戏主体信息并负责驱动游戏的游戏对象。\n * @class debug\n * @main\n * @static\n */\nmodule.exports = cc.debug = {\n DebugMode: DebugMode,\n\n _resetDebugSetting: resetDebugSetting,\n\n /**\n * !#en Gets error message with the error id and possible parameters.\n * !#zh 通过 error id 和必要的参数来获取错误信息。\n * @method getError\n * @param {Number} errorId\n * @param {any} [param]\n * @return {String}\n */\n getError: getTypedFormatter('ERROR'),\n\n /**\n * !#en Returns whether or not to display the FPS informations.\n * !#zh 是否显示 FPS 信息。\n * @method isDisplayStats\n * @return {Boolean}\n */\n isDisplayStats: function () {\n return cc.profiler ? cc.profiler.isShowingStats() : false;\n },\n\n /**\n * !#en Sets whether display the FPS on the bottom-left corner.\n * !#zh 设置是否在左下角显示 FPS。\n * @method setDisplayStats\n * @param {Boolean} displayStats\n */\n setDisplayStats: function (displayStats) {\n if (cc.profiler && cc.game.renderType !== cc.game.RENDER_TYPE_CANVAS) {\n displayStats ? cc.profiler.showStats() : cc.profiler.hideStats();\n cc.game.config.showFPS = !!displayStats;\n }\n },\n}","/****************************************************************************\n Copyright (c) 2008-2010 Ricardo Quesada\n Copyright (c) 2011-2012 cocos2d-x.org\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n http://www.cocos2d-x.org\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst EventTarget = require('./event/event-target');\nconst ComponentScheduler = require('./component-scheduler');\nconst NodeActivator = require('./node-activator');\nconst Obj = require('./platform/CCObject');\nconst game = require('./CCGame');\nconst renderer = require('./renderer');\nconst eventManager = require('./event-manager');\nconst Scheduler = require('./CCScheduler');\n\n//----------------------------------------------------------------------------------------------------------------------\n\n/**\n * !#en\n *

\n * ATTENTION: USE cc.director INSTEAD OF cc.Director.
\n * cc.director is a singleton object which manage your game's logic flow.
\n * Since the cc.director is a singleton, you don't need to call any constructor or create functions,
\n * the standard way to use it is by calling:
\n * - cc.director.methodName();
\n *\n * It creates and handle the main Window and manages how and when to execute the Scenes.
\n *
\n * The cc.director is also responsible for:
\n * - initializing the OpenGL context
\n * - setting the OpenGL pixel format (default on is RGB565)
\n * - setting the OpenGL buffer depth (default on is 0-bit)
\n * - setting the color for clear screen (default one is BLACK)
\n * - setting the projection (default one is 3D)
\n * - setting the orientation (default one is Portrait)
\n *
\n *
\n * The cc.director also sets the default OpenGL context:
\n * - GL_TEXTURE_2D is enabled
\n * - GL_VERTEX_ARRAY is enabled
\n * - GL_COLOR_ARRAY is enabled
\n * - GL_TEXTURE_COORD_ARRAY is enabled
\n *

\n *

\n * cc.director also synchronizes timers with the refresh rate of the display.
\n * Features and Limitations:
\n * - Scheduled timers & drawing are synchronizes with the refresh rate of the display
\n * - Only supports animation intervals of 1/60 1/30 & 1/15
\n *

\n *\n * !#zh\n *

\n * 注意:用 cc.director 代替 cc.Director。
\n * cc.director 一个管理你的游戏的逻辑流程的单例对象。
\n * 由于 cc.director 是一个单例,你不需要调用任何构造函数或创建函数,
\n * 使用它的标准方法是通过调用:
\n * - cc.director.methodName();\n *
\n * 它创建和处理主窗口并且管理什么时候执行场景。
\n *
\n * cc.director 还负责:
\n * - 初始化 OpenGL 环境。
\n * - 设置OpenGL像素格式。(默认是 RGB565)
\n * - 设置OpenGL缓冲区深度 (默认是 0-bit)
\n * - 设置空白场景的颜色 (默认是 黑色)
\n * - 设置投影 (默认是 3D)
\n * - 设置方向 (默认是 Portrait)
\n *
\n * cc.director 设置了 OpenGL 默认环境
\n * - GL_TEXTURE_2D 启用。
\n * - GL_VERTEX_ARRAY 启用。
\n * - GL_COLOR_ARRAY 启用。
\n * - GL_TEXTURE_COORD_ARRAY 启用。
\n *

\n *

\n * cc.director 也同步定时器与显示器的刷新速率。\n *
\n * 特点和局限性:
\n * - 将计时器 & 渲染与显示器的刷新频率同步。
\n * - 只支持动画的间隔 1/60 1/30 & 1/15。
\n *

\n *\n * @class Director\n * @extends EventTarget\n */\ncc.Director = function () {\n EventTarget.call(this);\n\n // paused?\n this._paused = false;\n // purge?\n this._purgeDirectorInNextLoop = false;\n\n this._winSizeInPoints = null;\n\n // scenes\n this._scene = null;\n this._loadingScene = '';\n\n // FPS\n this._totalFrames = 0;\n this._lastUpdate = 0;\n this._deltaTime = 0.0;\n this._startTime = 0.0;\n\n // ParticleSystem max step delta time\n this._maxParticleDeltaTime = 0.0;\n\n // Scheduler for user registration update\n this._scheduler = null;\n // Scheduler for life-cycle methods in component\n this._compScheduler = null;\n // Node activator\n this._nodeActivator = null;\n // Action manager\n this._actionManager = null;\n\n var self = this;\n game.on(game.EVENT_SHOW, function () {\n self._lastUpdate = performance.now();\n });\n\n game.once(game.EVENT_ENGINE_INITED, this.init, this);\n};\n\ncc.Director.prototype = {\n constructor: cc.Director,\n init: function () {\n this._totalFrames = 0;\n this._lastUpdate = performance.now();\n this._startTime = this._lastUpdate;\n this._paused = false;\n this._purgeDirectorInNextLoop = false;\n this._winSizeInPoints = cc.size(0, 0);\n this._scheduler = new Scheduler();\n\n if (cc.ActionManager) {\n this._actionManager = new cc.ActionManager();\n this._scheduler.scheduleUpdate(this._actionManager, Scheduler.PRIORITY_SYSTEM, false);\n } else {\n this._actionManager = null;\n }\n\n this.sharedInit();\n return true;\n },\n\n /*\n * Manage all init process shared between the web engine and jsb engine.\n * All platform independent init process should be occupied here.\n */\n sharedInit: function () {\n this._compScheduler = new ComponentScheduler();\n this._nodeActivator = new NodeActivator();\n\n // Event manager\n if (eventManager) {\n eventManager.setEnabled(true);\n }\n\n // Animation manager\n if (cc.AnimationManager) {\n this._animationManager = new cc.AnimationManager();\n this._scheduler.scheduleUpdate(this._animationManager, Scheduler.PRIORITY_SYSTEM, false);\n }\n else {\n this._animationManager = null;\n }\n\n // collision manager\n if (cc.CollisionManager) {\n this._collisionManager = new cc.CollisionManager();\n this._scheduler.scheduleUpdate(this._collisionManager, Scheduler.PRIORITY_SYSTEM, false);\n }\n else {\n this._collisionManager = null;\n }\n\n // physics manager\n if (cc.PhysicsManager) {\n this._physicsManager = new cc.PhysicsManager();\n this._scheduler.scheduleUpdate(this._physicsManager, Scheduler.PRIORITY_SYSTEM, false);\n }\n else {\n this._physicsManager = null;\n }\n\n // physics 3d manager\n if (cc.Physics3DManager && (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON)) {\n this._physics3DManager = new cc.Physics3DManager();\n this._scheduler.scheduleUpdate(this._physics3DManager, Scheduler.PRIORITY_SYSTEM, false);\n } else {\n this._physics3DManager = null;\n }\n\n // WidgetManager\n if (cc._widgetManager) {\n cc._widgetManager.init(this);\n }\n },\n\n /**\n * calculates delta time since last time it was called\n */\n calculateDeltaTime: function (now) {\n if (!now) now = performance.now();\n\n // avoid delta time from being negative\n // negative deltaTime would be caused by the precision of now's value, for details please see: https://developer.mozilla.org/zh-CN/docs/Web/API/window/requestAnimationFrame\n this._deltaTime = now > this._lastUpdate ? (now - this._lastUpdate) / 1000 : 0;\n if (CC_DEBUG && (this._deltaTime > 1))\n this._deltaTime = 1 / 60.0;\n\n this._lastUpdate = now;\n },\n\n /**\n * !#en\n * Converts a view coordinate to an WebGL coordinate
\n * Useful to convert (multi) touches coordinates to the current layout (portrait or landscape)
\n * Implementation can be found in CCDirectorWebGL.\n * !#zh 将触摸点的屏幕坐标转换为 WebGL View 下的坐标。\n * @method convertToGL\n * @param {Vec2} uiPoint\n * @return {Vec2}\n * @deprecated since v2.0\n */\n convertToGL: function (uiPoint) {\n var container = game.container;\n var view = cc.view;\n var box = container.getBoundingClientRect();\n var left = box.left + window.pageXOffset - container.clientLeft;\n var top = box.top + window.pageYOffset - container.clientTop;\n var x = view._devicePixelRatio * (uiPoint.x - left);\n var y = view._devicePixelRatio * (top + box.height - uiPoint.y);\n return view._isRotated ? cc.v2(view._viewportRect.width - y, x) : cc.v2(x, y);\n },\n\n /**\n * !#en\n * Converts an OpenGL coordinate to a view coordinate
\n * Useful to convert node points to window points for calls such as glScissor
\n * Implementation can be found in CCDirectorWebGL.\n * !#zh 将触摸点的 WebGL View 坐标转换为屏幕坐标。\n * @method convertToUI\n * @param {Vec2} glPoint\n * @return {Vec2}\n * @deprecated since v2.0\n */\n convertToUI: function (glPoint) {\n var container = game.container;\n var view = cc.view;\n var box = container.getBoundingClientRect();\n var left = box.left + window.pageXOffset - container.clientLeft;\n var top = box.top + window.pageYOffset - container.clientTop;\n var uiPoint = cc.v2(0, 0);\n if (view._isRotated) {\n uiPoint.x = left + glPoint.y / view._devicePixelRatio;\n uiPoint.y = top + box.height - (view._viewportRect.width - glPoint.x) / view._devicePixelRatio;\n }\n else {\n uiPoint.x = left + glPoint.x * view._devicePixelRatio;\n uiPoint.y = top + box.height - glPoint.y * view._devicePixelRatio;\n }\n return uiPoint;\n },\n\n /**\n * End the life of director in the next frame\n * @method end\n */\n end: function () {\n this._purgeDirectorInNextLoop = true;\n },\n\n /**\n * !#en\n * Returns the size of the WebGL view in points.
\n * It takes into account any possible rotation (device orientation) of the window.\n * !#zh 获取视图的大小,以点为单位。\n * @method getWinSize\n * @return {Size}\n * @deprecated since v2.0\n */\n getWinSize: function () {\n return cc.size(cc.winSize);\n },\n\n /**\n * !#en\n * Returns the size of the OpenGL view in pixels.
\n * It takes into account any possible rotation (device orientation) of the window.
\n * On Mac winSize and winSizeInPixels return the same value.\n * (The pixel here refers to the resource resolution. If you want to get the physics resolution of device, you need to use cc.view.getFrameSize())\n * !#zh\n * 获取视图大小,以像素为单位(这里的像素指的是资源分辨率。\n * 如果要获取屏幕物理分辨率,需要用 cc.view.getFrameSize())\n * @method getWinSizeInPixels\n * @return {Size}\n * @deprecated since v2.0\n */\n getWinSizeInPixels: function () {\n return cc.size(cc.winSize);\n },\n\n /**\n * !#en Pause the director's ticker, only involve the game logic execution.\n * It won't pause the rendering process nor the event manager.\n * If you want to pause the entier game including rendering, audio and event, \n * please use {{#crossLink \"Game.pause\"}}cc.game.pause{{/crossLink}}\n * !#zh 暂停正在运行的场景,该暂停只会停止游戏逻辑执行,但是不会停止渲染和 UI 响应。\n * 如果想要更彻底得暂停游戏,包含渲染,音频和事件,请使用 {{#crossLink \"Game.pause\"}}cc.game.pause{{/crossLink}}。\n * @method pause\n */\n pause: function () {\n if (this._paused)\n return;\n this._paused = true;\n },\n\n /**\n * Removes cached all cocos2d cached data.\n * @deprecated since v2.0\n */\n purgeCachedData: function () {\n cc.assetManager.releaseAll();\n },\n\n /**\n * Purge the cc.director itself, including unschedule all schedule, remove all event listeners, clean up and exit the running scene, stops all animations, clear cached data.\n */\n purgeDirector: function () {\n //cleanup scheduler\n this._scheduler.unscheduleAll();\n this._compScheduler.unscheduleAll();\n\n this._nodeActivator.reset();\n\n // Disable event dispatching\n if (eventManager)\n eventManager.setEnabled(false);\n\n if (!CC_EDITOR) {\n if (cc.isValid(this._scene)) {\n this._scene.destroy();\n }\n this._scene = null;\n\n cc.renderer.clear();\n cc.assetManager.builtins.clear();\n }\n\n cc.game.pause();\n\n // Clear all caches\n cc.assetManager.releaseAll();\n },\n\n /**\n * Reset the cc.director, can be used to restart the director after purge\n */\n reset: function () {\n this.purgeDirector();\n\n if (eventManager)\n eventManager.setEnabled(true);\n\n // Action manager\n if (this._actionManager){\n this._scheduler.scheduleUpdate(this._actionManager, cc.Scheduler.PRIORITY_SYSTEM, false);\n }\n\n // Animation manager\n if (this._animationManager) {\n this._scheduler.scheduleUpdate(this._animationManager, cc.Scheduler.PRIORITY_SYSTEM, false);\n }\n\n // Collider manager\n if (this._collisionManager) {\n this._scheduler.scheduleUpdate(this._collisionManager, cc.Scheduler.PRIORITY_SYSTEM, false);\n }\n\n // Physics manager\n if (this._physicsManager) {\n this._scheduler.scheduleUpdate(this._physicsManager, cc.Scheduler.PRIORITY_SYSTEM, false);\n }\n\n cc.game.resume();\n },\n\n /**\n * !#en\n * Run a scene. Replaces the running scene with a new one or enter the first scene.
\n * The new scene will be launched immediately.\n * !#zh 立刻切换指定场景。\n * @method runSceneImmediate\n * @param {Scene|SceneAsset} scene - The need run scene.\n * @param {Function} [onBeforeLoadScene] - The function invoked at the scene before loading.\n * @param {Function} [onLaunched] - The function invoked at the scene after launch.\n */\n runSceneImmediate: function (scene, onBeforeLoadScene, onLaunched) {\n cc.assertID(scene instanceof cc.Scene || scene instanceof cc.SceneAsset, 1216);\n\n if (scene instanceof cc.SceneAsset) scene = scene.scene;\n\n CC_BUILD && CC_DEBUG && console.time('InitScene');\n scene._load(); // ensure scene initialized\n CC_BUILD && CC_DEBUG && console.timeEnd('InitScene');\n\n // Re-attach or replace persist nodes\n CC_BUILD && CC_DEBUG && console.time('AttachPersist');\n var persistNodeList = Object.keys(game._persistRootNodes).map(function (x) {\n return game._persistRootNodes[x];\n });\n for (let i = 0; i < persistNodeList.length; i++) {\n let node = persistNodeList[i];\n var existNode = scene.getChildByUuid(node.uuid);\n if (existNode) {\n // scene also contains the persist node, select the old one\n var index = existNode.getSiblingIndex();\n existNode._destroyImmediate();\n scene.insertChild(node, index);\n }\n else {\n node.parent = scene;\n }\n }\n CC_BUILD && CC_DEBUG && console.timeEnd('AttachPersist');\n\n var oldScene = this._scene;\n if (!CC_EDITOR) {\n // auto release assets\n CC_BUILD && CC_DEBUG && console.time('AutoRelease');\n cc.assetManager._releaseManager._autoRelease(oldScene, scene, game._persistRootNodes);\n CC_BUILD && CC_DEBUG && console.timeEnd('AutoRelease');\n }\n\n // unload scene\n CC_BUILD && CC_DEBUG && console.time('Destroy');\n if (cc.isValid(oldScene)) {\n oldScene.destroy();\n }\n\n this._scene = null;\n\n // purge destroyed nodes belongs to old scene\n Obj._deferredDestroy();\n CC_BUILD && CC_DEBUG && console.timeEnd('Destroy');\n\n if (onBeforeLoadScene) {\n onBeforeLoadScene();\n }\n this.emit(cc.Director.EVENT_BEFORE_SCENE_LAUNCH, scene);\n\n // Run an Entity Scene\n this._scene = scene;\n\n CC_BUILD && CC_DEBUG && console.time('Activate');\n scene._activate();\n CC_BUILD && CC_DEBUG && console.timeEnd('Activate');\n\n //start scene\n cc.game.resume();\n\n if (onLaunched) {\n onLaunched(null, scene);\n }\n this.emit(cc.Director.EVENT_AFTER_SCENE_LAUNCH, scene);\n },\n\n /**\n * !#en\n * Run a scene. Replaces the running scene with a new one or enter the first scene.\n * The new scene will be launched at the end of the current frame.\n * !#zh 运行指定场景。\n * @method runScene\n * @param {Scene|SceneAsset} scene - The need run scene.\n * @param {Function} [onBeforeLoadScene] - The function invoked at the scene before loading.\n * @param {Function} [onLaunched] - The function invoked at the scene after launch.\n */\n runScene: function (scene, onBeforeLoadScene, onLaunched) {\n cc.assertID(scene, 1205);\n cc.assertID(scene instanceof cc.Scene || scene instanceof cc.SceneAsset, 1216);\n\n if (scene instanceof cc.SceneAsset) scene = scene.scene;\n // ensure scene initialized\n scene._load();\n\n // Delay run / replace scene to the end of the frame\n this.once(cc.Director.EVENT_AFTER_DRAW, function () {\n this.runSceneImmediate(scene, onBeforeLoadScene, onLaunched);\n }, this);\n },\n\n /**\n * !#en Loads the scene by its name.\n * !#zh 通过场景名称进行加载场景。\n *\n * @method loadScene\n * @param {String} sceneName - The name of the scene to load.\n * @param {Function} [onLaunched] - callback, will be called after scene launched.\n * @return {Boolean} if error, return false\n */\n loadScene: function (sceneName, onLaunched, _onUnloaded) {\n if (this._loadingScene) {\n cc.warnID(1208, sceneName, this._loadingScene);\n return false;\n }\n var bundle = cc.assetManager.bundles.find(function (bundle) {\n return bundle.getSceneInfo(sceneName);\n });\n if (bundle) {\n this.emit(cc.Director.EVENT_BEFORE_SCENE_LOADING, sceneName);\n this._loadingScene = sceneName;\n var self = this;\n console.time('LoadScene ' + sceneName);\n bundle.loadScene(sceneName, function (err, scene) {\n console.timeEnd('LoadScene ' + sceneName);\n self._loadingScene = '';\n if (err) {\n err = 'Failed to load scene: ' + err;\n cc.error(err);\n onLaunched && onLaunched(err);\n }\n else {\n self.runSceneImmediate(scene, _onUnloaded, onLaunched);\n }\n });\n return true;\n }\n else {\n cc.errorID(1209, sceneName);\n return false;\n }\n },\n\n /**\n * !#en\n * Preloads the scene to reduces loading time. You can call this method at any time you want.\n * After calling this method, you still need to launch the scene by `cc.director.loadScene`.\n * It will be totally fine to call `cc.director.loadScene` at any time even if the preloading is not\n * yet finished, the scene will be launched after loaded automatically.\n * !#zh 预加载场景,你可以在任何时候调用这个方法。\n * 调用完后,你仍然需要通过 `cc.director.loadScene` 来启动场景,因为这个方法不会执行场景加载操作。\n * 就算预加载还没完成,你也可以直接调用 `cc.director.loadScene`,加载完成后场景就会启动。\n *\n * @method preloadScene\n * @param {String} sceneName - The name of the scene to preload.\n * @param {Function} [onProgress] - callback, will be called when the load progression change.\n * @param {Number} onProgress.completedCount - The number of the items that are already completed\n * @param {Number} onProgress.totalCount - The total number of the items\n * @param {Object} onProgress.item - The latest item which flow out the pipeline\n * @param {Function} [onLoaded] - callback, will be called after scene loaded.\n * @param {Error} onLoaded.error - null or the error object.\n */\n preloadScene (sceneName, onProgress, onLoaded) {\n var bundle = cc.assetManager.bundles.find(function (bundle) {\n return bundle.getSceneInfo(sceneName);\n });\n if (bundle) {\n bundle.preloadScene(sceneName, null, onProgress, onLoaded);\n }\n else {\n cc.errorID(1209, sceneName);\n return null;\n }\n },\n\n\n /**\n * !#en Resume game logic execution after pause, if the current scene is not paused, nothing will happen.\n * !#zh 恢复暂停场景的游戏逻辑,如果当前场景没有暂停将没任何事情发生。\n * @method resume\n */\n resume: function () {\n if (!this._paused) {\n return;\n }\n\n this._lastUpdate = performance.now();\n if (!this._lastUpdate) {\n cc.logID(1200);\n }\n\n this._paused = false;\n this._deltaTime = 0;\n },\n\n /**\n * !#en\n * Enables or disables WebGL depth test.
\n * Implementation can be found in CCDirectorCanvas.js/CCDirectorWebGL.js\n * !#zh 启用/禁用深度测试(在 Canvas 渲染模式下不会生效)。\n * @method setDepthTest\n * @param {Boolean} on\n * @deprecated since v2.0\n */\n setDepthTest: function (value) {\n if (!cc.Camera.main) {\n return;\n }\n cc.Camera.main.depth = !!value;\n },\n\n /**\n * !#en\n * Set color for clear screen.
\n * (Implementation can be found in CCDirectorCanvas.js/CCDirectorWebGL.js)\n * !#zh\n * 设置场景的默认擦除颜色。
\n * 支持全透明,但不支持透明度为中间值。要支持全透明需手工开启 cc.macro.ENABLE_TRANSPARENT_CANVAS。\n * @method setClearColor\n * @param {Color} clearColor\n * @deprecated since v2.0\n */\n setClearColor: function (clearColor) {\n if (!cc.Camera.main) {\n return;\n }\n cc.Camera.main.backgroundColor = clearColor;\n },\n\n /**\n * !#en Returns current logic Scene.\n * !#zh 获取当前逻辑场景。\n * @method getRunningScene\n * @private\n * @return {Scene}\n * @deprecated since v2.0\n */\n getRunningScene: function () {\n return this._scene;\n },\n\n /**\n * !#en Returns current logic Scene.\n * !#zh 获取当前逻辑场景。\n * @method getScene\n * @return {Scene}\n * @example\n * // This will help you to get the Canvas node in scene\n * cc.director.getScene().getChildByName('Canvas');\n */\n getScene: function () {\n return this._scene;\n },\n\n /**\n * !#en Returns the FPS value. Please use {{#crossLink \"Game.setFrameRate\"}}cc.game.setFrameRate{{/crossLink}} to control animation interval.\n * !#zh 获取单位帧执行时间。请使用 {{#crossLink \"Game.setFrameRate\"}}cc.game.setFrameRate{{/crossLink}} 来控制游戏帧率。\n * @method getAnimationInterval\n * @deprecated since v2.0\n * @return {Number}\n */\n getAnimationInterval: function () {\n return 1000 / game.getFrameRate();\n },\n\n /**\n * Sets animation interval, this doesn't control the main loop.\n * To control the game's frame rate overall, please use {{#crossLink \"Game.setFrameRate\"}}cc.game.setFrameRate{{/crossLink}}\n * @method setAnimationInterval\n * @deprecated since v2.0\n * @param {Number} value - The animation interval desired.\n */\n setAnimationInterval: function (value) {\n game.setFrameRate(Math.round(1000 / value));\n },\n\n /**\n * !#en Returns the delta time since last frame.\n * !#zh 获取上一帧的增量时间。\n * @method getDeltaTime\n * @return {Number}\n */\n getDeltaTime: function () {\n return this._deltaTime;\n },\n\n /**\n * !#en Returns the total passed time since game start, unit: ms\n * !#zh 获取从游戏开始到现在总共经过的时间,单位为 ms\n * @method getTotalTime\n * @return {Number}\n */\n getTotalTime: function () {\n return performance.now() - this._startTime;\n },\n\n /**\n * !#en Returns how many frames were called since the director started.\n * !#zh 获取 director 启动以来游戏运行的总帧数。\n * @method getTotalFrames\n * @return {Number}\n */\n getTotalFrames: function () {\n return this._totalFrames;\n },\n\n /**\n * !#en Returns whether or not the Director is paused.\n * !#zh 是否处于暂停状态。\n * @method isPaused\n * @return {Boolean}\n */\n isPaused: function () {\n return this._paused;\n },\n\n /**\n * !#en Returns the cc.Scheduler associated with this director.\n * !#zh 获取和 director 相关联的 cc.Scheduler。\n * @method getScheduler\n * @return {Scheduler}\n */\n getScheduler: function () {\n return this._scheduler;\n },\n\n /**\n * !#en Sets the cc.Scheduler associated with this director.\n * !#zh 设置和 director 相关联的 cc.Scheduler。\n * @method setScheduler\n * @param {Scheduler} scheduler\n */\n setScheduler: function (scheduler) {\n if (this._scheduler !== scheduler) {\n this._scheduler = scheduler;\n }\n },\n\n /**\n * !#en Returns the cc.ActionManager associated with this director.\n * !#zh 获取和 director 相关联的 cc.ActionManager(动作管理器)。\n * @method getActionManager\n * @return {ActionManager}\n */\n getActionManager: function () {\n return this._actionManager;\n },\n /**\n * !#en Sets the cc.ActionManager associated with this director.\n * !#zh 设置和 director 相关联的 cc.ActionManager(动作管理器)。\n * @method setActionManager\n * @param {ActionManager} actionManager\n */\n setActionManager: function (actionManager) {\n if (this._actionManager !== actionManager) {\n if (this._actionManager) {\n this._scheduler.unscheduleUpdate(this._actionManager);\n }\n this._actionManager = actionManager;\n this._scheduler.scheduleUpdate(this._actionManager, cc.Scheduler.PRIORITY_SYSTEM, false);\n }\n },\n\n /* \n * !#en Returns the cc.AnimationManager associated with this director.\n * !#zh 获取和 director 相关联的 cc.AnimationManager(动画管理器)。\n * @method getAnimationManager\n * @return {AnimationManager}\n */\n getAnimationManager: function () {\n return this._animationManager;\n },\n\n /**\n * !#en Returns the cc.CollisionManager associated with this director.\n * !#zh 获取和 director 相关联的 cc.CollisionManager (碰撞管理器)。\n * @method getCollisionManager\n * @return {CollisionManager}\n */\n getCollisionManager: function () {\n return this._collisionManager;\n },\n\n /**\n * !#en Returns the cc.PhysicsManager associated with this director.\n * !#zh 返回与 director 相关联的 cc.PhysicsManager (物理管理器)。\n * @method getPhysicsManager\n * @return {PhysicsManager}\n */\n getPhysicsManager: function () {\n return this._physicsManager;\n },\n\n /**\n * !#en Returns the cc.Physics3DManager associated with this director.\n * !#zh 返回与 director 相关联的 cc.Physics3DManager (物理管理器)。\n * @method getPhysics3DManager\n * @return {Physics3DManager}\n */\n getPhysics3DManager: function () {\n return this._physics3DManager;\n },\n\n // Loop management\n /*\n * Starts Animation\n * @deprecated since v2.1.2\n */\n startAnimation: function () {\n cc.game.resume();\n },\n\n /*\n * Stops animation\n * @deprecated since v2.1.2\n */\n stopAnimation: function () {\n cc.game.pause();\n },\n\n _resetDeltaTime () {\n this._lastUpdate = performance.now();\n this._deltaTime = 0;\n },\n\n /*\n * Run main loop of director\n */\n mainLoop: CC_EDITOR ? function (deltaTime, updateAnimate) {\n this._deltaTime = deltaTime;\n\n // Update\n if (!this._paused) {\n this.emit(cc.Director.EVENT_BEFORE_UPDATE);\n\n this._compScheduler.startPhase();\n this._compScheduler.updatePhase(deltaTime);\n\n if (updateAnimate) {\n this._scheduler.update(deltaTime);\n }\n\n this._compScheduler.lateUpdatePhase(deltaTime);\n\n this.emit(cc.Director.EVENT_AFTER_UPDATE);\n }\n\n // Render\n this.emit(cc.Director.EVENT_BEFORE_DRAW);\n renderer.render(this._scene, deltaTime);\n \n // After draw\n this.emit(cc.Director.EVENT_AFTER_DRAW);\n\n this._totalFrames++;\n\n } : function (now) {\n if (this._purgeDirectorInNextLoop) {\n this._purgeDirectorInNextLoop = false;\n this.purgeDirector();\n }\n else {\n // calculate \"global\" dt\n this.calculateDeltaTime(now);\n\n // Update\n if (!this._paused) {\n // before update\n this.emit(cc.Director.EVENT_BEFORE_UPDATE);\n\n // Call start for new added components\n this._compScheduler.startPhase();\n\n // Update for components\n this._compScheduler.updatePhase(this._deltaTime);\n // Engine update with scheduler\n this._scheduler.update(this._deltaTime);\n\n // Late update for components\n this._compScheduler.lateUpdatePhase(this._deltaTime);\n\n // User can use this event to do things after update\n this.emit(cc.Director.EVENT_AFTER_UPDATE);\n \n // Destroy entities that have been removed recently\n Obj._deferredDestroy();\n }\n\n // Render\n this.emit(cc.Director.EVENT_BEFORE_DRAW);\n renderer.render(this._scene, this._deltaTime);\n\n // After draw\n this.emit(cc.Director.EVENT_AFTER_DRAW);\n\n eventManager.frameUpdateListeners();\n this._totalFrames++;\n }\n },\n\n __fastOn: function (type, callback, target) {\n this.on(type, callback, target);\n },\n\n __fastOff: function (type, callback, target) {\n this.off(type, callback, target);\n },\n};\n\n// Event target\ncc.js.addon(cc.Director.prototype, EventTarget.prototype);\n\n/**\n * !#en The event projection changed of cc.Director. This event will not get triggered since v2.0\n * !#zh cc.Director 投影变化的事件。从 v2.0 开始这个事件不会再被触发\n * @property {String} EVENT_PROJECTION_CHANGED\n * @readonly\n * @static\n * @deprecated since v2.0\n */\ncc.Director.EVENT_PROJECTION_CHANGED = \"director_projection_changed\";\n\n/**\n * !#en The event which will be triggered before loading a new scene.\n * !#zh 加载新场景之前所触发的事件。\n * @event cc.Director.EVENT_BEFORE_SCENE_LOADING\n * @param {String} sceneName - The loading scene name\n */\n/**\n * !#en The event which will be triggered before loading a new scene.\n * !#zh 加载新场景之前所触发的事件。\n * @property {String} EVENT_BEFORE_SCENE_LOADING\n * @readonly\n * @static\n */\ncc.Director.EVENT_BEFORE_SCENE_LOADING = \"director_before_scene_loading\";\n\n/*\n * !#en The event which will be triggered before launching a new scene.\n * !#zh 运行新场景之前所触发的事件。\n * @event cc.Director.EVENT_BEFORE_SCENE_LAUNCH\n * @param {String} sceneName - New scene which will be launched\n */\n/**\n * !#en The event which will be triggered before launching a new scene.\n * !#zh 运行新场景之前所触发的事件。\n * @property {String} EVENT_BEFORE_SCENE_LAUNCH\n * @readonly\n * @static\n */\ncc.Director.EVENT_BEFORE_SCENE_LAUNCH = \"director_before_scene_launch\";\n\n/**\n * !#en The event which will be triggered after launching a new scene.\n * !#zh 运行新场景之后所触发的事件。\n * @event cc.Director.EVENT_AFTER_SCENE_LAUNCH\n * @param {String} sceneName - New scene which is launched\n */\n/**\n * !#en The event which will be triggered after launching a new scene.\n * !#zh 运行新场景之后所触发的事件。\n * @property {String} EVENT_AFTER_SCENE_LAUNCH\n * @readonly\n * @static\n */\ncc.Director.EVENT_AFTER_SCENE_LAUNCH = \"director_after_scene_launch\";\n\n/**\n * !#en The event which will be triggered at the beginning of every frame.\n * !#zh 每个帧的开始时所触发的事件。\n * @event cc.Director.EVENT_BEFORE_UPDATE\n */\n/**\n * !#en The event which will be triggered at the beginning of every frame.\n * !#zh 每个帧的开始时所触发的事件。\n * @property {String} EVENT_BEFORE_UPDATE\n * @readonly\n * @static\n */\ncc.Director.EVENT_BEFORE_UPDATE = \"director_before_update\";\n\n/**\n * !#en The event which will be triggered after engine and components update logic.\n * !#zh 将在引擎和组件 “update” 逻辑之后所触发的事件。\n * @event cc.Director.EVENT_AFTER_UPDATE\n */\n/**\n * !#en The event which will be triggered after engine and components update logic.\n * !#zh 将在引擎和组件 “update” 逻辑之后所触发的事件。\n * @property {String} EVENT_AFTER_UPDATE\n * @readonly\n * @static\n */\ncc.Director.EVENT_AFTER_UPDATE = \"director_after_update\";\n\n/**\n * !#en The event is deprecated since v2.0, please use cc.Director.EVENT_BEFORE_DRAW instead\n * !#zh 这个事件从 v2.0 开始被废弃,请直接使用 cc.Director.EVENT_BEFORE_DRAW\n * @property {String} EVENT_BEFORE_VISIT\n * @readonly\n * @deprecated since v2.0\n * @static\n */\ncc.Director.EVENT_BEFORE_VISIT = \"director_before_draw\";\n\n/**\n * !#en The event is deprecated since v2.0, please use cc.Director.EVENT_BEFORE_DRAW instead\n * !#zh 这个事件从 v2.0 开始被废弃,请直接使用 cc.Director.EVENT_BEFORE_DRAW\n * @property {String} EVENT_AFTER_VISIT\n * @readonly\n * @deprecated since v2.0\n * @static\n */\ncc.Director.EVENT_AFTER_VISIT = \"director_before_draw\";\n\n/**\n * !#en The event which will be triggered before the rendering process.\n * !#zh 渲染过程之前所触发的事件。\n * @event cc.Director.EVENT_BEFORE_DRAW\n */\n/**\n * !#en The event which will be triggered before the rendering process.\n * !#zh 渲染过程之前所触发的事件。\n * @property {String} EVENT_BEFORE_DRAW\n * @readonly\n * @static\n */\ncc.Director.EVENT_BEFORE_DRAW = \"director_before_draw\";\n\n/**\n * !#en The event which will be triggered after the rendering process.\n * !#zh 渲染过程之后所触发的事件。\n * @event cc.Director.EVENT_AFTER_DRAW\n */\n/**\n * !#en The event which will be triggered after the rendering process.\n * !#zh 渲染过程之后所触发的事件。\n * @property {String} EVENT_AFTER_DRAW\n * @readonly\n * @static\n */\ncc.Director.EVENT_AFTER_DRAW = \"director_after_draw\";\n\n//Possible OpenGL projections used by director\n\n/**\n * Constant for 2D projection (orthogonal projection)\n * @property {Number} PROJECTION_2D\n * @default 0\n * @readonly\n * @static\n * @deprecated since v2.0\n */\ncc.Director.PROJECTION_2D = 0;\n\n/**\n * Constant for 3D projection with a fovy=60, znear=0.5f and zfar=1500.\n * @property {Number} PROJECTION_3D\n * @default 1\n * @readonly\n * @static\n * @deprecated since v2.0\n */\ncc.Director.PROJECTION_3D = 1;\n\n/**\n * Constant for custom projection, if cc.Director's projection set to it, it calls \"updateProjection\" on the projection delegate.\n * @property {Number} PROJECTION_CUSTOM\n * @default 3\n * @readonly\n * @static\n * @deprecated since v2.0\n */\ncc.Director.PROJECTION_CUSTOM = 3;\n\n/**\n * Constant for default projection of cc.Director, default projection is 2D projection\n * @property {Number} PROJECTION_DEFAULT\n * @default cc.Director.PROJECTION_2D\n * @readonly\n * @static\n * @deprecated since v2.0\n */\ncc.Director.PROJECTION_DEFAULT = cc.Director.PROJECTION_2D;\n\n/**\n * The event which will be triggered before the physics process.
\n * 物理过程之前所触发的事件。\n * @event Director.EVENT_BEFORE_PHYSICS\n * @readonly\n */\ncc.Director.EVENT_BEFORE_PHYSICS = 'director_before_physics';\n\n/**\n * The event which will be triggered after the physics process.
\n * 物理过程之后所触发的事件。\n * @event Director.EVENT_AFTER_PHYSICS\n * @readonly\n */\ncc.Director.EVENT_AFTER_PHYSICS = 'director_after_physics';\n\n/**\n * @module cc\n */\n\n/**\n * !#en Director\n * !#zh 导演类。\n * @property director\n * @type {Director}\n */\ncc.director = new cc.Director();\n\nmodule.exports = cc.director;","/****************************************************************************\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nvar EventTarget = require('./event/event-target');\nrequire('../audio/CCAudioEngine');\nconst debug = require('./CCDebug');\nconst renderer = require('./renderer/index.js');\nconst dynamicAtlasManager = require('../core/renderer/utils/dynamic-atlas/manager');\n\n/**\n * @module cc\n */\n\n/**\n * !#en An object to boot the game.\n * !#zh 包含游戏主体信息并负责驱动游戏的游戏对象。\n * @class Game\n * @extends EventTarget\n */\nvar game = {\n /**\n * !#en Event triggered when game hide to background.\n * Please note that this event is not 100% guaranteed to be fired on Web platform,\n * on native platforms, it corresponds to enter background event, os status bar or notification center may not trigger this event.\n * !#zh 游戏进入后台时触发的事件。\n * 请注意,在 WEB 平台,这个事件不一定会 100% 触发,这完全取决于浏览器的回调行为。\n * 在原生平台,它对应的是应用被切换到后台事件,下拉菜单和上拉状态栏等不一定会触发这个事件,这取决于系统行为。\n * @property EVENT_HIDE\n * @type {String}\n * @example\n * cc.game.on(cc.game.EVENT_HIDE, function () {\n * cc.audioEngine.pauseMusic();\n * cc.audioEngine.pauseAllEffects();\n * });\n */\n EVENT_HIDE: \"game_on_hide\",\n\n /**\n * !#en Event triggered when game back to foreground\n * Please note that this event is not 100% guaranteed to be fired on Web platform,\n * on native platforms, it corresponds to enter foreground event.\n * !#zh 游戏进入前台运行时触发的事件。\n * 请注意,在 WEB 平台,这个事件不一定会 100% 触发,这完全取决于浏览器的回调行为。\n * 在原生平台,它对应的是应用被切换到前台事件。\n * @property EVENT_SHOW\n * @constant\n * @type {String}\n */\n EVENT_SHOW: \"game_on_show\",\n\n /**\n * !#en Event triggered when game restart\n * !#zh 调用restart后,触发事件。\n * @property EVENT_RESTART\n * @constant\n * @type {String}\n */\n EVENT_RESTART: \"game_on_restart\",\n\n /**\n * Event triggered after game inited, at this point all engine objects and game scripts are loaded\n * @property EVENT_GAME_INITED\n * @constant\n * @type {String}\n */\n EVENT_GAME_INITED: \"game_inited\",\n\n /**\n * Event triggered after engine inited, at this point you will be able to use all engine classes.\n * It was defined as EVENT_RENDERER_INITED in cocos creator v1.x and renamed in v2.0\n * @property EVENT_ENGINE_INITED\n * @constant\n * @type {String}\n */\n EVENT_ENGINE_INITED: \"engine_inited\",\n // deprecated\n EVENT_RENDERER_INITED: \"engine_inited\",\n\n /**\n * Web Canvas 2d API as renderer backend\n * @property RENDER_TYPE_CANVAS\n * @constant\n * @type {Number}\n */\n RENDER_TYPE_CANVAS: 0,\n /**\n * WebGL API as renderer backend\n * @property RENDER_TYPE_WEBGL\n * @constant\n * @type {Number}\n */\n RENDER_TYPE_WEBGL: 1,\n /**\n * OpenGL API as renderer backend\n * @property RENDER_TYPE_OPENGL\n * @constant\n * @type {Number}\n */\n RENDER_TYPE_OPENGL: 2,\n\n _persistRootNodes: {},\n\n // states\n _paused: true,//whether the game is paused\n _configLoaded: false,//whether config loaded\n _isCloning: false, // deserializing or instantiating\n _prepared: false, //whether the engine has prepared\n _rendererInitialized: false,\n\n _renderContext: null,\n\n _intervalId: null,//interval target of main\n\n _lastTime: null,\n _frameTime: null,\n\n /**\n * !#en The outer frame of the game canvas, parent of game container.\n * !#zh 游戏画布的外框,container 的父容器。\n * @property frame\n * @type {Object}\n */\n frame: null,\n /**\n * !#en The container of game canvas.\n * !#zh 游戏画布的容器。\n * @property container\n * @type {HTMLDivElement}\n */\n container: null,\n /**\n * !#en The canvas of the game.\n * !#zh 游戏的画布。\n * @property canvas\n * @type {HTMLCanvasElement}\n */\n canvas: null,\n\n /**\n * !#en The renderer backend of the game.\n * !#zh 游戏的渲染器类型。\n * @property renderType\n * @type {Number}\n */\n renderType: -1,\n\n /**\n * !#en\n * The current game configuration, including:
\n * 1. debugMode
\n * \"debugMode\" possible values :
\n * 0 - No message will be printed.
\n * 1 - cc.error, cc.assert, cc.warn, cc.log will print in console.
\n * 2 - cc.error, cc.assert, cc.warn will print in console.
\n * 3 - cc.error, cc.assert will print in console.
\n * 4 - cc.error, cc.assert, cc.warn, cc.log will print on canvas, available only on web.
\n * 5 - cc.error, cc.assert, cc.warn will print on canvas, available only on web.
\n * 6 - cc.error, cc.assert will print on canvas, available only on web.
\n * 2. showFPS
\n * Left bottom corner fps information will show when \"showFPS\" equals true, otherwise it will be hide.
\n * 3. exposeClassName
\n * Expose class name to chrome debug tools, the class intantiate performance is a little bit slower when exposed.
\n * 4. frameRate
\n * \"frameRate\" set the wanted frame rate for your game, but the real fps depends on your game implementation and the running environment.
\n * 5. id
\n * \"gameCanvas\" sets the id of your canvas element on the web page, it's useful only on web.
\n * 6. renderMode
\n * \"renderMode\" sets the renderer type, only useful on web :
\n * 0 - Automatically chosen by engine
\n * 1 - Forced to use canvas renderer
\n * 2 - Forced to use WebGL renderer, but this will be ignored on mobile browsers
\n *
\n * Please DO NOT modify this object directly, it won't have any effect.
\n * !#zh\n * 当前的游戏配置,包括:
\n * 1. debugMode(debug 模式,但是在浏览器中这个选项会被忽略)
\n * \"debugMode\" 各种设置选项的意义。
\n * 0 - 没有消息被打印出来。
\n * 1 - cc.error,cc.assert,cc.warn,cc.log 将打印在 console 中。
\n * 2 - cc.error,cc.assert,cc.warn 将打印在 console 中。
\n * 3 - cc.error,cc.assert 将打印在 console 中。
\n * 4 - cc.error,cc.assert,cc.warn,cc.log 将打印在 canvas 中(仅适用于 web 端)。
\n * 5 - cc.error,cc.assert,cc.warn 将打印在 canvas 中(仅适用于 web 端)。
\n * 6 - cc.error,cc.assert 将打印在 canvas 中(仅适用于 web 端)。
\n * 2. showFPS(显示 FPS)
\n * 当 showFPS 为 true 的时候界面的左下角将显示 fps 的信息,否则被隐藏。
\n * 3. exposeClassName
\n * 暴露类名让 Chrome DevTools 可以识别,如果开启会稍稍降低类的创建过程的性能,但对对象构造没有影响。
\n * 4. frameRate (帧率)
\n * “frameRate” 设置想要的帧率你的游戏,但真正的FPS取决于你的游戏实现和运行环境。
\n * 5. id
\n * \"gameCanvas\" Web 页面上的 Canvas Element ID,仅适用于 web 端。
\n * 6. renderMode(渲染模式)
\n * “renderMode” 设置渲染器类型,仅适用于 web 端:
\n * 0 - 通过引擎自动选择。
\n * 1 - 强制使用 canvas 渲染。\n * 2 - 强制使用 WebGL 渲染,但是在部分 Android 浏览器中这个选项会被忽略。
\n *
\n * 注意:请不要直接修改这个对象,它不会有任何效果。\n * @property config\n * @type {Object}\n */\n config: null,\n\n /**\n * !#en Callback when the scripts of engine have been load.\n * !#zh 当引擎完成启动后的回调函数。\n * @method onStart\n * @type {Function}\n */\n onStart: null,\n\n//@Public Methods\n\n// @Game play control\n /**\n * !#en Set frame rate of game.\n * !#zh 设置游戏帧率。\n * @method setFrameRate\n * @param {Number} frameRate\n */\n setFrameRate: function (frameRate) {\n var config = this.config;\n config.frameRate = frameRate;\n if (this._intervalId)\n window.cancelAnimFrame(this._intervalId);\n this._intervalId = 0;\n this._paused = true;\n this._setAnimFrame();\n this._runMainLoop();\n },\n\n /**\n * !#en Get frame rate set for the game, it doesn't represent the real frame rate.\n * !#zh 获取设置的游戏帧率(不等同于实际帧率)。\n * @method getFrameRate\n * @return {Number} frame rate\n */\n getFrameRate: function () {\n return this.config.frameRate;\n },\n\n /**\n * !#en Run the game frame by frame.\n * !#zh 执行一帧游戏循环。\n * @method step\n */\n step: function () {\n cc.director.mainLoop();\n },\n\n /**\n * !#en Pause the game main loop. This will pause:\n * game logic execution, rendering process, event manager, background music and all audio effects.\n * This is different with cc.director.pause which only pause the game logic execution.\n * !#zh 暂停游戏主循环。包含:游戏逻辑,渲染,事件处理,背景音乐和所有音效。这点和只暂停游戏逻辑的 cc.director.pause 不同。\n * @method pause\n */\n pause: function () {\n if (this._paused) return;\n this._paused = true;\n // Pause audio engine\n if (cc.audioEngine) {\n cc.audioEngine._break();\n }\n // Pause main loop\n if (this._intervalId)\n window.cancelAnimFrame(this._intervalId);\n this._intervalId = 0;\n },\n\n /**\n * !#en Resume the game from pause. This will resume:\n * game logic execution, rendering process, event manager, background music and all audio effects.\n * !#zh 恢复游戏主循环。包含:游戏逻辑,渲染,事件处理,背景音乐和所有音效。\n * @method resume\n */\n resume: function () {\n if (!this._paused) return;\n this._paused = false;\n // Resume audio engine\n if (cc.audioEngine) {\n cc.audioEngine._restore();\n }\n cc.director._resetDeltaTime();\n // Resume main loop\n this._runMainLoop();\n },\n\n /**\n * !#en Check whether the game is paused.\n * !#zh 判断游戏是否暂停。\n * @method isPaused\n * @return {Boolean}\n */\n isPaused: function () {\n return this._paused;\n },\n\n /**\n * !#en Restart game.\n * !#zh 重新开始游戏\n * @method restart\n */\n restart: function () {\n cc.director.once(cc.Director.EVENT_AFTER_DRAW, function () {\n for (var id in game._persistRootNodes) {\n game.removePersistRootNode(game._persistRootNodes[id]);\n }\n\n // Clear scene\n cc.director.getScene().destroy();\n cc.Object._deferredDestroy();\n\n // Clean up audio\n if (cc.audioEngine) {\n cc.audioEngine.uncacheAll();\n }\n\n cc.director.reset();\n\n game.pause();\n cc.assetManager.builtins.init(() => {\n game.onStart();\n game.emit(game.EVENT_RESTART);\n });\n });\n },\n\n /**\n * !#en End game, it will close the game window\n * !#zh 退出游戏\n * @method end\n */\n end: function () {\n close();\n },\n\n// @Game loading\n\n _initEngine () {\n if (this._rendererInitialized) {\n return;\n }\n\n this._initRenderer();\n\n if (!CC_EDITOR) {\n this._initEvents();\n }\n\n this.emit(this.EVENT_ENGINE_INITED);\n },\n\n _loadPreviewScript (cb) {\n if (CC_PREVIEW && window.__quick_compile_project__) {\n window.__quick_compile_project__.load(cb);\n }\n else {\n cb();\n }\n },\n\n _prepareFinished (cb) {\n // Init engine\n this._initEngine();\n this._setAnimFrame();\n cc.assetManager.builtins.init(() => {\n // Log engine version\n console.log('Cocos Creator SP v' + cc.ENGINE_VERSION);\n this._prepared = true;\n this._runMainLoop();\n\n this.emit(this.EVENT_GAME_INITED);\n\n if (cb) cb();\n });\n },\n\n eventTargetOn: EventTarget.prototype.on,\n eventTargetOnce: EventTarget.prototype.once,\n\n /**\n * !#en\n * Register an callback of a specific event type on the game object.\n * This type of event should be triggered via `emit`.\n * !#zh\n * 注册 game 的特定事件类型回调。这种类型的事件应该被 `emit` 触发。\n *\n * @method on\n * @param {String} type - A string representing the event type to listen for.\n * @param {Function} callback - The callback that will be invoked when the event is dispatched.\n * The callback is ignored if it is a duplicate (the callbacks are unique).\n * @param {any} [callback.arg1] arg1\n * @param {any} [callback.arg2] arg2\n * @param {any} [callback.arg3] arg3\n * @param {any} [callback.arg4] arg4\n * @param {any} [callback.arg5] arg5\n * @param {Object} [target] - The target (this object) to invoke the callback, can be null\n * @return {Function} - Just returns the incoming callback so you can save the anonymous function easier.\n * @typescript\n * on(type: string, callback: T, target?: any, useCapture?: boolean): T\n */\n on (type, callback, target, once) {\n // Make sure EVENT_ENGINE_INITED and EVENT_GAME_INITED callbacks to be invoked\n if ((this._prepared && type === this.EVENT_ENGINE_INITED) ||\n (!this._paused && type === this.EVENT_GAME_INITED)) {\n callback.call(target);\n }\n else {\n this.eventTargetOn(type, callback, target, once);\n }\n },\n /**\n * !#en\n * Register an callback of a specific event type on the game object,\n * the callback will remove itself after the first time it is triggered.\n * !#zh\n * 注册 game 的特定事件类型回调,回调会在第一时间被触发后删除自身。\n *\n * @method once\n * @param {String} type - A string representing the event type to listen for.\n * @param {Function} callback - The callback that will be invoked when the event is dispatched.\n * The callback is ignored if it is a duplicate (the callbacks are unique).\n * @param {any} [callback.arg1] arg1\n * @param {any} [callback.arg2] arg2\n * @param {any} [callback.arg3] arg3\n * @param {any} [callback.arg4] arg4\n * @param {any} [callback.arg5] arg5\n * @param {Object} [target] - The target (this object) to invoke the callback, can be null\n */\n once (type, callback, target) {\n // Make sure EVENT_ENGINE_INITED and EVENT_GAME_INITED callbacks to be invoked\n if ((this._prepared && type === this.EVENT_ENGINE_INITED) ||\n (!this._paused && type === this.EVENT_GAME_INITED)) {\n callback.call(target);\n }\n else {\n this.eventTargetOnce(type, callback, target);\n }\n },\n\n /**\n * !#en Prepare game.\n * !#zh 准备引擎,请不要直接调用这个函数。\n * @param {Function} cb\n * @method prepare\n */\n prepare (cb) {\n // Already prepared\n if (this._prepared) {\n if (cb) cb();\n return;\n }\n\n this._loadPreviewScript(() => {\n this._prepareFinished(cb);\n });\n },\n\n /**\n * !#en Run game with configuration object and onStart function.\n * !#zh 运行游戏,并且指定引擎配置和 onStart 的回调。\n * @method run\n * @param {Object} config - Pass configuration object or onStart function\n * @param {Function} onStart - function to be executed after game initialized\n */\n run: function (config, onStart) {\n this._initConfig(config);\n this.onStart = onStart;\n this.prepare(game.onStart && game.onStart.bind(game));\n },\n\n// @ Persist root node section\n /**\n * !#en\n * Add a persistent root node to the game, the persistent node won't be destroyed during scene transition.
\n * The target node must be placed in the root level of hierarchy, otherwise this API won't have any effect.\n * !#zh\n * 声明常驻根节点,该节点不会被在场景切换中被销毁。
\n * 目标节点必须位于为层级的根节点,否则无效。\n * @method addPersistRootNode\n * @param {Node} node - The node to be made persistent\n */\n addPersistRootNode: function (node) {\n if (!cc.Node.isNode(node) || !node.uuid) {\n cc.warnID(3800);\n return;\n }\n var id = node.uuid;\n if (!this._persistRootNodes[id]) {\n var scene = cc.director._scene;\n if (cc.isValid(scene)) {\n if (!node.parent) {\n node.parent = scene;\n }\n else if ( !(node.parent instanceof cc.Scene) ) {\n cc.warnID(3801);\n return;\n }\n else if (node.parent !== scene) {\n cc.warnID(3802);\n return;\n }\n }\n this._persistRootNodes[id] = node;\n node._persistNode = true;\n cc.assetManager._releaseManager._addPersistNodeRef(node);\n }\n },\n\n /**\n * !#en Remove a persistent root node.\n * !#zh 取消常驻根节点。\n * @method removePersistRootNode\n * @param {Node} node - The node to be removed from persistent node list\n */\n removePersistRootNode: function (node) {\n var id = node.uuid || '';\n if (node === this._persistRootNodes[id]) {\n delete this._persistRootNodes[id];\n node._persistNode = false;\n cc.assetManager._releaseManager._removePersistNodeRef(node);\n }\n },\n\n /**\n * !#en Check whether the node is a persistent root node.\n * !#zh 检查节点是否是常驻根节点。\n * @method isPersistRootNode\n * @param {Node} node - The node to be checked\n * @return {Boolean}\n */\n isPersistRootNode: function (node) {\n return node._persistNode;\n },\n\n//@Private Methods\n\n// @Time ticker section\n _setAnimFrame: function () {\n this._lastTime = performance.now();\n var frameRate = game.config.frameRate;\n this._frameTime = 1000 / frameRate;\n cc.director._maxParticleDeltaTime = this._frameTime / 1000 * 2;\n if (CC_JSB || CC_RUNTIME) {\n jsb.setPreferredFramesPerSecond(frameRate);\n window.requestAnimFrame = window.requestAnimationFrame;\n window.cancelAnimFrame = window.cancelAnimationFrame;\n }\n else {\n let rAF = window.requestAnimationFrame = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame;\n\n if (frameRate !== 60 && frameRate !== 30) {\n window.requestAnimFrame = rAF ? this._stTimeWithRAF : this._stTime;\n window.cancelAnimFrame = this._ctTime;\n }\n else {\n window.requestAnimFrame = rAF || this._stTime;\n\n window.cancelAnimFrame = window.cancelAnimationFrame ||\n window.cancelRequestAnimationFrame ||\n window.msCancelRequestAnimationFrame ||\n window.mozCancelRequestAnimationFrame ||\n window.oCancelRequestAnimationFrame ||\n window.webkitCancelRequestAnimationFrame ||\n window.msCancelAnimationFrame ||\n window.mozCancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n window.oCancelAnimationFrame ||\n this._ctTime;\n }\n }\n },\n\n _stTimeWithRAF: function(callback){\n var currTime = performance.now();\n var timeToCall = Math.max(0, game._frameTime - (currTime - game._lastTime));\n var id = window.setTimeout(function() {\n window.requestAnimationFrame(callback);\n }, timeToCall);\n game._lastTime = currTime + timeToCall;\n return id;\n },\n\n _stTime: function(callback){\n var currTime = performance.now();\n var timeToCall = Math.max(0, game._frameTime - (currTime - game._lastTime));\n var id = window.setTimeout(function() { callback(); },\n timeToCall);\n game._lastTime = currTime + timeToCall;\n return id;\n },\n _ctTime: function(id){\n window.clearTimeout(id);\n },\n //Run game.\n _runMainLoop: function () {\n if (CC_EDITOR) {\n return;\n }\n if (!this._prepared) return;\n\n var self = this, callback, config = self.config,\n director = cc.director,\n skip = true, frameRate = config.frameRate;\n\n debug.setDisplayStats(config.showFPS);\n\n callback = function (now) {\n if (!self._paused) {\n self._intervalId = window.requestAnimFrame(callback);\n if (!CC_JSB && !CC_RUNTIME && frameRate === 30) {\n if (skip = !skip) {\n return;\n }\n }\n director.mainLoop(now);\n }\n };\n\n self._intervalId = window.requestAnimFrame(callback);\n self._paused = false;\n },\n\n// @Game loading section\n _initConfig (config) {\n // Configs adjustment\n if (typeof config.debugMode !== 'number') {\n config.debugMode = 0;\n }\n config.exposeClassName = !!config.exposeClassName;\n if (typeof config.frameRate !== 'number') {\n config.frameRate = 60;\n }\n let renderMode = config.renderMode;\n if (typeof renderMode !== 'number' || renderMode > 2 || renderMode < 0) {\n config.renderMode = 0;\n }\n if (typeof config.registerSystemEvent !== 'boolean') {\n config.registerSystemEvent = true;\n }\n if (renderMode === 1) {\n config.showFPS = false;\n }\n else {\n config.showFPS = !!config.showFPS;\n }\n\n // Collide Map and Group List\n this.collisionMatrix = config.collisionMatrix || [];\n this.groupList = config.groupList || [];\n\n debug._resetDebugSetting(config.debugMode);\n\n this.config = config;\n this._configLoaded = true;\n },\n\n _determineRenderType () {\n let config = this.config,\n userRenderMode = parseInt(config.renderMode) || 0;\n\n // Determine RenderType\n this.renderType = this.RENDER_TYPE_CANVAS;\n let supportRender = false;\n\n if (userRenderMode === 0) {\n if (cc.sys.capabilities['opengl']) {\n this.renderType = this.RENDER_TYPE_WEBGL;\n supportRender = true;\n }\n else if (cc.sys.capabilities['canvas']) {\n this.renderType = this.RENDER_TYPE_CANVAS;\n supportRender = true;\n }\n }\n else if (userRenderMode === 1 && cc.sys.capabilities['canvas']) {\n this.renderType = this.RENDER_TYPE_CANVAS;\n supportRender = true;\n }\n else if (userRenderMode === 2 && cc.sys.capabilities['opengl']) {\n this.renderType = this.RENDER_TYPE_WEBGL;\n supportRender = true;\n }\n\n if (!supportRender) {\n throw new Error(debug.getError(3820, userRenderMode));\n }\n },\n\n _initRenderer () {\n // Avoid setup to be called twice.\n if (this._rendererInitialized) return;\n\n let el = this.config.id,\n width, height,\n localCanvas, localContainer;\n\n if (CC_JSB || CC_RUNTIME) {\n this.container = localContainer = document.createElement(\"DIV\");\n this.frame = localContainer.parentNode === document.body ? document.documentElement : localContainer.parentNode;\n localCanvas = window.__canvas;\n this.canvas = localCanvas;\n }\n else {\n var element = (el instanceof HTMLElement) ? el : (document.querySelector(el) || document.querySelector('#' + el));\n\n if (element.tagName === \"CANVAS\") {\n width = element.width;\n height = element.height;\n\n //it is already a canvas, we wrap it around with a div\n this.canvas = localCanvas = element;\n this.container = localContainer = document.createElement(\"DIV\");\n if (localCanvas.parentNode)\n localCanvas.parentNode.insertBefore(localContainer, localCanvas);\n } else {\n //we must make a new canvas and place into this element\n if (element.tagName !== \"DIV\") {\n cc.warnID(3819);\n }\n width = element.clientWidth;\n height = element.clientHeight;\n this.canvas = localCanvas = document.createElement(\"CANVAS\");\n this.container = localContainer = document.createElement(\"DIV\");\n element.appendChild(localContainer);\n }\n localContainer.setAttribute('id', 'Cocos2dGameContainer');\n localContainer.appendChild(localCanvas);\n this.frame = (localContainer.parentNode === document.body) ? document.documentElement : localContainer.parentNode;\n\n function addClass (element, name) {\n var hasClass = (' ' + element.className + ' ').indexOf(' ' + name + ' ') > -1;\n if (!hasClass) {\n if (element.className) {\n element.className += \" \";\n }\n element.className += name;\n }\n }\n addClass(localCanvas, \"gameCanvas\");\n localCanvas.setAttribute(\"width\", width || 480);\n localCanvas.setAttribute(\"height\", height || 320);\n localCanvas.setAttribute(\"tabindex\", 99);\n }\n\n this._determineRenderType();\n // WebGL context created successfully\n if (this.renderType === this.RENDER_TYPE_WEBGL) {\n var opts = {\n 'stencil': true,\n // MSAA is causing serious performance dropdown on some browsers.\n 'antialias': cc.macro.ENABLE_WEBGL_ANTIALIAS,\n 'alpha': cc.macro.ENABLE_TRANSPARENT_CANVAS\n };\n renderer.initWebGL(localCanvas, opts);\n this._renderContext = renderer.device._gl;\n\n // Enable dynamic atlas manager by default\n if (!cc.macro.CLEANUP_IMAGE_CACHE && dynamicAtlasManager) {\n dynamicAtlasManager.enabled = true;\n }\n }\n if (!this._renderContext) {\n this.renderType = this.RENDER_TYPE_CANVAS;\n // Could be ignored by module settings\n renderer.initCanvas(localCanvas);\n this._renderContext = renderer.device._ctx;\n }\n\n this.canvas.oncontextmenu = function () {\n if (!cc._isContextMenuEnable) return false;\n };\n\n this._rendererInitialized = true;\n },\n\n _initEvents: function () {\n var win = window, hiddenPropName;\n\n // register system events\n if (this.config.registerSystemEvent)\n cc.internal.inputManager.registerSystemEvent(this.canvas);\n\n if (typeof document.hidden !== 'undefined') {\n hiddenPropName = \"hidden\";\n } else if (typeof document.mozHidden !== 'undefined') {\n hiddenPropName = \"mozHidden\";\n } else if (typeof document.msHidden !== 'undefined') {\n hiddenPropName = \"msHidden\";\n } else if (typeof document.webkitHidden !== 'undefined') {\n hiddenPropName = \"webkitHidden\";\n }\n\n var hidden = false;\n\n function onHidden () {\n if (!hidden) {\n hidden = true;\n game.emit(game.EVENT_HIDE);\n }\n }\n // In order to adapt the most of platforms the onshow API.\n function onShown (arg0, arg1, arg2, arg3, arg4) {\n if (hidden) {\n hidden = false;\n game.emit(game.EVENT_SHOW, arg0, arg1, arg2, arg3, arg4);\n }\n }\n\n if (hiddenPropName) {\n var changeList = [\n \"visibilitychange\",\n \"mozvisibilitychange\",\n \"msvisibilitychange\",\n \"webkitvisibilitychange\",\n \"qbrowserVisibilityChange\"\n ];\n for (var i = 0; i < changeList.length; i++) {\n document.addEventListener(changeList[i], function (event) {\n var visible = document[hiddenPropName];\n // QQ App\n visible = visible || event[\"hidden\"];\n if (visible)\n onHidden();\n else\n onShown();\n });\n }\n } else {\n win.addEventListener(\"blur\", onHidden);\n win.addEventListener(\"focus\", onShown);\n }\n\n if (navigator.userAgent.indexOf(\"MicroMessenger\") > -1) {\n win.onfocus = onShown;\n }\n\n if (\"onpageshow\" in window && \"onpagehide\" in window) {\n win.addEventListener(\"pagehide\", onHidden);\n win.addEventListener(\"pageshow\", onShown);\n // Taobao UIWebKit\n document.addEventListener(\"pagehide\", onHidden);\n document.addEventListener(\"pageshow\", onShown);\n }\n\n this.on(game.EVENT_HIDE, function () {\n game.pause();\n });\n this.on(game.EVENT_SHOW, function () {\n game.resume();\n });\n }\n};\n\nEventTarget.call(game);\ncc.js.addon(game, EventTarget.prototype);\n\n/**\n * @module cc\n */\n\n/**\n * !#en This is a Game instance.\n * !#zh 这是一个 Game 类的实例,包含游戏主体信息并负责驱动游戏的游戏对象。。\n * @property game\n * @type Game\n */\ncc.game = module.exports = game;\n","/****************************************************************************\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n http://www.cocos2d-x.org\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n'use strict';\n\nimport { Mat4, Vec2, Vec3, Quat, Trs } from './value-types';\nimport { approx } from './value-types/utils'\n\nconst BaseNode = require('./utils/base-node');\nconst PrefabHelper = require('./utils/prefab-helper');\nconst nodeMemPool = require('./utils/trans-pool').NodeMemPool;\nconst AffineTrans = require('./utils/affine-transform');\nconst eventManager = require('./event-manager');\nconst macro = require('./platform/CCMacro');\nconst js = require('./platform/js');\nconst Event = require('./event/event');\nconst EventTarget = require('./event/event-target');\nconst RenderFlow = require('./renderer/render-flow');\n\nconst Flags = cc.Object.Flags;\nconst Destroying = Flags.Destroying;\n\nconst ERR_INVALID_NUMBER = CC_EDITOR && 'The %s is invalid';\nconst ONE_DEGREE = Math.PI / 180;\n\nvar ActionManagerExist = !!cc.ActionManager;\nvar emptyFunc = function () {};\n\n// getWorldPosition temp var\nvar _gwpVec3 = new Vec3();\nvar _gwpQuat = new Quat();\n\n// _invTransformPoint temp var\nvar _tpVec3a = new Vec3();\nvar _tpVec3b = new Vec3();\nvar _tpQuata = new Quat();\nvar _tpQuatb = new Quat();\n\n// setWorldPosition temp var\nvar _swpVec3 = new Vec3();\n\n// getWorldScale temp var\nvar _gwsVec3 = new Vec3();\n\n// setWorldScale temp var\nvar _swsVec3 = new Vec3();\n\n// getWorldRT temp var\nvar _gwrtVec3a = new Vec3();\nvar _gwrtVec3b = new Vec3();\nvar _gwrtQuata = new Quat();\nvar _gwrtQuatb = new Quat();\n\n// lookAt temp var\nvar _laVec3 = new Vec3();\nvar _laQuat = new Quat();\n\n//up、right、forward temp var\nvar _urfVec3 = new Vec3();\nvar _urfQuat = new Quat();\n\n// _hitTest temp var\nvar _htVec3a = new Vec3();\nvar _htVec3b = new Vec3();\n\n// getWorldRotation temp var\nvar _gwrQuat = new Quat();\n\n// setWorldRotation temp var\nvar _swrQuat = new Quat();\n\nvar _quata = new Quat();\nvar _mat4_temp = cc.mat4();\nvar _vec3_temp = new Vec3();\n\nconst POSITION_ON = 1 << 0;\nconst SCALE_ON = 1 << 1;\nconst ROTATION_ON = 1 << 2;\nconst SIZE_ON = 1 << 3;\nconst ANCHOR_ON = 1 << 4;\nconst COLOR_ON = 1 << 5;\n\nlet _cachedPool = new js.Pool();\n_cachedPool.get = function () {\n return this._get() || [];\n};\n\nlet BuiltinGroupIndex = cc.Enum({\n DEBUG: 31\n});\n\n/**\n * !#en Node's local dirty properties flag\n * !#zh Node 的本地属性 dirty 状态位\n * @enum Node._LocalDirtyFlag\n * @static\n * @private\n * @namespace Node\n */\nvar LocalDirtyFlag = cc.Enum({\n /**\n * !#en Flag for position dirty\n * !#zh 位置 dirty 的标记位\n * @property {Number} POSITION\n * @static\n */\n POSITION: 1 << 0,\n /**\n * !#en Flag for scale dirty\n * !#zh 缩放 dirty 的标记位\n * @property {Number} SCALE\n * @static\n */\n SCALE: 1 << 1,\n /**\n * !#en Flag for rotation dirty\n * !#zh 旋转 dirty 的标记位\n * @property {Number} ROTATION\n * @static\n */\n ROTATION: 1 << 2,\n /**\n * !#en Flag for skew dirty\n * !#zh skew dirty 的标记位\n * @property {Number} SKEW\n * @static\n */\n SKEW: 1 << 3,\n /**\n * !#en Flag for rotation, scale or position dirty\n * !#zh 旋转,缩放,或位置 dirty 的标记位\n * @property {Number} TRS\n * @static\n */\n TRS: 1 << 0 | 1 << 1 | 1 << 2,\n /**\n * !#en Flag for rotation or scale dirty\n * !#zh 旋转或缩放 dirty 的标记位\n * @property {Number} RS\n * @static\n */\n RS: 1 << 1 | 1 << 2,\n /**\n * !#en Flag for rotation, scale, position, skew dirty\n * !#zh 旋转,缩放,位置,或斜角 dirty 的标记位\n * @property {Number} TRS\n * @static\n */\n TRSS: 1 << 0 | 1 << 1 | 1 << 2 | 1 << 3,\n\n /**\n * !#en Flag for physics position dirty\n * !#zh 物理位置 dirty 的标记位\n * @property {Number} PHYSICS_POSITION\n * @static\n */\n PHYSICS_POSITION: 1 << 4,\n\n /**\n * !#en Flag for physics scale dirty\n * !#zh 物理缩放 dirty 的标记位\n * @property {Number} PHYSICS_SCALE\n * @static\n */\n PHYSICS_SCALE: 1 << 5,\n\n /**\n * !#en Flag for physics rotation dirty\n * !#zh 物理旋转 dirty 的标记位\n * @property {Number} PHYSICS_ROTATION\n * @static\n */\n PHYSICS_ROTATION: 1 << 6,\n\n /**\n * !#en Flag for physics trs dirty\n * !#zh 物理位置旋转缩放 dirty 的标记位\n * @property {Number} PHYSICS_TRS\n * @static\n */\n PHYSICS_TRS: 1 << 4 | 1 << 5 | 1 << 6,\n\n /**\n * !#en Flag for physics rs dirty\n * !#zh 物理旋转缩放 dirty 的标记位\n * @property {Number} PHYSICS_RS\n * @static\n */\n PHYSICS_RS: 1 << 5 | 1 << 6,\n\n /**\n * !#en Flag for node and physics position dirty\n * !#zh 所有位置 dirty 的标记位\n * @property {Number} ALL_POSITION\n * @static\n */\n ALL_POSITION: 1 << 0 | 1 << 4,\n\n /**\n * !#en Flag for node and physics scale dirty\n * !#zh 所有缩放 dirty 的标记位\n * @property {Number} ALL_SCALE\n * @static\n */\n ALL_SCALE: 1 << 1 | 1 << 5,\n\n /**\n * !#en Flag for node and physics rotation dirty\n * !#zh 所有旋转 dirty 的标记位\n * @property {Number} ALL_ROTATION\n * @static\n */\n ALL_ROTATION: 1 << 2 | 1 << 6,\n\n /**\n * !#en Flag for node and physics trs dirty\n * !#zh 所有trs dirty 的标记位\n * @property {Number} ALL_TRS\n * @static\n */\n ALL_TRS: 1 << 0 | 1 << 1 | 1 << 2 | 1 << 4 | 1 << 5 | 1 << 6,\n\n /**\n * !#en Flag for all dirty properties\n * !#zh 覆盖所有 dirty 状态的标记位\n * @property {Number} ALL\n * @static\n */\n ALL: 0xffff,\n});\n\n/**\n * !#en The event type supported by Node\n * !#zh Node 支持的事件类型\n * @class Node.EventType\n * @static\n * @namespace Node\n */\n// Why EventType defined as class, because the first parameter of Node.on method needs set as 'string' type.\nvar EventType = cc.Enum({\n /**\n * !#en The event type for touch start event, you can use its value directly: 'touchstart'\n * !#zh 当手指触摸到屏幕时。\n * @property {String} TOUCH_START\n * @static\n */\n TOUCH_START: 'touchstart',\n /**\n * !#en The event type for touch move event, you can use its value directly: 'touchmove'\n * !#zh 当手指在屏幕上移动时。\n * @property {String} TOUCH_MOVE\n * @static\n */\n TOUCH_MOVE: 'touchmove',\n /**\n * !#en The event type for touch end event, you can use its value directly: 'touchend'\n * !#zh 当手指在目标节点区域内离开屏幕时。\n * @property {String} TOUCH_END\n * @static\n */\n TOUCH_END: 'touchend',\n /**\n * !#en The event type for touch end event, you can use its value directly: 'touchcancel'\n * !#zh 当手指在目标节点区域外离开屏幕时。\n * @property {String} TOUCH_CANCEL\n * @static\n */\n TOUCH_CANCEL: 'touchcancel',\n\n /**\n * !#en The event type for mouse down events, you can use its value directly: 'mousedown'\n * !#zh 当鼠标按下时触发一次。\n * @property {String} MOUSE_DOWN\n * @static\n */\n MOUSE_DOWN: 'mousedown',\n /**\n * !#en The event type for mouse move events, you can use its value directly: 'mousemove'\n * !#zh 当鼠标在目标节点在目标节点区域中移动时,不论是否按下。\n * @property {String} MOUSE_MOVE\n * @static\n */\n MOUSE_MOVE: 'mousemove',\n /**\n * !#en The event type for mouse enter target events, you can use its value directly: 'mouseenter'\n * !#zh 当鼠标移入目标节点区域时,不论是否按下。\n * @property {String} MOUSE_ENTER\n * @static\n */\n MOUSE_ENTER: 'mouseenter',\n /**\n * !#en The event type for mouse leave target events, you can use its value directly: 'mouseleave'\n * !#zh 当鼠标移出目标节点区域时,不论是否按下。\n * @property {String} MOUSE_LEAVE\n * @static\n */\n MOUSE_LEAVE: 'mouseleave',\n /**\n * !#en The event type for mouse up events, you can use its value directly: 'mouseup'\n * !#zh 当鼠标从按下状态松开时触发一次。\n * @property {String} MOUSE_UP\n * @static\n */\n MOUSE_UP: 'mouseup',\n /**\n * !#en The event type for mouse wheel events, you can use its value directly: 'mousewheel'\n * !#zh 当鼠标滚轮滚动时。\n * @property {String} MOUSE_WHEEL\n * @static\n */\n MOUSE_WHEEL: 'mousewheel',\n\n /**\n * !#en The event type for position change events.\n * Performance note, this event will be triggered every time corresponding properties being changed,\n * if the event callback have heavy logic it may have great performance impact, try to avoid such scenario.\n * !#zh 当节点位置改变时触发的事件。\n * 性能警告:这个事件会在每次对应的属性被修改时触发,如果事件回调损耗较高,有可能对性能有很大的负面影响,请尽量避免这种情况。\n * @property {String} POSITION_CHANGED\n * @static\n */\n POSITION_CHANGED: 'position-changed',\n /**\n * !#en The event type for rotation change events.\n * Performance note, this event will be triggered every time corresponding properties being changed,\n * if the event callback have heavy logic it may have great performance impact, try to avoid such scenario.\n * !#zh 当节点旋转改变时触发的事件。\n * 性能警告:这个事件会在每次对应的属性被修改时触发,如果事件回调损耗较高,有可能对性能有很大的负面影响,请尽量避免这种情况。\n * @property {String} ROTATION_CHANGED\n * @static\n */\n ROTATION_CHANGED: 'rotation-changed',\n /**\n * !#en The event type for scale change events.\n * Performance note, this event will be triggered every time corresponding properties being changed,\n * if the event callback have heavy logic it may have great performance impact, try to avoid such scenario.\n * !#zh 当节点缩放改变时触发的事件。\n * 性能警告:这个事件会在每次对应的属性被修改时触发,如果事件回调损耗较高,有可能对性能有很大的负面影响,请尽量避免这种情况。\n * @property {String} SCALE_CHANGED\n * @static\n */\n SCALE_CHANGED: 'scale-changed',\n /**\n * !#en The event type for size change events.\n * Performance note, this event will be triggered every time corresponding properties being changed,\n * if the event callback have heavy logic it may have great performance impact, try to avoid such scenario.\n * !#zh 当节点尺寸改变时触发的事件。\n * 性能警告:这个事件会在每次对应的属性被修改时触发,如果事件回调损耗较高,有可能对性能有很大的负面影响,请尽量避免这种情况。\n * @property {String} SIZE_CHANGED\n * @static\n */\n SIZE_CHANGED: 'size-changed',\n /**\n * !#en The event type for anchor point change events.\n * Performance note, this event will be triggered every time corresponding properties being changed,\n * if the event callback have heavy logic it may have great performance impact, try to avoid such scenario.\n * !#zh 当节点锚点改变时触发的事件。\n * 性能警告:这个事件会在每次对应的属性被修改时触发,如果事件回调损耗较高,有可能对性能有很大的负面影响,请尽量避免这种情况。\n * @property {String} ANCHOR_CHANGED\n * @static\n */\n ANCHOR_CHANGED: 'anchor-changed',\n /**\n * !#en The event type for color change events.\n * Performance note, this event will be triggered every time corresponding properties being changed,\n * if the event callback have heavy logic it may have great performance impact, try to avoid such scenario.\n * !#zh 当节点颜色改变时触发的事件。\n * 性能警告:这个事件会在每次对应的属性被修改时触发,如果事件回调损耗较高,有可能对性能有很大的负面影响,请尽量避免这种情况。\n * @property {String} COLOR_CHANGED\n * @static\n */\n COLOR_CHANGED: 'color-changed',\n /**\n * !#en The event type for new child added events.\n * !#zh 当新的子节点被添加时触发的事件。\n * @property {String} CHILD_ADDED\n * @static\n */\n CHILD_ADDED: 'child-added',\n /**\n * !#en The event type for child removed events.\n * !#zh 当子节点被移除时触发的事件。\n * @property {String} CHILD_REMOVED\n * @static\n */\n CHILD_REMOVED: 'child-removed',\n /**\n * !#en The event type for children reorder events.\n * !#zh 当子节点顺序改变时触发的事件。\n * @property {String} CHILD_REORDER\n * @static\n */\n CHILD_REORDER: 'child-reorder',\n /**\n * !#en The event type for node group changed events.\n * !#zh 当节点归属群组发生变化时触发的事件。\n * @property {String} GROUP_CHANGED\n * @static\n */\n GROUP_CHANGED: 'group-changed',\n /**\n * !#en The event type for node's sibling order changed.\n * !#zh 当节点在兄弟节点中的顺序发生变化时触发的事件。\n * @property {String} SIBLING_ORDER_CHANGED\n * @static\n */\n SIBLING_ORDER_CHANGED: 'sibling-order-changed',\n});\n\nvar _touchEvents = [\n EventType.TOUCH_START,\n EventType.TOUCH_MOVE,\n EventType.TOUCH_END,\n EventType.TOUCH_CANCEL,\n];\nvar _mouseEvents = [\n EventType.MOUSE_DOWN,\n EventType.MOUSE_ENTER,\n EventType.MOUSE_MOVE,\n EventType.MOUSE_LEAVE,\n EventType.MOUSE_UP,\n EventType.MOUSE_WHEEL,\n];\n\nvar _skewNeedWarn = true;\nvar _skewWarn = function (value, node) {\n if (value !== 0) {\n var nodePath = \"\";\n if (CC_EDITOR) {\n var NodeUtils = Editor.require('scene://utils/node');\n nodePath = `Node: ${NodeUtils.getNodePath(node)}.`\n }\n _skewNeedWarn && cc.warn(\"`cc.Node.skewX/Y` is deprecated since v2.2.1, please use 3D node instead.\", nodePath);\n !CC_EDITOR && (_skewNeedWarn = false);\n }\n}\n\nvar _currentHovered = null;\n\nvar _touchStartHandler = function (touch, event) {\n var pos = touch.getLocation();\n var node = this.owner;\n\n if (node._hitTest(pos, this)) {\n event.type = EventType.TOUCH_START;\n event.touch = touch;\n event.bubbles = true;\n node.dispatchEvent(event);\n return true;\n }\n return false;\n};\nvar _touchMoveHandler = function (touch, event) {\n var node = this.owner;\n event.type = EventType.TOUCH_MOVE;\n event.touch = touch;\n event.bubbles = true;\n node.dispatchEvent(event);\n};\nvar _touchEndHandler = function (touch, event) {\n var pos = touch.getLocation();\n var node = this.owner;\n\n if (node._hitTest(pos, this)) {\n event.type = EventType.TOUCH_END;\n }\n else {\n event.type = EventType.TOUCH_CANCEL;\n }\n event.touch = touch;\n event.bubbles = true;\n node.dispatchEvent(event);\n};\nvar _touchCancelHandler = function (touch, event) {\n var pos = touch.getLocation();\n var node = this.owner;\n\n event.type = EventType.TOUCH_CANCEL;\n event.touch = touch;\n event.bubbles = true;\n node.dispatchEvent(event);\n};\n\nvar _mouseDownHandler = function (event) {\n var pos = event.getLocation();\n var node = this.owner;\n\n if (node._hitTest(pos, this)) {\n event.type = EventType.MOUSE_DOWN;\n event.bubbles = true;\n node.dispatchEvent(event);\n }\n};\nvar _mouseMoveHandler = function (event) {\n var pos = event.getLocation();\n var node = this.owner;\n var hit = node._hitTest(pos, this);\n if (hit) {\n if (!this._previousIn) {\n // Fix issue when hover node switched, previous hovered node won't get MOUSE_LEAVE notification\n if (_currentHovered && _currentHovered._mouseListener) {\n event.type = EventType.MOUSE_LEAVE;\n _currentHovered.dispatchEvent(event);\n _currentHovered._mouseListener._previousIn = false;\n }\n _currentHovered = this.owner;\n event.type = EventType.MOUSE_ENTER;\n node.dispatchEvent(event);\n this._previousIn = true;\n }\n event.type = EventType.MOUSE_MOVE;\n event.bubbles = true;\n node.dispatchEvent(event);\n }\n else if (this._previousIn) {\n event.type = EventType.MOUSE_LEAVE;\n node.dispatchEvent(event);\n this._previousIn = false;\n _currentHovered = null;\n }\n else {\n // continue dispatching\n return;\n }\n\n // Event processed, cleanup\n event.stopPropagation();\n};\nvar _mouseUpHandler = function (event) {\n var pos = event.getLocation();\n var node = this.owner;\n\n if (node._hitTest(pos, this)) {\n event.type = EventType.MOUSE_UP;\n event.bubbles = true;\n node.dispatchEvent(event);\n event.stopPropagation();\n }\n};\nvar _mouseWheelHandler = function (event) {\n var pos = event.getLocation();\n var node = this.owner;\n\n if (node._hitTest(pos, this)) {\n event.type = EventType.MOUSE_WHEEL;\n event.bubbles = true;\n node.dispatchEvent(event);\n event.stopPropagation();\n }\n};\n\nfunction _searchComponentsInParent (node, comp) {\n if (comp) {\n let index = 0;\n let list = null;\n for (var curr = node; curr && cc.Node.isNode(curr); curr = curr._parent, ++index) {\n if (curr.getComponent(comp)) {\n let next = {\n index: index,\n node: curr,\n };\n\n if (list) {\n list.push(next);\n } else {\n list = [next];\n }\n }\n }\n\n return list;\n }\n\n return null;\n}\n\nfunction _checkListeners (node, events) {\n if (!(node._objFlags & Destroying)) {\n if (node._bubblingListeners) {\n for (let i = 0, l = events.length; i < l; ++i) {\n if (node._bubblingListeners.hasEventListener(events[i])) {\n return true;\n }\n }\n }\n if (node._capturingListeners) {\n for (let i = 0, l = events.length; i < l; ++i) {\n if (node._capturingListeners.hasEventListener(events[i])) {\n return true;\n }\n }\n }\n return false;\n }\n return true;\n}\n\nfunction _doDispatchEvent (owner, event, cachedArray) {\n var target, i;\n event.target = owner;\n\n // Event.CAPTURING_PHASE\n cachedArray.length = 0;\n owner._getCapturingTargets(event.type, cachedArray);\n // capturing\n event.eventPhase = 1;\n for (i = cachedArray.length - 1; i >= 0; --i) {\n target = cachedArray[i];\n if (target._capturingListeners) {\n event.currentTarget = target;\n // fire event\n target._capturingListeners.emit(event.type, event, cachedArray);\n // check if propagation stopped\n if (event._propagationStopped) {\n cachedArray.length = 0;\n return;\n }\n }\n }\n cachedArray.length = 0;\n\n // Event.AT_TARGET\n // checks if destroyed in capturing callbacks\n event.eventPhase = 2;\n event.currentTarget = owner;\n if (owner._capturingListeners) {\n owner._capturingListeners.emit(event.type, event);\n }\n if (!event._propagationImmediateStopped && owner._bubblingListeners) {\n owner._bubblingListeners.emit(event.type, event);\n }\n\n if (!event._propagationStopped && event.bubbles) {\n // Event.BUBBLING_PHASE\n owner._getBubblingTargets(event.type, cachedArray);\n // propagate\n event.eventPhase = 3;\n for (i = 0; i < cachedArray.length; ++i) {\n target = cachedArray[i];\n if (target._bubblingListeners) {\n event.currentTarget = target;\n // fire event\n target._bubblingListeners.emit(event.type, event);\n // check if propagation stopped\n if (event._propagationStopped) {\n cachedArray.length = 0;\n return;\n }\n }\n }\n }\n cachedArray.length = 0;\n}\n\n// traversal the node tree, child cullingMask must keep the same with the parent.\nfunction _getActualGroupIndex (node) {\n let groupIndex = node.groupIndex;\n if (groupIndex === 0 && node.parent) {\n groupIndex = _getActualGroupIndex(node.parent);\n }\n return groupIndex;\n}\n\nfunction _updateCullingMask (node) {\n let index = _getActualGroupIndex(node);\n node._cullingMask = 1 << index;\n if (CC_JSB && CC_NATIVERENDERER) {\n node._proxy && node._proxy.updateCullingMask();\n }\n for (let i = 0; i < node._children.length; i++) {\n _updateCullingMask(node._children[i]);\n }\n}\n\n// 2D/3D matrix functions\nfunction updateLocalMatrix3D () {\n if (this._localMatDirty & LocalDirtyFlag.TRSS) {\n // Update transform\n let t = this._matrix;\n let tm = t.m;\n Trs.toMat4(t, this._trs);\n\n // skew\n if (this._skewX || this._skewY) {\n let a = tm[0], b = tm[1], c = tm[4], d = tm[5];\n let skx = Math.tan(this._skewX * ONE_DEGREE);\n let sky = Math.tan(this._skewY * ONE_DEGREE);\n if (skx === Infinity)\n skx = 99999999;\n if (sky === Infinity)\n sky = 99999999;\n tm[0] = a + c * sky;\n tm[1] = b + d * sky;\n tm[4] = c + a * skx;\n tm[5] = d + b * skx;\n }\n this._localMatDirty &= ~LocalDirtyFlag.TRSS;\n // Register dirty status of world matrix so that it can be recalculated\n this._worldMatDirty = true;\n }\n}\n\nfunction updateLocalMatrix2D () {\n let dirtyFlag = this._localMatDirty;\n if (!(dirtyFlag & LocalDirtyFlag.TRSS)) return;\n\n // Update transform\n let t = this._matrix;\n let tm = t.m;\n let trs = this._trs;\n\n if (dirtyFlag & (LocalDirtyFlag.RS | LocalDirtyFlag.SKEW)) {\n let rotation = -this._eulerAngles.z;\n let hasSkew = this._skewX || this._skewY;\n let sx = trs[7], sy = trs[8];\n\n if (rotation || hasSkew) {\n let a = 1, b = 0, c = 0, d = 1;\n // rotation\n if (rotation) {\n let rotationRadians = rotation * ONE_DEGREE;\n c = Math.sin(rotationRadians);\n d = Math.cos(rotationRadians);\n a = d;\n b = -c;\n }\n // scale\n tm[0] = a *= sx;\n tm[1] = b *= sx;\n tm[4] = c *= sy;\n tm[5] = d *= sy;\n // skew\n if (hasSkew) {\n let a = tm[0], b = tm[1], c = tm[4], d = tm[5];\n let skx = Math.tan(this._skewX * ONE_DEGREE);\n let sky = Math.tan(this._skewY * ONE_DEGREE);\n if (skx === Infinity)\n skx = 99999999;\n if (sky === Infinity)\n sky = 99999999;\n tm[0] = a + c * sky;\n tm[1] = b + d * sky;\n tm[4] = c + a * skx;\n tm[5] = d + b * skx;\n }\n }\n else {\n tm[0] = sx;\n tm[1] = 0;\n tm[4] = 0;\n tm[5] = sy;\n }\n }\n\n // position\n tm[12] = trs[0];\n tm[13] = trs[1];\n\n this._localMatDirty &= ~LocalDirtyFlag.TRSS;\n // Register dirty status of world matrix so that it can be recalculated\n this._worldMatDirty = true;\n}\n\nfunction calculWorldMatrix3D () {\n // Avoid as much function call as possible\n if (this._localMatDirty & LocalDirtyFlag.TRSS) {\n this._updateLocalMatrix();\n }\n\n if (this._parent) {\n let parentMat = this._parent._worldMatrix;\n Mat4.mul(this._worldMatrix, parentMat, this._matrix);\n }\n else {\n Mat4.copy(this._worldMatrix, this._matrix);\n }\n this._worldMatDirty = false;\n}\n\nfunction calculWorldMatrix2D () {\n // Avoid as much function call as possible\n if (this._localMatDirty & LocalDirtyFlag.TRSS) {\n this._updateLocalMatrix();\n }\n\n // Assume parent world matrix is correct\n let parent = this._parent;\n if (parent) {\n this._mulMat(this._worldMatrix, parent._worldMatrix, this._matrix);\n }\n else {\n Mat4.copy(this._worldMatrix, this._matrix);\n }\n this._worldMatDirty = false;\n}\n\nfunction mulMat2D (out, a, b) {\n let am = a.m, bm = b.m, outm = out.m;\n let aa=am[0], ab=am[1], ac=am[4], ad=am[5], atx=am[12], aty=am[13];\n let ba=bm[0], bb=bm[1], bc=bm[4], bd=bm[5], btx=bm[12], bty=bm[13];\n if (ab !== 0 || ac !== 0) {\n outm[0] = ba * aa + bb * ac;\n outm[1] = ba * ab + bb * ad;\n outm[4] = bc * aa + bd * ac;\n outm[5] = bc * ab + bd * ad;\n outm[12] = aa * btx + ac * bty + atx;\n outm[13] = ab * btx + ad * bty + aty;\n }\n else {\n outm[0] = ba * aa;\n outm[1] = bb * ad;\n outm[4] = bc * aa;\n outm[5] = bd * ad;\n outm[12] = aa * btx + atx;\n outm[13] = ad * bty + aty;\n }\n}\n\nconst mulMat3D = Mat4.mul;\n\n/**\n * !#en\n * Class of all entities in Cocos Creator scenes.
\n * For events supported by Node, please refer to {{#crossLink \"Node.EventType\"}}{{/crossLink}}\n * !#zh\n * Cocos Creator 场景中的所有节点类。
\n * 支持的节点事件,请参阅 {{#crossLink \"Node.EventType\"}}{{/crossLink}}。\n * @class Node\n * @extends _BaseNode\n */\nlet NodeDefines = {\n name: 'cc.Node',\n extends: BaseNode,\n\n properties: {\n // SERIALIZABLE\n _opacity: 255,\n _color: cc.Color.WHITE,\n _contentSize: cc.Size,\n _anchorPoint: cc.v2(0.5, 0.5),\n _position: undefined,\n _scale: undefined,\n _trs: null,\n _eulerAngles: cc.Vec3,\n _skewX: 0.0,\n _skewY: 0.0,\n _zIndex: {\n default: undefined,\n type: cc.Integer\n },\n _localZOrder: {\n default: 0,\n serializable: false\n },\n\n _is3DNode: false,\n\n // internal properties\n /**\n * !#en\n * Group index of node.
\n * Which Group this node belongs to will resolve that this node's collision components can collide with which other collision componentns.
\n * !#zh\n * 节点的分组索引。
\n * 节点的分组将关系到节点的碰撞组件可以与哪些碰撞组件相碰撞。
\n * @property groupIndex\n * @type {Integer}\n * @default 0\n */\n _groupIndex: {\n default: 0,\n formerlySerializedAs: 'groupIndex'\n },\n groupIndex: {\n get () {\n return this._groupIndex;\n },\n set (value) {\n this._groupIndex = value;\n _updateCullingMask(this);\n this.emit(EventType.GROUP_CHANGED, this);\n }\n },\n\n /**\n * !#en\n * Group of node.
\n * Which Group this node belongs to will resolve that this node's collision components can collide with which other collision componentns.
\n * !#zh\n * 节点的分组。
\n * 节点的分组将关系到节点的碰撞组件可以与哪些碰撞组件相碰撞。
\n * @property group\n * @type {String}\n */\n group: {\n get () {\n return cc.game.groupList[this.groupIndex] || '';\n },\n\n set (value) {\n // update the groupIndex\n this.groupIndex = cc.game.groupList.indexOf(value);\n }\n },\n\n //properties moved from base node begin\n\n /**\n * !#en The position (x, y) of the node in its parent's coordinates.\n * !#zh 节点在父节点坐标系中的位置(x, y)。\n * @property {Vec3} position\n * @example\n * cc.log(\"Node Position: \" + node.position);\n */\n\n /**\n * !#en x axis position of node.\n * !#zh 节点 X 轴坐标。\n * @property x\n * @type {Number}\n * @example\n * node.x = 100;\n * cc.log(\"Node Position X: \" + node.x);\n */\n x: {\n get () {\n return this._trs[0];\n },\n set (value) {\n let trs = this._trs;\n if (value !== trs[0]) {\n if (!CC_EDITOR || isFinite(value)) {\n let oldValue;\n if (CC_EDITOR) {\n oldValue = trs[0];\n }\n\n trs[0] = value;\n this.setLocalDirty(LocalDirtyFlag.ALL_POSITION);\n\n // fast check event\n if (this._eventMask & POSITION_ON) {\n // send event\n if (CC_EDITOR) {\n this.emit(EventType.POSITION_CHANGED, new cc.Vec3(oldValue, trs[1], trs[2]));\n }\n else {\n this.emit(EventType.POSITION_CHANGED);\n }\n }\n }\n else {\n cc.error(ERR_INVALID_NUMBER, 'new x');\n }\n }\n },\n },\n\n /**\n * !#en y axis position of node.\n * !#zh 节点 Y 轴坐标。\n * @property y\n * @type {Number}\n * @example\n * node.y = 100;\n * cc.log(\"Node Position Y: \" + node.y);\n */\n y: {\n get () {\n return this._trs[1];\n },\n set (value) {\n let trs = this._trs;\n if (value !== trs[1]) {\n if (!CC_EDITOR || isFinite(value)) {\n let oldValue;\n if (CC_EDITOR) {\n oldValue = trs[1];\n }\n\n trs[1] = value;\n this.setLocalDirty(LocalDirtyFlag.ALL_POSITION);\n\n // fast check event\n if (this._eventMask & POSITION_ON) {\n // send event\n if (CC_EDITOR) {\n this.emit(EventType.POSITION_CHANGED, new cc.Vec3(trs[0], oldValue, trs[2]));\n }\n else {\n this.emit(EventType.POSITION_CHANGED);\n }\n }\n }\n else {\n cc.error(ERR_INVALID_NUMBER, 'new y');\n }\n }\n },\n },\n\n /**\n * !#en z axis position of node.\n * !#zh 节点 Z 轴坐标。\n * @property z\n * @type {Number}\n */\n z: {\n get () {\n return this._trs[2];\n },\n set (value) {\n let trs = this._trs;\n if (value !== trs[2]) {\n if (!CC_EDITOR || isFinite(value)) {\n let oldValue;\n if (CC_EDITOR) {\n oldValue = trs[2];\n }\n trs[2] = value;\n this.setLocalDirty(LocalDirtyFlag.ALL_POSITION);\n !CC_NATIVERENDERER && (this._renderFlag |= RenderFlow.FLAG_WORLD_TRANSFORM);\n // fast check event\n if (this._eventMask & POSITION_ON) {\n if (CC_EDITOR) {\n this.emit(EventType.POSITION_CHANGED, new cc.Vec3(trs[0], trs[1], oldValue));\n }\n else {\n this.emit(EventType.POSITION_CHANGED);\n }\n }\n }\n else {\n cc.error(ERR_INVALID_NUMBER, 'new z');\n }\n }\n }\n },\n\n /**\n * !#en Rotation of node.\n * !#zh 该节点旋转角度。\n * @property rotation\n * @type {Number}\n * @deprecated since v2.1\n * @example\n * node.rotation = 90;\n * cc.log(\"Node Rotation: \" + node.rotation);\n */\n rotation: {\n get () {\n if (CC_DEBUG) {\n cc.warn(\"`cc.Node.rotation` is deprecated since v2.1.0, please use `-angle` instead. (`this.node.rotation` -> `-this.node.angle`)\");\n }\n return -this.angle;\n },\n set (value) {\n if (CC_DEBUG) {\n cc.warn(\"`cc.Node.rotation` is deprecated since v2.1.0, please set `-angle` instead. (`this.node.rotation = x` -> `this.node.angle = -x`)\");\n }\n this.angle = -value;\n }\n },\n\n /**\n * !#en\n * Angle of node, the positive value is anti-clockwise direction.\n * !#zh\n * 该节点的旋转角度,正值为逆时针方向。\n * @property angle\n * @type {Number}\n */\n angle: {\n get () {\n return this._eulerAngles.z;\n },\n set (value) {\n Vec3.set(this._eulerAngles, 0, 0, value);\n Trs.fromAngleZ(this._trs, value);\n this.setLocalDirty(LocalDirtyFlag.ALL_ROTATION);\n\n if (this._eventMask & ROTATION_ON) {\n this.emit(EventType.ROTATION_CHANGED);\n }\n }\n },\n\n /**\n * !#en The rotation as Euler angles in degrees, used in 3D node.\n * !#zh 该节点的欧拉角度,用于 3D 节点。\n * @property eulerAngles\n * @type {Vec3}\n * @example\n * node.is3DNode = true;\n * node.eulerAngles = cc.v3(45, 45, 45);\n * cc.log(\"Node eulerAngles (X, Y, Z): \" + node.eulerAngles.toString());\n */\n\n /**\n * !#en Rotation on x axis.\n * !#zh 该节点 X 轴旋转角度。\n * @property rotationX\n * @type {Number}\n * @deprecated since v2.1\n * @example\n * node.is3DNode = true;\n * node.eulerAngles = cc.v3(45, 0, 0);\n * cc.log(\"Node eulerAngles X: \" + node.eulerAngles.x);\n */\n rotationX: {\n get () {\n if (CC_DEBUG) {\n cc.warn(\"`cc.Node.rotationX` is deprecated since v2.1.0, please use `eulerAngles.x` instead. (`this.node.rotationX` -> `this.node.eulerAngles.x`)\");\n }\n return this._eulerAngles.x;\n },\n set (value) {\n if (CC_DEBUG) {\n cc.warn(\"`cc.Node.rotationX` is deprecated since v2.1.0, please set `eulerAngles` instead. (`this.node.rotationX = x` -> `this.node.is3DNode = true; this.node.eulerAngles = cc.v3(x, 0, 0)`\");\n }\n if (this._eulerAngles.x !== value) {\n this._eulerAngles.x = value;\n // Update quaternion from rotation\n if (this._eulerAngles.x === this._eulerAngles.y) {\n Trs.fromAngleZ(this._trs, -value);\n }\n else {\n Trs.fromEulerNumber(this._trs, value, this._eulerAngles.y, 0);\n }\n this.setLocalDirty(LocalDirtyFlag.ALL_ROTATION);\n\n if (this._eventMask & ROTATION_ON) {\n this.emit(EventType.ROTATION_CHANGED);\n }\n }\n },\n },\n\n /**\n * !#en Rotation on y axis.\n * !#zh 该节点 Y 轴旋转角度。\n * @property rotationY\n * @type {Number}\n * @deprecated since v2.1\n * @example\n * node.is3DNode = true;\n * node.eulerAngles = cc.v3(0, 45, 0);\n * cc.log(\"Node eulerAngles Y: \" + node.eulerAngles.y);\n */\n rotationY: {\n get () {\n if (CC_DEBUG) {\n cc.warn(\"`cc.Node.rotationY` is deprecated since v2.1.0, please use `eulerAngles.y` instead. (`this.node.rotationY` -> `this.node.eulerAngles.y`)\");\n }\n return this._eulerAngles.y;\n },\n set (value) {\n if (CC_DEBUG) {\n cc.warn(\"`cc.Node.rotationY` is deprecated since v2.1.0, please set `eulerAngles` instead. (`this.node.rotationY = y` -> `this.node.is3DNode = true; this.node.eulerAngles = cc.v3(0, y, 0)`\");\n }\n if (this._eulerAngles.y !== value) {\n this._eulerAngles.y = value;\n // Update quaternion from rotation\n if (this._eulerAngles.x === this._eulerAngles.y) {\n Trs.fromAngleZ(this._trs, -value);\n }\n else {\n Trs.fromEulerNumber(this._trs, this._eulerAngles.x, value, 0);\n }\n this.setLocalDirty(LocalDirtyFlag.ALL_ROTATION);\n\n if (this._eventMask & ROTATION_ON) {\n this.emit(EventType.ROTATION_CHANGED);\n }\n }\n },\n },\n\n eulerAngles: {\n get () {\n if (CC_EDITOR) {\n return this._eulerAngles;\n }\n else {\n return Trs.toEuler(this._eulerAngles, this._trs);\n }\n }, set (v) {\n if (CC_EDITOR) {\n this._eulerAngles.set(v);\n }\n\n Trs.fromEuler(this._trs, v);\n this.setLocalDirty(LocalDirtyFlag.ALL_ROTATION);\n !CC_NATIVERENDERER && (this._renderFlag |= RenderFlow.FLAG_TRANSFORM);\n\n if (this._eventMask & ROTATION_ON) {\n this.emit(EventType.ROTATION_CHANGED);\n }\n }\n },\n\n // This property is used for Mesh Skeleton Animation\n // Should be removed when node.rotation upgrade to quaternion value\n quat: {\n get () {\n let trs = this._trs;\n return new Quat(trs[3], trs[4], trs[5], trs[6]);\n }, set (v) {\n this.setRotation(v);\n }\n },\n\n /**\n * !#en The local scale relative to the parent.\n * !#zh 节点相对父节点的缩放。\n * @property scale\n * @type {Number}\n * @example\n * node.scale = 1;\n */\n scale: {\n get () {\n return this._trs[7];\n },\n set (v) {\n this.setScale(v);\n }\n },\n\n /**\n * !#en Scale on x axis.\n * !#zh 节点 X 轴缩放。\n * @property scaleX\n * @type {Number}\n * @example\n * node.scaleX = 0.5;\n * cc.log(\"Node Scale X: \" + node.scaleX);\n */\n scaleX: {\n get () {\n return this._trs[7];\n },\n set (value) {\n if (this._trs[7] !== value) {\n this._trs[7] = value;\n this.setLocalDirty(LocalDirtyFlag.ALL_SCALE);\n\n if (this._eventMask & SCALE_ON) {\n this.emit(EventType.SCALE_CHANGED);\n }\n }\n },\n },\n\n /**\n * !#en Scale on y axis.\n * !#zh 节点 Y 轴缩放。\n * @property scaleY\n * @type {Number}\n * @example\n * node.scaleY = 0.5;\n * cc.log(\"Node Scale Y: \" + node.scaleY);\n */\n scaleY: {\n get () {\n return this._trs[8];\n },\n set (value) {\n if (this._trs[8] !== value) {\n this._trs[8] = value;\n this.setLocalDirty(LocalDirtyFlag.ALL_SCALE);\n\n if (this._eventMask & SCALE_ON) {\n this.emit(EventType.SCALE_CHANGED);\n }\n }\n },\n },\n\n /**\n * !#en Scale on z axis.\n * !#zh 节点 Z 轴缩放。\n * @property scaleZ\n * @type {Number}\n */\n scaleZ: {\n get () {\n return this._trs[9];\n },\n set (value) {\n if (this._trs[9] !== value) {\n this._trs[9] = value;\n this.setLocalDirty(LocalDirtyFlag.ALL_SCALE);\n !CC_NATIVERENDERER && (this._renderFlag |= RenderFlow.FLAG_TRANSFORM);\n\n if (this._eventMask & SCALE_ON) {\n this.emit(EventType.SCALE_CHANGED);\n }\n }\n }\n },\n\n /**\n * !#en Skew x\n * !#zh 该节点 X 轴倾斜角度。\n * @property skewX\n * @type {Number}\n * @example\n * node.skewX = 0;\n * cc.log(\"Node SkewX: \" + node.skewX);\n * @deprecated since v2.2.1\n */\n skewX: {\n get () {\n return this._skewX;\n },\n set (value) {\n _skewWarn(value, this);\n\n this._skewX = value;\n this.setLocalDirty(LocalDirtyFlag.SKEW);\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy.updateSkew();\n }\n }\n },\n\n /**\n * !#en Skew y\n * !#zh 该节点 Y 轴倾斜角度。\n * @property skewY\n * @type {Number}\n * @example\n * node.skewY = 0;\n * cc.log(\"Node SkewY: \" + node.skewY);\n * @deprecated since v2.2.1\n */\n skewY: {\n get () {\n return this._skewY;\n },\n set (value) {\n _skewWarn(value, this);\n\n this._skewY = value;\n this.setLocalDirty(LocalDirtyFlag.SKEW);\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy.updateSkew();\n }\n }\n },\n\n /**\n * !#en Opacity of node, default value is 255.\n * !#zh 节点透明度,默认值为 255。\n * @property opacity\n * @type {Number}\n * @example\n * node.opacity = 255;\n */\n opacity: {\n get () {\n return this._opacity;\n },\n set (value) {\n value = cc.misc.clampf(value, 0, 255);\n if (this._opacity !== value) {\n this._opacity = value;\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy.updateOpacity();\n }\n this._renderFlag |= RenderFlow.FLAG_OPACITY_COLOR;\n }\n },\n range: [0, 255]\n },\n\n /**\n * !#en Color of node, default value is white: (255, 255, 255).\n * !#zh 节点颜色。默认为白色,数值为:(255,255,255)。\n * @property color\n * @type {Color}\n * @example\n * node.color = new cc.Color(255, 255, 255);\n */\n color: {\n get () {\n return this._color.clone()\n },\n set (value) {\n if (!this._color.equals(value)) {\n this._color.set(value);\n if (CC_DEV && value.a !== 255) {\n cc.warnID(1626);\n }\n\n this._renderFlag |= RenderFlow.FLAG_COLOR;\n\n if (this._eventMask & COLOR_ON) {\n this.emit(EventType.COLOR_CHANGED, value);\n }\n }\n },\n },\n\n /**\n * !#en Anchor point's position on x axis.\n * !#zh 节点 X 轴锚点位置。\n * @property anchorX\n * @type {Number}\n * @example\n * node.anchorX = 0;\n */\n anchorX: {\n get () {\n return this._anchorPoint.x;\n },\n set (value) {\n var anchorPoint = this._anchorPoint;\n if (anchorPoint.x !== value) {\n anchorPoint.x = value;\n if (this._eventMask & ANCHOR_ON) {\n this.emit(EventType.ANCHOR_CHANGED);\n }\n }\n },\n },\n\n /**\n * !#en Anchor point's position on y axis.\n * !#zh 节点 Y 轴锚点位置。\n * @property anchorY\n * @type {Number}\n * @example\n * node.anchorY = 0;\n */\n anchorY: {\n get () {\n return this._anchorPoint.y;\n },\n set (value) {\n var anchorPoint = this._anchorPoint;\n if (anchorPoint.y !== value) {\n anchorPoint.y = value;\n if (this._eventMask & ANCHOR_ON) {\n this.emit(EventType.ANCHOR_CHANGED);\n }\n }\n },\n },\n\n /**\n * !#en Width of node.\n * !#zh 节点宽度。\n * @property width\n * @type {Number}\n * @example\n * node.width = 100;\n */\n width: {\n get () {\n return this._contentSize.width;\n },\n set (value) {\n if (value !== this._contentSize.width) {\n if (CC_EDITOR) {\n var clone = cc.size(this._contentSize.width, this._contentSize.height);\n }\n this._contentSize.width = value;\n if (this._eventMask & SIZE_ON) {\n if (CC_EDITOR) {\n this.emit(EventType.SIZE_CHANGED, clone);\n }\n else {\n this.emit(EventType.SIZE_CHANGED);\n }\n }\n }\n },\n },\n\n /**\n * !#en Height of node.\n * !#zh 节点高度。\n * @property height\n * @type {Number}\n * @example\n * node.height = 100;\n */\n height: {\n get () {\n return this._contentSize.height;\n },\n set (value) {\n if (value !== this._contentSize.height) {\n if (CC_EDITOR) {\n var clone = cc.size(this._contentSize.width, this._contentSize.height);\n }\n this._contentSize.height = value;\n if (this._eventMask & SIZE_ON) {\n if (CC_EDITOR) {\n this.emit(EventType.SIZE_CHANGED, clone);\n }\n else {\n this.emit(EventType.SIZE_CHANGED);\n }\n }\n }\n },\n },\n\n /**\n * !#en zIndex is the 'key' used to sort the node relative to its siblings.
\n * The value of zIndex should be in the range between cc.macro.MIN_ZINDEX and cc.macro.MAX_ZINDEX.
\n * The Node's parent will sort all its children based on the zIndex value and the arrival order.
\n * Nodes with greater zIndex will be sorted after nodes with smaller zIndex.
\n * If two nodes have the same zIndex, then the node that was added first to the children's array will be in front of the other node in the array.
\n * Node's order in children list will affect its rendering order. Parent is always rendering before all children.\n * !#zh zIndex 是用来对节点进行排序的关键属性,它决定一个节点在兄弟节点之间的位置。
\n * zIndex 的取值应该介于 cc.macro.MIN_ZINDEX 和 cc.macro.MAX_ZINDEX 之间\n * 父节点主要根据节点的 zIndex 和添加次序来排序,拥有更高 zIndex 的节点将被排在后面,如果两个节点的 zIndex 一致,先添加的节点会稳定排在另一个节点之前。
\n * 节点在 children 中的顺序决定了其渲染顺序。父节点永远在所有子节点之前被渲染\n * @property zIndex\n * @type {Number}\n * @example\n * node.zIndex = 1;\n * cc.log(\"Node zIndex: \" + node.zIndex);\n */\n zIndex: {\n get () {\n return this._localZOrder >> 16;\n },\n set (value) {\n if (value > macro.MAX_ZINDEX) {\n cc.warnID(1636);\n value = macro.MAX_ZINDEX;\n }\n else if (value < macro.MIN_ZINDEX) {\n cc.warnID(1637);\n value = macro.MIN_ZINDEX;\n }\n\n if (this.zIndex !== value) {\n this._localZOrder = (this._localZOrder & 0x0000ffff) | (value << 16);\n this.emit(EventType.SIBLING_ORDER_CHANGED);\n\n this._onSiblingIndexChanged();\n }\n }\n },\n\n /**\n * !#en\n * Switch 2D/3D node. The 2D nodes will run faster.\n * !#zh\n * 切换 2D/3D 节点,2D 节点会有更高的运行效率\n * @property {Boolean} is3DNode\n * @default false\n */\n is3DNode: {\n get () {\n return this._is3DNode;\n }, set (v) {\n if (this._is3DNode === v) {\n return;\n }\n this._is3DNode = v;\n this._update3DFunction();\n }\n },\n\n /**\n * !#en Returns a normalized vector representing the up direction (Y axis) of the node in world space.\n * !#zh 获取节点正上方(y 轴)面对的方向,返回值为世界坐标系下的归一化向量\n *\n * @property up\n * @type {Vec3}\n */\n up: {\n get () {\n var _up = Vec3.transformQuat(_urfVec3, Vec3.UP, this.getWorldRotation(_urfQuat));\n return _up.clone();\n }\n },\n\n /**\n * !#en Returns a normalized vector representing the right direction (X axis) of the node in world space.\n * !#zh 获取节点正右方(x 轴)面对的方向,返回值为世界坐标系下的归一化向量\n *\n * @property right\n * @type {Vec3}\n */\n right: {\n get () {\n var _right = Vec3.transformQuat(_urfVec3, Vec3.RIGHT, this.getWorldRotation(_urfQuat));\n return _right.clone();\n }\n },\n\n /**\n * !#en Returns a normalized vector representing the forward direction (Z axis) of the node in world space.\n * !#zh 获取节点正前方(z 轴)面对的方向,返回值为世界坐标系下的归一化向量\n *\n * @property forward\n * @type {Vec3}\n */\n forward: {\n get () {\n var _forward = Vec3.transformQuat(_urfVec3, Vec3.FORWARD, this.getWorldRotation(_urfQuat));\n return _forward.clone();\n }\n },\n },\n\n /**\n * @method constructor\n * @param {String} [name]\n */\n ctor () {\n this._reorderChildDirty = false;\n\n // cache component\n this._widget = null;\n // fast render component access\n this._renderComponent = null;\n // Event listeners\n this._capturingListeners = null;\n this._bubblingListeners = null;\n // Touch event listener\n this._touchListener = null;\n // Mouse event listener\n this._mouseListener = null;\n\n this._initDataFromPool();\n\n this._eventMask = 0;\n this._cullingMask = 1;\n this._childArrivalOrder = 1;\n\n // Proxy\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy = new renderer.NodeProxy(this._spaceInfo.unitID, this._spaceInfo.index, this._id, this._name);\n this._proxy.init(this);\n }\n // should reset _renderFlag for both web and native\n this._renderFlag = RenderFlow.FLAG_TRANSFORM | RenderFlow.FLAG_OPACITY_COLOR;\n },\n\n statics: {\n EventType,\n _LocalDirtyFlag: LocalDirtyFlag,\n // is node but not scene\n isNode (obj) {\n return obj instanceof Node && (obj.constructor === Node || !(obj instanceof cc.Scene));\n },\n BuiltinGroupIndex\n },\n\n // OVERRIDES\n\n _onSiblingIndexChanged () {\n // update rendering scene graph, sort them by arrivalOrder\n if (this._parent) {\n this._parent._delaySort();\n }\n },\n\n _onPreDestroy () {\n var destroyByParent = this._onPreDestroyBase();\n\n // Actions\n if (ActionManagerExist) {\n cc.director.getActionManager().removeAllActionsFromTarget(this);\n }\n\n // Remove Node.currentHovered\n if (_currentHovered === this) {\n _currentHovered = null;\n }\n\n this._bubblingListeners && this._bubblingListeners.clear();\n this._capturingListeners && this._capturingListeners.clear();\n\n // Remove all event listeners if necessary\n if (this._touchListener || this._mouseListener) {\n eventManager.removeListeners(this);\n if (this._touchListener) {\n this._touchListener.owner = null;\n this._touchListener.mask = null;\n this._touchListener = null;\n }\n if (this._mouseListener) {\n this._mouseListener.owner = null;\n this._mouseListener.mask = null;\n this._mouseListener = null;\n }\n }\n\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy.destroy();\n this._proxy = null;\n }\n\n this._backDataIntoPool();\n\n if (this._reorderChildDirty) {\n cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE, this.sortAllChildren, this);\n }\n\n if (!destroyByParent) {\n // simulate some destruct logic to make undo system work correctly\n if (CC_EDITOR) {\n // ensure this node can reattach to scene by undo system\n this._parent = null;\n }\n }\n },\n\n _onPostActivated (active) {\n var actionManager = ActionManagerExist ? cc.director.getActionManager() : null;\n if (active) {\n // Refresh transform\n this._renderFlag |= RenderFlow.FLAG_WORLD_TRANSFORM;\n // ActionManager & EventManager\n actionManager && actionManager.resumeTarget(this);\n eventManager.resumeTarget(this);\n // Search Mask in parent\n this._checkListenerMask();\n } else {\n // deactivate\n actionManager && actionManager.pauseTarget(this);\n eventManager.pauseTarget(this);\n }\n },\n\n _onHierarchyChanged (oldParent) {\n this._updateOrderOfArrival();\n // Fixed a bug where children and parent node groups were forced to synchronize, instead of only synchronizing `_cullingMask` value\n _updateCullingMask(this);\n if (this._parent) {\n this._parent._delaySort();\n }\n this._renderFlag |= RenderFlow.FLAG_WORLD_TRANSFORM | RenderFlow.FLAG_OPACITY_COLOR;\n this._onHierarchyChangedBase(oldParent);\n if (cc._widgetManager) {\n cc._widgetManager._nodesOrderDirty = true;\n }\n\n if (oldParent && this._activeInHierarchy) {\n //TODO: It may be necessary to update the listener mask of all child nodes.\n this._checkListenerMask();\n }\n\n // Node proxy\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy.updateParent();\n }\n },\n\n // INTERNAL\n\n _update3DFunction () {\n if (this._is3DNode) {\n this._updateLocalMatrix = updateLocalMatrix3D;\n this._calculWorldMatrix = calculWorldMatrix3D;\n this._mulMat = mulMat3D;\n }\n else {\n this._updateLocalMatrix = updateLocalMatrix2D;\n this._calculWorldMatrix = calculWorldMatrix2D;\n this._mulMat = mulMat2D;\n }\n if (this._renderComponent && this._renderComponent._on3DNodeChanged) {\n this._renderComponent._on3DNodeChanged();\n }\n this._renderFlag |= RenderFlow.FLAG_TRANSFORM;\n this._localMatDirty = LocalDirtyFlag.ALL;\n\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy.update3DNode();\n }\n },\n\n _initDataFromPool () {\n if (!this._spaceInfo) {\n if (CC_EDITOR || CC_TEST) {\n this._spaceInfo = {\n trs: new Float64Array(10),\n localMat: new Float64Array(16),\n worldMat: new Float64Array(16),\n };\n } else {\n this._spaceInfo = nodeMemPool.pop();\n }\n }\n\n let spaceInfo = this._spaceInfo;\n this._matrix = cc.mat4(spaceInfo.localMat);\n Mat4.identity(this._matrix);\n this._worldMatrix = cc.mat4(spaceInfo.worldMat);\n Mat4.identity(this._worldMatrix);\n this._localMatDirty = LocalDirtyFlag.ALL;\n this._worldMatDirty = true;\n\n let trs = this._trs = spaceInfo.trs;\n trs[0] = 0; // position.x\n trs[1] = 0; // position.y\n trs[2] = 0; // position.z\n trs[3] = 0; // rotation.x\n trs[4] = 0; // rotation.y\n trs[5] = 0; // rotation.z\n trs[6] = 1; // rotation.w\n trs[7] = 1; // scale.x\n trs[8] = 1; // scale.y\n trs[9] = 1; // scale.z\n },\n\n _backDataIntoPool () {\n if (!(CC_EDITOR || CC_TEST)) {\n // push back to pool\n nodeMemPool.push(this._spaceInfo);\n this._matrix = null;\n this._worldMatrix = null;\n this._trs = null;\n this._spaceInfo = null;\n }\n },\n\n _toEuler () {\n if (this.is3DNode) {\n Trs.toEuler(this._eulerAngles, this._trs);\n }\n else {\n let z = Math.asin(this._trs[5]) / ONE_DEGREE * 2;\n Vec3.set(this._eulerAngles, 0, 0, z);\n }\n },\n\n _fromEuler () {\n if (this.is3DNode) {\n Trs.fromEuler(this._trs, this._eulerAngles);\n }\n else {\n Trs.fromAngleZ(this._trs, this._eulerAngles.z);\n }\n },\n\n _initProperties () {\n if (this._is3DNode) {\n this._update3DFunction();\n }\n\n let trs = this._trs;\n if (trs) {\n let desTrs = trs;\n trs = this._trs = this._spaceInfo.trs;\n // just adapt to old trs\n if (desTrs.length === 11) {\n trs.set(desTrs.subarray(1));\n } else {\n trs.set(desTrs);\n }\n } else {\n trs = this._trs = this._spaceInfo.trs;\n }\n\n if (CC_EDITOR) {\n if (this._skewX !== 0 || this._skewY !== 0) {\n var NodeUtils = Editor.require('scene://utils/node');\n cc.warn(\"`cc.Node.skewX/Y` is deprecated since v2.2.1, please use 3D node instead.\", `Node: ${NodeUtils.getNodePath(this)}.`);\n }\n }\n\n this._fromEuler();\n\n if (CC_JSB && CC_NATIVERENDERER) {\n this._renderFlag |= RenderFlow.FLAG_TRANSFORM | RenderFlow.FLAG_OPACITY_COLOR;\n }\n },\n\n /*\n * The initializer for Node which will be called before all components onLoad\n */\n _onBatchCreated (dontSyncChildPrefab) {\n this._initProperties();\n\n // Fixed a bug where children and parent node groups were forced to synchronize, instead of only synchronizing `_cullingMask` value\n this._cullingMask = 1 << _getActualGroupIndex(this);\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy && this._proxy.updateCullingMask();\n }\n\n if (!this._activeInHierarchy) {\n if (CC_EDITOR ? cc.director.getActionManager() : ActionManagerExist) {\n // deactivate ActionManager and EventManager by default\n cc.director.getActionManager().pauseTarget(this);\n }\n eventManager.pauseTarget(this);\n }\n\n let children = this._children;\n for (let i = 0, len = children.length; i < len; i++) {\n let child = children[i];\n if (!dontSyncChildPrefab) {\n // sync child prefab\n let prefabInfo = child._prefab;\n if (prefabInfo && prefabInfo.sync && prefabInfo.root === child) {\n PrefabHelper.syncWithPrefab(child);\n }\n child._updateOrderOfArrival();\n }\n child._onBatchCreated(dontSyncChildPrefab);\n }\n\n if (children.length > 0) {\n this._renderFlag |= RenderFlow.FLAG_CHILDREN;\n }\n\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy.initNative();\n }\n },\n\n // EVENT TARGET\n _checkListenerMask () {\n // Because Mask may be nested, need to find all the Mask components in the parent node.\n // The click area must satisfy all Masks to trigger the click.\n if (this._touchListener) {\n var mask = this._touchListener.mask = _searchComponentsInParent(this, cc.Mask);\n if (this._mouseListener) {\n this._mouseListener.mask = mask;\n }\n } else if (this._mouseListener) {\n this._mouseListener.mask = _searchComponentsInParent(this, cc.Mask);\n }\n },\n\n _checknSetupSysEvent (type) {\n let newAdded = false;\n let forDispatch = false;\n if (_touchEvents.indexOf(type) !== -1) {\n if (!this._touchListener) {\n this._touchListener = cc.EventListener.create({\n event: cc.EventListener.TOUCH_ONE_BY_ONE,\n swallowTouches: true,\n owner: this,\n mask: _searchComponentsInParent(this, cc.Mask),\n onTouchBegan: _touchStartHandler,\n onTouchMoved: _touchMoveHandler,\n onTouchEnded: _touchEndHandler,\n onTouchCancelled: _touchCancelHandler\n });\n eventManager.addListener(this._touchListener, this);\n newAdded = true;\n }\n forDispatch = true;\n }\n else if (_mouseEvents.indexOf(type) !== -1) {\n if (!this._mouseListener) {\n this._mouseListener = cc.EventListener.create({\n event: cc.EventListener.MOUSE,\n _previousIn: false,\n owner: this,\n mask: _searchComponentsInParent(this, cc.Mask),\n onMouseDown: _mouseDownHandler,\n onMouseMove: _mouseMoveHandler,\n onMouseUp: _mouseUpHandler,\n onMouseScroll: _mouseWheelHandler,\n });\n eventManager.addListener(this._mouseListener, this);\n newAdded = true;\n }\n forDispatch = true;\n }\n if (newAdded && !this._activeInHierarchy) {\n cc.director.getScheduler().schedule(function () {\n if (!this._activeInHierarchy) {\n eventManager.pauseTarget(this);\n }\n }, this, 0, 0, 0, false);\n }\n return forDispatch;\n },\n\n /**\n * !#en\n * Register a callback of a specific event type on Node.
\n * Use this method to register touch or mouse event permit propagation based on scene graph,
\n * These kinds of event are triggered with dispatchEvent, the dispatch process has three steps:
\n * 1. Capturing phase: dispatch in capture targets (`_getCapturingTargets`), e.g. parents in node tree, from root to the real target
\n * 2. At target phase: dispatch to the listeners of the real target
\n * 3. Bubbling phase: dispatch in bubble targets (`_getBubblingTargets`), e.g. parents in node tree, from the real target to root
\n * In any moment of the dispatching process, it can be stopped via `event.stopPropagation()` or `event.stopPropagationImmidiate()`.
\n * It's the recommended way to register touch/mouse event for Node,
\n * please do not use cc.eventManager directly for Node.
\n * You can also register custom event and use `emit` to trigger custom event on Node.
\n * For such events, there won't be capturing and bubbling phase, your event will be dispatched directly to its listeners registered on the same node.
\n * You can also pass event callback parameters with `emit` by passing parameters after `type`.\n * !#zh\n * 在节点上注册指定类型的回调函数,也可以设置 target 用于绑定响应函数的 this 对象。
\n * 鼠标或触摸事件会被系统调用 dispatchEvent 方法触发,触发的过程包含三个阶段:
\n * 1. 捕获阶段:派发事件给捕获目标(通过 `_getCapturingTargets` 获取),比如,节点树中注册了捕获阶段的父节点,从根节点开始派发直到目标节点。
\n * 2. 目标阶段:派发给目标节点的监听器。
\n * 3. 冒泡阶段:派发事件给冒泡目标(通过 `_getBubblingTargets` 获取),比如,节点树中注册了冒泡阶段的父节点,从目标节点开始派发直到根节点。
\n * 同时您可以将事件派发到父节点或者通过调用 stopPropagation 拦截它。
\n * 推荐使用这种方式来监听节点上的触摸或鼠标事件,请不要在节点上直接使用 cc.eventManager。
\n * 你也可以注册自定义事件到节点上,并通过 emit 方法触发此类事件,对于这类事件,不会发生捕获冒泡阶段,只会直接派发给注册在该节点上的监听器
\n * 你可以通过在 emit 方法调用时在 type 之后传递额外的参数作为事件回调的参数列表\n * @method on\n * @param {String|Node.EventType} type - A string representing the event type to listen for.
See {{#crossLink \"Node/EventTyupe/POSITION_CHANGED\"}}Node Events{{/crossLink}} for all builtin events.\n * @param {Function} callback - The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).\n * @param {Event|any} [callback.event] event or first argument when emit\n * @param {any} [callback.arg2] arg2\n * @param {any} [callback.arg3] arg3\n * @param {any} [callback.arg4] arg4\n * @param {any} [callback.arg5] arg5\n * @param {Object} [target] - The target (this object) to invoke the callback, can be null\n * @param {Boolean} [useCapture=false] - When set to true, the listener will be triggered at capturing phase which is ahead of the final target emit, otherwise it will be triggered during bubbling phase.\n * @return {Function} - Just returns the incoming callback so you can save the anonymous function easier.\n * @typescript\n * on(type: string, callback: T, target?: any, useCapture?: boolean): T\n * @example\n * this.node.on(cc.Node.EventType.TOUCH_START, this.memberFunction, this); // if \"this\" is component and the \"memberFunction\" declared in CCClass.\n * node.on(cc.Node.EventType.TOUCH_START, callback, this);\n * node.on(cc.Node.EventType.TOUCH_MOVE, callback, this);\n * node.on(cc.Node.EventType.TOUCH_END, callback, this);\n * node.on(cc.Node.EventType.TOUCH_CANCEL, callback, this);\n * node.on(cc.Node.EventType.ANCHOR_CHANGED, callback);\n * node.on(cc.Node.EventType.COLOR_CHANGED, callback);\n */\n on (type, callback, target, useCapture) {\n let forDispatch = this._checknSetupSysEvent(type);\n if (forDispatch) {\n return this._onDispatch(type, callback, target, useCapture);\n }\n else {\n switch (type) {\n case EventType.POSITION_CHANGED:\n this._eventMask |= POSITION_ON;\n break;\n case EventType.SCALE_CHANGED:\n this._eventMask |= SCALE_ON;\n break;\n case EventType.ROTATION_CHANGED:\n this._eventMask |= ROTATION_ON;\n break;\n case EventType.SIZE_CHANGED:\n this._eventMask |= SIZE_ON;\n break;\n case EventType.ANCHOR_CHANGED:\n this._eventMask |= ANCHOR_ON;\n break;\n case EventType.COLOR_CHANGED:\n this._eventMask |= COLOR_ON;\n break;\n }\n if (!this._bubblingListeners) {\n this._bubblingListeners = new EventTarget();\n }\n return this._bubblingListeners.on(type, callback, target);\n }\n },\n\n /**\n * !#en\n * Register an callback of a specific event type on the Node,\n * the callback will remove itself after the first time it is triggered.\n * !#zh\n * 注册节点的特定事件类型回调,回调会在第一时间被触发后删除自身。\n *\n * @method once\n * @param {String} type - A string representing the event type to listen for.\n * @param {Function} callback - The callback that will be invoked when the event is dispatched.\n * The callback is ignored if it is a duplicate (the callbacks are unique).\n * @param {Event|any} [callback.event] event or first argument when emit\n * @param {any} [callback.arg2] arg2\n * @param {any} [callback.arg3] arg3\n * @param {any} [callback.arg4] arg4\n * @param {any} [callback.arg5] arg5\n * @param {Object} [target] - The target (this object) to invoke the callback, can be null\n * @typescript\n * once(type: string, callback: T, target?: any, useCapture?: boolean): T\n * @example\n * node.once(cc.Node.EventType.ANCHOR_CHANGED, callback);\n */\n once (type, callback, target, useCapture) {\n let forDispatch = this._checknSetupSysEvent(type);\n\n let listeners = null;\n if (forDispatch && useCapture) {\n listeners = this._capturingListeners = this._capturingListeners || new EventTarget();\n }\n else {\n listeners = this._bubblingListeners = this._bubblingListeners || new EventTarget();\n }\n\n listeners.once(type, callback, target);\n listeners.once(type, () => {\n this.off(type, callback, target);\n }, undefined);\n },\n\n _onDispatch (type, callback, target, useCapture) {\n // Accept also patameters like: (type, callback, useCapture)\n if (typeof target === 'boolean') {\n useCapture = target;\n target = undefined;\n }\n else useCapture = !!useCapture;\n if (!callback) {\n cc.errorID(6800);\n return;\n }\n\n var listeners = null;\n if (useCapture) {\n listeners = this._capturingListeners = this._capturingListeners || new EventTarget();\n }\n else {\n listeners = this._bubblingListeners = this._bubblingListeners || new EventTarget();\n }\n\n if ( !listeners.hasEventListener(type, callback, target) ) {\n listeners.on(type, callback, target);\n\n if (target && target.__eventTargets) {\n target.__eventTargets.push(this);\n }\n }\n\n return callback;\n },\n\n /**\n * !#en\n * Removes the callback previously registered with the same type, callback, target and or useCapture.\n * This method is merely an alias to removeEventListener.\n * !#zh 删除之前与同类型,回调,目标或 useCapture 注册的回调。\n * @method off\n * @param {String} type - A string representing the event type being removed.\n * @param {Function} [callback] - The callback to remove.\n * @param {Object} [target] - The target (this object) to invoke the callback, if it's not given, only callback without target will be removed\n * @param {Boolean} [useCapture=false] - When set to true, the listener will be triggered at capturing phase which is ahead of the final target emit, otherwise it will be triggered during bubbling phase.\n * @example\n * this.node.off(cc.Node.EventType.TOUCH_START, this.memberFunction, this);\n * node.off(cc.Node.EventType.TOUCH_START, callback, this.node);\n * node.off(cc.Node.EventType.ANCHOR_CHANGED, callback, this);\n */\n off (type, callback, target, useCapture) {\n let touchEvent = _touchEvents.indexOf(type) !== -1;\n let mouseEvent = !touchEvent && _mouseEvents.indexOf(type) !== -1;\n if (touchEvent || mouseEvent) {\n this._offDispatch(type, callback, target, useCapture);\n\n if (touchEvent) {\n if (this._touchListener && !_checkListeners(this, _touchEvents)) {\n eventManager.removeListener(this._touchListener);\n this._touchListener = null;\n }\n }\n else if (mouseEvent) {\n if (this._mouseListener && !_checkListeners(this, _mouseEvents)) {\n eventManager.removeListener(this._mouseListener);\n this._mouseListener = null;\n }\n }\n }\n else if (this._bubblingListeners) {\n this._bubblingListeners.off(type, callback, target);\n\n var hasListeners = this._bubblingListeners.hasEventListener(type);\n // All listener removed\n if (!hasListeners) {\n switch (type) {\n case EventType.POSITION_CHANGED:\n this._eventMask &= ~POSITION_ON;\n break;\n case EventType.SCALE_CHANGED:\n this._eventMask &= ~SCALE_ON;\n break;\n case EventType.ROTATION_CHANGED:\n this._eventMask &= ~ROTATION_ON;\n break;\n case EventType.SIZE_CHANGED:\n this._eventMask &= ~SIZE_ON;\n break;\n case EventType.ANCHOR_CHANGED:\n this._eventMask &= ~ANCHOR_ON;\n break;\n case EventType.COLOR_CHANGED:\n this._eventMask &= ~COLOR_ON;\n break;\n }\n }\n }\n },\n\n _offDispatch (type, callback, target, useCapture) {\n // Accept also patameters like: (type, callback, useCapture)\n if (typeof target === 'boolean') {\n useCapture = target;\n target = undefined;\n }\n else useCapture = !!useCapture;\n if (!callback) {\n this._capturingListeners && this._capturingListeners.removeAll(type);\n this._bubblingListeners && this._bubblingListeners.removeAll(type);\n }\n else {\n var listeners = useCapture ? this._capturingListeners : this._bubblingListeners;\n if (listeners) {\n listeners.off(type, callback, target);\n\n if (target && target.__eventTargets) {\n js.array.fastRemove(target.__eventTargets, this);\n }\n }\n\n }\n },\n\n /**\n * !#en Removes all callbacks previously registered with the same target.\n * !#zh 移除目标上的所有注册事件。\n * @method targetOff\n * @param {Object} target - The target to be searched for all related callbacks\n * @example\n * node.targetOff(target);\n */\n targetOff (target) {\n let listeners = this._bubblingListeners;\n if (listeners) {\n listeners.targetOff(target);\n\n // Check for event mask reset\n if ((this._eventMask & POSITION_ON) && !listeners.hasEventListener(EventType.POSITION_CHANGED)) {\n this._eventMask &= ~POSITION_ON;\n }\n if ((this._eventMask & SCALE_ON) && !listeners.hasEventListener(EventType.SCALE_CHANGED)) {\n this._eventMask &= ~SCALE_ON;\n }\n if ((this._eventMask & ROTATION_ON) && !listeners.hasEventListener(EventType.ROTATION_CHANGED)) {\n this._eventMask &= ~ROTATION_ON;\n }\n if ((this._eventMask & SIZE_ON) && !listeners.hasEventListener(EventType.SIZE_CHANGED)) {\n this._eventMask &= ~SIZE_ON;\n }\n if ((this._eventMask & ANCHOR_ON) && !listeners.hasEventListener(EventType.ANCHOR_CHANGED)) {\n this._eventMask &= ~ANCHOR_ON;\n }\n if ((this._eventMask & COLOR_ON) && !listeners.hasEventListener(EventType.COLOR_CHANGED)) {\n this._eventMask &= ~COLOR_ON;\n }\n }\n if (this._capturingListeners) {\n this._capturingListeners.targetOff(target);\n }\n\n if (target && target.__eventTargets) {\n js.array.fastRemove(target.__eventTargets, this);\n }\n\n if (this._touchListener && !_checkListeners(this, _touchEvents)) {\n eventManager.removeListener(this._touchListener);\n this._touchListener = null;\n }\n if (this._mouseListener && !_checkListeners(this, _mouseEvents)) {\n eventManager.removeListener(this._mouseListener);\n this._mouseListener = null;\n }\n },\n\n /**\n * !#en Checks whether the EventTarget object has any callback registered for a specific type of event.\n * !#zh 检查事件目标对象是否有为特定类型的事件注册的回调。\n * @method hasEventListener\n * @param {String} type - The type of event.\n * @return {Boolean} True if a callback of the specified type is registered; false otherwise.\n */\n hasEventListener (type) {\n let has = false;\n if (this._bubblingListeners) {\n has = this._bubblingListeners.hasEventListener(type);\n }\n if (!has && this._capturingListeners) {\n has = this._capturingListeners.hasEventListener(type);\n }\n return has;\n },\n\n /**\n * !#en\n * Trigger an event directly with the event name and necessary arguments.\n * !#zh\n * 通过事件名发送自定义事件\n *\n * @method emit\n * @param {String} type - event type\n * @param {*} [arg1] - First argument in callback\n * @param {*} [arg2] - Second argument in callback\n * @param {*} [arg3] - Third argument in callback\n * @param {*} [arg4] - Fourth argument in callback\n * @param {*} [arg5] - Fifth argument in callback\n * @example\n *\n * eventTarget.emit('fire', event);\n * eventTarget.emit('fire', message, emitter);\n */\n emit (type, arg1, arg2, arg3, arg4, arg5) {\n if (this._bubblingListeners) {\n this._bubblingListeners.emit(type, arg1, arg2, arg3, arg4, arg5);\n }\n },\n\n /**\n * !#en\n * Dispatches an event into the event flow.\n * The event target is the EventTarget object upon which the dispatchEvent() method is called.\n * !#zh 分发事件到事件流中。\n *\n * @method dispatchEvent\n * @param {Event} event - The Event object that is dispatched into the event flow\n */\n dispatchEvent (event) {\n var _array = _cachedPool.get();\n _doDispatchEvent(this, event, _array);\n _cachedPool.put(_array);\n },\n\n /**\n * !#en Pause node related system events registered with the current Node. Node system events includes touch and mouse events.\n * If recursive is set to true, then this API will pause the node system events for the node and all nodes in its sub node tree.\n * Reference: http://docs.cocos2d-x.org/editors_and_tools/creator-chapters/scripting/internal-events/\n * !#zh 暂停当前节点上注册的所有节点系统事件,节点系统事件包含触摸和鼠标事件。\n * 如果传递 recursive 为 true,那么这个 API 将暂停本节点和它的子树上所有节点的节点系统事件。\n * 参考:https://www.cocos.com/docs/creator/scripting/internal-events.html\n * @method pauseSystemEvents\n * @param {Boolean} recursive - Whether to pause node system events on the sub node tree.\n * @example\n * node.pauseSystemEvents(true);\n */\n pauseSystemEvents (recursive) {\n eventManager.pauseTarget(this, recursive);\n },\n\n /**\n * !#en Resume node related system events registered with the current Node. Node system events includes touch and mouse events.\n * If recursive is set to true, then this API will resume the node system events for the node and all nodes in its sub node tree.\n * Reference: http://docs.cocos2d-x.org/editors_and_tools/creator-chapters/scripting/internal-events/\n * !#zh 恢复当前节点上注册的所有节点系统事件,节点系统事件包含触摸和鼠标事件。\n * 如果传递 recursive 为 true,那么这个 API 将恢复本节点和它的子树上所有节点的节点系统事件。\n * 参考:https://www.cocos.com/docs/creator/scripting/internal-events.html\n * @method resumeSystemEvents\n * @param {Boolean} recursive - Whether to resume node system events on the sub node tree.\n * @example\n * node.resumeSystemEvents(true);\n */\n resumeSystemEvents (recursive) {\n eventManager.resumeTarget(this, recursive);\n },\n\n _hitTest (point, listener) {\n let w = this._contentSize.width,\n h = this._contentSize.height,\n cameraPt = _htVec3a,\n testPt = _htVec3b;\n\n let camera = cc.Camera.findCamera(this);\n if (camera) {\n camera.getScreenToWorldPoint(point, cameraPt);\n }\n else {\n cameraPt.set(point);\n }\n\n this._updateWorldMatrix();\n // If scale is 0, it can't be hit.\n if (!Mat4.invert(_mat4_temp, this._worldMatrix)) {\n return false;\n }\n Vec2.transformMat4(testPt, cameraPt, _mat4_temp);\n testPt.x += this._anchorPoint.x * w;\n testPt.y += this._anchorPoint.y * h;\n\n let hit = false;\n if (testPt.x >= 0 && testPt.y >= 0 && testPt.x <= w && testPt.y <= h) {\n hit = true;\n if (listener && listener.mask) {\n let mask = listener.mask;\n let parent = this;\n let length = mask ? mask.length : 0;\n // find mask parent, should hit test it\n for (let i = 0, j = 0; parent && j < length; ++i, parent = parent.parent) {\n let temp = mask[j];\n if (i === temp.index) {\n if (parent === temp.node) {\n let comp = parent.getComponent(cc.Mask);\n if (comp && comp._enabled && !comp._hitTest(cameraPt)) {\n hit = false;\n break\n }\n\n j++;\n } else {\n // mask parent no longer exists\n mask.length = j;\n break\n }\n } else if (i > temp.index) {\n // mask parent no longer exists\n mask.length = j;\n break\n }\n }\n }\n }\n\n return hit;\n },\n\n /**\n * Get all the targets listening to the supplied type of event in the target's capturing phase.\n * The capturing phase comprises the journey from the root to the last node BEFORE the event target's node.\n * The result should save in the array parameter, and MUST SORT from child nodes to parent nodes.\n *\n * Subclasses can override this method to make event propagable.\n * @method _getCapturingTargets\n * @private\n * @param {String} type - the event type\n * @param {Array} array - the array to receive targets\n * @example {@link cocos2d/core/event/_getCapturingTargets.js}\n */\n _getCapturingTargets (type, array) {\n var parent = this.parent;\n while (parent) {\n if (parent._capturingListeners && parent._capturingListeners.hasEventListener(type)) {\n array.push(parent);\n }\n parent = parent.parent;\n }\n },\n\n /**\n * Get all the targets listening to the supplied type of event in the target's bubbling phase.\n * The bubbling phase comprises any SUBSEQUENT nodes encountered on the return trip to the root of the tree.\n * The result should save in the array parameter, and MUST SORT from child nodes to parent nodes.\n *\n * Subclasses can override this method to make event propagable.\n * @method _getBubblingTargets\n * @private\n * @param {String} type - the event type\n * @param {Array} array - the array to receive targets\n */\n _getBubblingTargets (type, array) {\n var parent = this.parent;\n while (parent) {\n if (parent._bubblingListeners && parent._bubblingListeners.hasEventListener(type)) {\n array.push(parent);\n }\n parent = parent.parent;\n }\n },\n\n// ACTIONS\n /**\n * !#en\n * Executes an action, and returns the action that is executed.
\n * The node becomes the action's target. Refer to cc.Action's getTarget()
\n * Calling runAction while the node is not active won't have any effect.
\n * Note:You shouldn't modify the action after runAction, that won't take any effect.
\n * if you want to modify, when you define action plus.\n * !#zh\n * 执行并返回该执行的动作。该节点将会变成动作的目标。
\n * 调用 runAction 时,节点自身处于不激活状态将不会有任何效果。
\n * 注意:你不应该修改 runAction 后的动作,将无法发挥作用,如果想进行修改,请在定义 action 时加入。\n * @method runAction\n * @param {Action} action\n * @return {Action} An Action pointer\n * @example\n * var action = cc.scaleTo(0.2, 1, 0.6);\n * node.runAction(action);\n * node.runAction(action).repeatForever(); // fail\n * node.runAction(action.repeatForever()); // right\n */\n runAction: ActionManagerExist ? function (action) {\n if (!this.active)\n return;\n cc.assertID(action, 1618);\n let am = cc.director.getActionManager();\n if (!am._suppressDeprecation) {\n am._suppressDeprecation = true;\n cc.warnID(1639);\n }\n am.addAction(action, this, false);\n return action;\n } : emptyFunc,\n\n /**\n * !#en Pause all actions running on the current node. Equals to `cc.director.getActionManager().pauseTarget(node)`.\n * !#zh 暂停本节点上所有正在运行的动作。和 `cc.director.getActionManager().pauseTarget(node);` 等价。\n * @method pauseAllActions\n * @example\n * node.pauseAllActions();\n */\n pauseAllActions: ActionManagerExist ? function () {\n cc.director.getActionManager().pauseTarget(this);\n } : emptyFunc,\n\n /**\n * !#en Resume all paused actions on the current node. Equals to `cc.director.getActionManager().resumeTarget(node)`.\n * !#zh 恢复运行本节点上所有暂停的动作。和 `cc.director.getActionManager().resumeTarget(node);` 等价。\n * @method resumeAllActions\n * @example\n * node.resumeAllActions();\n */\n resumeAllActions: ActionManagerExist ? function () {\n cc.director.getActionManager().resumeTarget(this);\n } : emptyFunc,\n\n /**\n * !#en Stops and removes all actions from the running action list .\n * !#zh 停止并且移除所有正在运行的动作列表。\n * @method stopAllActions\n * @example\n * node.stopAllActions();\n */\n stopAllActions: ActionManagerExist ? function () {\n cc.director.getActionManager().removeAllActionsFromTarget(this);\n } : emptyFunc,\n\n /**\n * !#en Stops and removes an action from the running action list.\n * !#zh 停止并移除指定的动作。\n * @method stopAction\n * @param {Action} action An action object to be removed.\n * @example\n * var action = cc.scaleTo(0.2, 1, 0.6);\n * node.stopAction(action);\n */\n stopAction: ActionManagerExist ? function (action) {\n cc.director.getActionManager().removeAction(action);\n } : emptyFunc,\n\n /**\n * !#en Removes an action from the running action list by its tag.\n * !#zh 停止并且移除指定标签的动作。\n * @method stopActionByTag\n * @param {Number} tag A tag that indicates the action to be removed.\n * @example\n * node.stopActionByTag(1);\n */\n stopActionByTag: ActionManagerExist ? function (tag) {\n if (tag === cc.Action.TAG_INVALID) {\n cc.logID(1612);\n return;\n }\n cc.director.getActionManager().removeActionByTag(tag, this);\n } : emptyFunc,\n\n /**\n * !#en Returns an action from the running action list by its tag.\n * !#zh 通过标签获取指定动作。\n * @method getActionByTag\n * @see cc.Action#getTag and cc.Action#setTag\n * @param {Number} tag\n * @return {Action} The action object with the given tag.\n * @example\n * var action = node.getActionByTag(1);\n */\n getActionByTag: ActionManagerExist ? function (tag) {\n if (tag === cc.Action.TAG_INVALID) {\n cc.logID(1613);\n return null;\n }\n return cc.director.getActionManager().getActionByTag(tag, this);\n } : function () {\n return null;\n },\n\n /**\n * !#en\n * Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays).
\n * Composable actions are counted as 1 action. Example:
\n * If you are running 1 Sequence of 7 actions, it will return 1.
\n * If you are running 7 Sequences of 2 actions, it will return 7.

\n * !#zh\n * 获取运行着的动作加上正在调度运行的动作的总数。
\n * 例如:
\n * - 如果你正在运行 7 个动作中的 1 个 Sequence,它将返回 1。
\n * - 如果你正在运行 2 个动作中的 7 个 Sequence,它将返回 7。
\n *\n * @method getNumberOfRunningActions\n * @return {Number} The number of actions that are running plus the ones that are schedule to run\n * @example\n * var count = node.getNumberOfRunningActions();\n * cc.log(\"Running Action Count: \" + count);\n */\n getNumberOfRunningActions: ActionManagerExist ? function () {\n return cc.director.getActionManager().getNumberOfRunningActionsInTarget(this);\n } : function () {\n return 0;\n },\n\n\n// TRANSFORM RELATED\n /**\n * !#en\n * Returns a copy of the position (x, y, z) of the node in its parent's coordinates.\n * You can pass a cc.Vec2 or cc.Vec3 as the argument to receive the return values.\n * !#zh\n * 获取节点在父节点坐标系中的位置(x, y, z)。\n * 你可以传一个 cc.Vec2 或者 cc.Vec3 作为参数来接收返回值。\n * @method getPosition\n * @param {Vec2|Vec3} [out] - The return value to receive position\n * @return {Vec2|Vec3} The position (x, y, z) of the node in its parent's coordinates\n * @example\n * cc.log(\"Node Position: \" + node.getPosition());\n */\n getPosition (out) {\n out = out || new Vec3();\n return Trs.toPosition(out, this._trs);\n },\n\n /**\n * !#en\n * Sets the position (x, y, z) of the node in its parent's coordinates.
\n * Usually we use cc.v2(x, y) to compose cc.Vec2 object, in this case, position.z will become 0.
\n * and passing two numbers (x, y) is more efficient than passing cc.Vec2 object, in this case, position.z will remain unchanged.\n * For 3D node we can use cc.v3(x, y, z) to compose cc.Vec3 object,
\n * and passing three numbers (x, y, z) is more efficient than passing cc.Vec3 object.\n * !#zh\n * 设置节点在父节点坐标系中的位置。
\n * 可以通过下面的方式设置坐标点:
\n * 1. 传入 2 个数值 x, y (此时不会改变 position.z 的值)。
\n * 2. 传入 cc.v2(x, y) 类型为 cc.Vec2 的对象 (此时 position.z 的值将被设置为0)。\n * 3. 对于 3D 节点可以传入 3 个数值 x, y, z。
\n * 4. 对于 3D 节点可以传入 cc.v3(x, y, z) 类型为 cc.Vec3 的对象。\n * @method setPosition\n * @param {Vec2|Vec3|Number} x - X coordinate for position or the position object\n * @param {Number} [y] - Y coordinate for position\n * @param {Number} [z] - Z coordinate for position\n */\n setPosition (newPosOrX, y, z) {\n let x;\n if (y === undefined) {\n x = newPosOrX.x;\n y = newPosOrX.y;\n z = newPosOrX.z;\n }\n else {\n x = newPosOrX;\n }\n\n let trs = this._trs;\n\n if (z === undefined) {\n z = trs[2];\n }\n\n if (trs[0] === x && trs[1] === y && trs[2] === z) {\n return;\n }\n\n if (CC_EDITOR) {\n var oldPosition = new cc.Vec3(trs[0], trs[1], trs[2]);\n }\n\n trs[0] = x;\n trs[1] = y;\n trs[2] = z;\n\n this.setLocalDirty(LocalDirtyFlag.ALL_POSITION);\n !CC_NATIVERENDERER && (this._renderFlag |= RenderFlow.FLAG_WORLD_TRANSFORM);\n\n // fast check event\n if (this._eventMask & POSITION_ON) {\n if (CC_EDITOR) {\n this.emit(EventType.POSITION_CHANGED, oldPosition);\n }\n else {\n this.emit(EventType.POSITION_CHANGED);\n }\n }\n },\n\n /**\n * !#en\n * Returns the scale factor of the node.\n * Need pass a cc.Vec2 or cc.Vec3 as the argument to receive the return values.\n * !#zh 获取节点的缩放,需要传一个 cc.Vec2 或者 cc.Vec3 作为参数来接收返回值。\n * @method getScale\n * @param {Vec2|Vec3} out\n * @return {Vec2|Vec3} The scale factor\n * @example\n * cc.log(\"Node Scale: \" + node.getScale(cc.v3()));\n */\n getScale (out) {\n if (out !== undefined) {\n return Trs.toScale(out, this._trs);\n }\n else {\n cc.errorID(1400, 'cc.Node.getScale', 'cc.Node.scale or cc.Node.getScale(cc.Vec3)');\n return this._trs[7];\n }\n },\n\n /**\n * !#en\n * Sets the scale of axis in local coordinates of the node.\n * You can operate 2 axis in 2D node, and 3 axis in 3D node.\n * When only (x, y) is passed, the value of scale.z will not be changed.\n * When a Vec2 is passed in, the value of scale.z will be set to 0.\n * !#zh\n * 设置节点在本地坐标系中坐标轴上的缩放比例。\n * 2D 节点可以操作两个坐标轴,而 3D 节点可以操作三个坐标轴。\n * 当只传入 (x, y) 时,scale.z 的值不会被改变。\n * 当只传入 Vec2 对象时,scale.z 的值将被设置为0。\n * @method setScale\n * @param {Number|Vec2|Vec3} x - scaleX or scale object\n * @param {Number} [y]\n * @param {Number} [z]\n * @example\n * node.setScale(cc.v2(2, 2)); // Notice: scaleZ will be 0\n * node.setScale(cc.v3(2, 2, 2)); // for 3D node\n * node.setScale(2);\n */\n setScale (newScaleOrX, y, z) {\n let x;\n // only one parameter, and it's a Vec2/Vec3:\n if (newScaleOrX && typeof newScaleOrX !== 'number') {\n x = newScaleOrX.x;\n y = newScaleOrX.y;\n z = newScaleOrX.z;\n }\n // only one parameter, and it's a number:\n else if (newScaleOrX !== undefined && y === undefined) {\n x = newScaleOrX;\n y = newScaleOrX;\n z = newScaleOrX;\n }\n // two or three paramters:\n else {\n x = newScaleOrX;\n }\n\n let trs = this._trs;\n\n if (z === undefined) {\n z = trs[9];\n }\n\n if (trs[7] !== x || trs[8] !== y || trs[9] !== z) {\n trs[7] = x;\n trs[8] = y;\n trs[9] = z;\n this.setLocalDirty(LocalDirtyFlag.ALL_SCALE);\n !CC_NATIVERENDERER && (this._renderFlag |= RenderFlow.FLAG_TRANSFORM);\n\n if (this._eventMask & SCALE_ON) {\n this.emit(EventType.SCALE_CHANGED);\n }\n }\n },\n\n /**\n * !#en\n * Get rotation of node (in quaternion).\n * Need pass a cc.Quat as the argument to receive the return values.\n * !#zh\n * 获取该节点的 quaternion 旋转角度,需要传一个 cc.Quat 作为参数来接收返回值。\n * @method getRotation\n * @param {Quat} out\n * @return {Quat} Quaternion object represents the rotation\n */\n getRotation (out) {\n if (out instanceof Quat) {\n return Trs.toRotation(out, this._trs);\n }\n else {\n if (CC_DEBUG) {\n cc.warn(\"`cc.Node.getRotation()` is deprecated since v2.1.0, please use `-cc.Node.angle` instead. (`this.node.getRotation()` -> `-this.node.angle`)\");\n }\n return -this.angle;\n }\n },\n\n /**\n * !#en Set rotation of node (in quaternion).\n * !#zh 设置该节点的 quaternion 旋转角度。\n * @method setRotation\n * @param {cc.Quat|Number} quat Quaternion object represents the rotation or the x value of quaternion\n * @param {Number} [y] y value of quternion\n * @param {Number} [z] z value of quternion\n * @param {Number} [w] w value of quternion\n */\n setRotation (rotation, y, z, w) {\n if (typeof rotation === 'number' && y === undefined) {\n if (CC_DEBUG) {\n cc.warn(\"`cc.Node.setRotation(degree)` is deprecated since v2.1.0, please set `-cc.Node.angle` instead. (`this.node.setRotation(x)` -> `this.node.angle = -x`)\");\n }\n this.angle = -rotation;\n }\n else {\n let x = rotation;\n if (y === undefined) {\n x = rotation.x;\n y = rotation.y;\n z = rotation.z;\n w = rotation.w;\n }\n\n let trs = this._trs;\n if (trs[3] !== x || trs[4] !== y || trs[5] !== z || trs[6] !== w) {\n trs[3] = x;\n trs[4] = y;\n trs[5] = z;\n trs[6] = w;\n this.setLocalDirty(LocalDirtyFlag.ALL_ROTATION);\n\n if (this._eventMask & ROTATION_ON) {\n this.emit(EventType.ROTATION_CHANGED);\n }\n\n if (CC_EDITOR) {\n this._toEuler();\n }\n }\n }\n },\n\n /**\n * !#en\n * Returns a copy the untransformed size of the node.
\n * The contentSize remains the same no matter the node is scaled or rotated.
\n * All nodes has a size. Layer and Scene has the same size of the screen by default.
\n * !#zh 获取节点自身大小,不受该节点是否被缩放或者旋转的影响。\n * @method getContentSize\n * @return {Size} The untransformed size of the node.\n * @example\n * cc.log(\"Content Size: \" + node.getContentSize());\n */\n getContentSize () {\n return cc.size(this._contentSize.width, this._contentSize.height);\n },\n\n /**\n * !#en\n * Sets the untransformed size of the node.
\n * The contentSize remains the same no matter the node is scaled or rotated.
\n * All nodes has a size. Layer and Scene has the same size of the screen.\n * !#zh 设置节点原始大小,不受该节点是否被缩放或者旋转的影响。\n * @method setContentSize\n * @param {Size|Number} size - The untransformed size of the node or The untransformed size's width of the node.\n * @param {Number} [height] - The untransformed size's height of the node.\n * @example\n * node.setContentSize(cc.size(100, 100));\n * node.setContentSize(100, 100);\n */\n setContentSize (size, height) {\n var locContentSize = this._contentSize;\n var clone;\n if (height === undefined) {\n if (approx(size.width, locContentSize.width) && approx(size.height, locContentSize.height))\n return;\n if (CC_EDITOR) {\n clone = cc.size(locContentSize.width, locContentSize.height);\n }\n locContentSize.width = size.width;\n locContentSize.height = size.height;\n } else {\n if (approx(size, locContentSize.width) && approx(height, locContentSize.height))\n return;\n if (CC_EDITOR) {\n clone = cc.size(locContentSize.width, locContentSize.height);\n }\n locContentSize.width = size;\n locContentSize.height = height;\n }\n if (this._eventMask & SIZE_ON) {\n if (CC_EDITOR) {\n this.emit(EventType.SIZE_CHANGED, clone);\n }\n else {\n this.emit(EventType.SIZE_CHANGED);\n }\n }\n },\n\n /**\n * !#en\n * Returns a copy of the anchor point.
\n * Anchor point is the point around which all transformations and positioning manipulations take place.
\n * It's like a pin in the node where it is \"attached\" to its parent.
\n * The anchorPoint is normalized, like a percentage. (0,0) means the bottom-left corner and (1,1) means the top-right corner.
\n * But you can use values higher than (1,1) and lower than (0,0) too.
\n * The default anchor point is (0.5,0.5), so it starts at the center of the node.\n * !#zh\n * 获取节点锚点,用百分比表示。
\n * 锚点应用于所有变换和坐标点的操作,它就像在节点上连接其父节点的大头针。
\n * 锚点是标准化的,就像百分比一样。(0,0) 表示左下角,(1,1) 表示右上角。
\n * 但是你可以使用比(1,1)更高的值或者比(0,0)更低的值。
\n * 默认的锚点是(0.5,0.5),因此它开始于节点的中心位置。
\n * 注意:Creator 中的锚点仅用于定位所在的节点,子节点的定位不受影响。\n * @method getAnchorPoint\n * @return {Vec2} The anchor point of node.\n * @example\n * cc.log(\"Node AnchorPoint: \" + node.getAnchorPoint());\n */\n getAnchorPoint () {\n return cc.v2(this._anchorPoint);\n },\n\n /**\n * !#en\n * Sets the anchor point in percent.
\n * anchor point is the point around which all transformations and positioning manipulations take place.
\n * It's like a pin in the node where it is \"attached\" to its parent.
\n * The anchorPoint is normalized, like a percentage. (0,0) means the bottom-left corner and (1,1) means the top-right corner.
\n * But you can use values higher than (1,1) and lower than (0,0) too.
\n * The default anchor point is (0.5,0.5), so it starts at the center of the node.\n * !#zh\n * 设置锚点的百分比。
\n * 锚点应用于所有变换和坐标点的操作,它就像在节点上连接其父节点的大头针。
\n * 锚点是标准化的,就像百分比一样。(0,0) 表示左下角,(1,1) 表示右上角。
\n * 但是你可以使用比(1,1)更高的值或者比(0,0)更低的值。
\n * 默认的锚点是(0.5,0.5),因此它开始于节点的中心位置。
\n * 注意:Creator 中的锚点仅用于定位所在的节点,子节点的定位不受影响。\n * @method setAnchorPoint\n * @param {Vec2|Number} point - The anchor point of node or The x axis anchor of node.\n * @param {Number} [y] - The y axis anchor of node.\n * @example\n * node.setAnchorPoint(cc.v2(1, 1));\n * node.setAnchorPoint(1, 1);\n */\n setAnchorPoint (point, y) {\n var locAnchorPoint = this._anchorPoint;\n if (y === undefined) {\n if ((point.x === locAnchorPoint.x) && (point.y === locAnchorPoint.y))\n return;\n locAnchorPoint.x = point.x;\n locAnchorPoint.y = point.y;\n } else {\n if ((point === locAnchorPoint.x) && (y === locAnchorPoint.y))\n return;\n locAnchorPoint.x = point;\n locAnchorPoint.y = y;\n }\n this.setLocalDirty(LocalDirtyFlag.ALL_POSITION);\n if (this._eventMask & ANCHOR_ON) {\n this.emit(EventType.ANCHOR_CHANGED);\n }\n },\n\n /*\n * Transforms position from world space to local space.\n * @method _invTransformPoint\n * @param {Vec3} out\n * @param {Vec3} vec3\n */\n _invTransformPoint (out, pos) {\n if (this._parent) {\n this._parent._invTransformPoint(out, pos);\n } else {\n Vec3.copy(out, pos);\n }\n\n let ltrs = this._trs;\n // out = parent_inv_pos - pos\n Trs.toPosition(_tpVec3a, ltrs);\n Vec3.sub(out, out, _tpVec3a);\n\n // out = inv(rot) * out\n Trs.toRotation(_tpQuata, ltrs);\n Quat.conjugate(_tpQuatb, _tpQuata);\n Vec3.transformQuat(out, out, _tpQuatb);\n\n // out = (1/scale) * out\n Trs.toScale(_tpVec3a, ltrs);\n Vec3.inverseSafe(_tpVec3b, _tpVec3a);\n Vec3.mul(out, out, _tpVec3b);\n\n return out;\n },\n\n /*\n * Calculate and return world position.\n * This is not a public API yet, its usage could be updated\n * @method getWorldPosition\n * @param {Vec3} out\n * @return {Vec3}\n */\n getWorldPosition (out) {\n Trs.toPosition(out, this._trs);\n let curr = this._parent;\n let ltrs;\n while (curr) {\n ltrs = curr._trs;\n // out = parent_scale * pos\n Trs.toScale(_gwpVec3, ltrs);\n Vec3.mul(out, out, _gwpVec3);\n // out = parent_quat * out\n Trs.toRotation(_gwpQuat, ltrs);\n Vec3.transformQuat(out, out, _gwpQuat);\n // out = out + pos\n Trs.toPosition(_gwpVec3, ltrs);\n Vec3.add(out, out, _gwpVec3);\n curr = curr._parent;\n }\n return out;\n },\n\n /*\n * Set world position.\n * This is not a public API yet, its usage could be updated\n * @method setWorldPosition\n * @param {Vec3} pos\n */\n setWorldPosition (pos) {\n let ltrs = this._trs;\n if (CC_EDITOR) {\n var oldPosition = new cc.Vec3(ltrs[0], ltrs[1], ltrs[2]);\n }\n // NOTE: this is faster than invert world matrix and transform the point\n if (this._parent) {\n this._parent._invTransformPoint(_swpVec3, pos);\n }\n else {\n Vec3.copy(_swpVec3, pos);\n }\n Trs.fromPosition(ltrs, _swpVec3);\n this.setLocalDirty(LocalDirtyFlag.ALL_POSITION);\n\n // fast check event\n if (this._eventMask & POSITION_ON) {\n // send event\n if (CC_EDITOR) {\n this.emit(EventType.POSITION_CHANGED, oldPosition);\n }\n else {\n this.emit(EventType.POSITION_CHANGED);\n }\n }\n },\n\n /*\n * Calculate and return world rotation\n * This is not a public API yet, its usage could be updated\n * @method getWorldRotation\n * @param {Quat} out\n * @return {Quat}\n */\n getWorldRotation (out) {\n Trs.toRotation(_gwrQuat, this._trs);\n Quat.copy(out, _gwrQuat);\n let curr = this._parent;\n while (curr) {\n Trs.toRotation(_gwrQuat, curr._trs);\n Quat.mul(out, _gwrQuat, out);\n curr = curr._parent;\n }\n return out;\n },\n\n /*\n * Set world rotation with quaternion\n * This is not a public API yet, its usage could be updated\n * @method setWorldRotation\n * @param {Quat} val\n */\n setWorldRotation (val) {\n if (this._parent) {\n this._parent.getWorldRotation(_swrQuat);\n Quat.conjugate(_swrQuat, _swrQuat);\n Quat.mul(_swrQuat, _swrQuat, val);\n }\n else {\n Quat.copy(_swrQuat, val);\n }\n Trs.fromRotation(this._trs, _swrQuat);\n if (CC_EDITOR) {\n this._toEuler();\n }\n this.setLocalDirty(LocalDirtyFlag.ALL_ROTATION);\n },\n\n /*\n * Calculate and return world scale\n * This is not a public API yet, its usage could be updated\n * @method getWorldScale\n * @param {Vec3} out\n * @return {Vec3}\n */\n getWorldScale (out) {\n Trs.toScale(_gwsVec3, this._trs);\n Vec3.copy(out, _gwsVec3);\n let curr = this._parent;\n while (curr) {\n Trs.toScale(_gwsVec3, curr._trs);\n Vec3.mul(out, out, _gwsVec3);\n curr = curr._parent;\n }\n return out;\n },\n\n /*\n * Set world scale with vec3\n * This is not a public API yet, its usage could be updated\n * @method setWorldScale\n * @param {Vec3} scale\n */\n setWorldScale (scale) {\n if (this._parent) {\n this._parent.getWorldScale(_swsVec3);\n Vec3.div(_swsVec3, scale, _swsVec3);\n }\n else {\n Vec3.copy(_swsVec3, scale);\n }\n Trs.fromScale(this._trs, _swsVec3);\n this.setLocalDirty(LocalDirtyFlag.ALL_SCALE);\n },\n\n getWorldRT (out) {\n let opos = _gwrtVec3a;\n let orot = _gwrtQuata;\n let ltrs = this._trs;\n Trs.toPosition(opos, ltrs);\n Trs.toRotation(orot, ltrs);\n\n let curr = this._parent;\n while (curr) {\n ltrs = curr._trs;\n // opos = parent_lscale * lpos\n Trs.toScale(_gwrtVec3b, ltrs);\n Vec3.mul(opos, opos, _gwrtVec3b);\n // opos = parent_lrot * opos\n Trs.toRotation(_gwrtQuatb, ltrs);\n Vec3.transformQuat(opos, opos, _gwrtQuatb);\n // opos = opos + lpos\n Trs.toPosition(_gwrtVec3b, ltrs);\n Vec3.add(opos, opos, _gwrtVec3b);\n // orot = lrot * orot\n Quat.mul(orot, _gwrtQuatb, orot);\n curr = curr._parent;\n }\n Mat4.fromRT(out, orot, opos);\n return out;\n },\n\n /**\n * !#en Set rotation by lookAt target point, normally used by Camera Node\n * !#zh 通过观察目标来设置 rotation,一般用于 Camera Node 上\n * @method lookAt\n * @param {Vec3} pos\n * @param {Vec3} [up] - default is (0,1,0)\n */\n lookAt (pos, up) {\n this.getWorldPosition(_laVec3);\n Vec3.sub(_laVec3, _laVec3, pos); // NOTE: we use -z for view-dir\n Vec3.normalize(_laVec3, _laVec3);\n Quat.fromViewUp(_laQuat, _laVec3, up);\n\n this.setWorldRotation(_laQuat);\n },\n\n _updateLocalMatrix: updateLocalMatrix2D,\n\n _calculWorldMatrix () {\n // Avoid as much function call as possible\n if (this._localMatDirty & LocalDirtyFlag.TRSS) {\n this._updateLocalMatrix();\n }\n\n // Assume parent world matrix is correct\n let parent = this._parent;\n if (parent) {\n this._mulMat(this._worldMatrix, parent._worldMatrix, this._matrix);\n }\n else {\n Mat4.copy(this._worldMatrix, this._matrix);\n }\n this._worldMatDirty = false;\n },\n\n _mulMat: mulMat2D,\n\n _updateWorldMatrix () {\n if (this._parent) {\n this._parent._updateWorldMatrix();\n }\n if (this._worldMatDirty) {\n this._calculWorldMatrix();\n // Sync dirty to children\n let children = this._children;\n for (let i = 0, l = children.length; i < l; i++) {\n children[i]._worldMatDirty = true;\n }\n }\n },\n\n setLocalDirty (flag) {\n this._localMatDirty |= flag;\n this._worldMatDirty = true;\n\n if (flag === LocalDirtyFlag.ALL_POSITION || flag === LocalDirtyFlag.POSITION) {\n this._renderFlag |= RenderFlow.FLAG_WORLD_TRANSFORM;\n }\n else {\n this._renderFlag |= RenderFlow.FLAG_TRANSFORM;\n }\n },\n\n setWorldDirty () {\n this._worldMatDirty = true;\n },\n\n /**\n * !#en\n * Get the local transform matrix (4x4), based on parent node coordinates\n * !#zh 返回局部空间坐标系的矩阵,基于父节点坐标系。\n * @method getLocalMatrix\n * @param {Mat4} out The matrix object to be filled with data\n * @return {Mat4} Same as the out matrix object\n * @example\n * let mat4 = cc.mat4();\n * node.getLocalMatrix(mat4);\n */\n getLocalMatrix (out) {\n this._updateLocalMatrix();\n return Mat4.copy(out, this._matrix);\n },\n\n /**\n * !#en\n * Get the world transform matrix (4x4)\n * !#zh 返回世界空间坐标系的矩阵。\n * @method getWorldMatrix\n * @param {Mat4} out The matrix object to be filled with data\n * @return {Mat4} Same as the out matrix object\n * @example\n * let mat4 = cc.mat4();\n * node.getWorldMatrix(mat4);\n */\n getWorldMatrix (out) {\n this._updateWorldMatrix();\n return Mat4.copy(out, this._worldMatrix);\n },\n\n /**\n * !#en\n * Converts a Point to node (local) space coordinates.\n * !#zh\n * 将一个点转换到节点 (局部) 空间坐标系。\n * @method convertToNodeSpaceAR\n * @param {Vec3|Vec2} worldPoint\n * @param {Vec3|Vec2} [out]\n * @return {Vec3|Vec2}\n * @typescript\n * convertToNodeSpaceAR(worldPoint: T, out?: T): T\n * @example\n * var newVec2 = node.convertToNodeSpaceAR(cc.v2(100, 100));\n * var newVec3 = node.convertToNodeSpaceAR(cc.v3(100, 100, 100));\n */\n convertToNodeSpaceAR (worldPoint, out) {\n this._updateWorldMatrix();\n Mat4.invert(_mat4_temp, this._worldMatrix);\n\n if (worldPoint instanceof cc.Vec2) {\n out = out || new cc.Vec2();\n return Vec2.transformMat4(out, worldPoint, _mat4_temp);\n }\n else {\n out = out || new cc.Vec3();\n return Vec3.transformMat4(out, worldPoint, _mat4_temp);\n }\n },\n\n /**\n * !#en\n * Converts a Point in node coordinates to world space coordinates.\n * !#zh\n * 将节点坐标系下的一个点转换到世界空间坐标系。\n * @method convertToWorldSpaceAR\n * @param {Vec3|Vec2} nodePoint\n * @param {Vec3|Vec2} [out]\n * @return {Vec3|Vec2}\n * @typescript\n * convertToWorldSpaceAR(nodePoint: T, out?: T): T\n * @example\n * var newVec2 = node.convertToWorldSpaceAR(cc.v2(100, 100));\n * var newVec3 = node.convertToWorldSpaceAR(cc.v3(100, 100, 100));\n */\n convertToWorldSpaceAR (nodePoint, out) {\n this._updateWorldMatrix();\n if (nodePoint instanceof cc.Vec2) {\n out = out || new cc.Vec2();\n return Vec2.transformMat4(out, nodePoint, this._worldMatrix);\n }\n else {\n out = out || new cc.Vec3();\n return Vec3.transformMat4(out, nodePoint, this._worldMatrix);\n }\n },\n\n// OLD TRANSFORM ACCESS APIs\n /**\n * !#en Converts a Point to node (local) space coordinates then add the anchor point position.\n * So the return position will be related to the left bottom corner of the node's bounding box.\n * This equals to the API behavior of cocos2d-x, you probably want to use convertToNodeSpaceAR instead\n * !#zh 将一个点转换到节点 (局部) 坐标系,并加上锚点的坐标。
\n * 也就是说返回的坐标是相对于节点包围盒左下角的坐标。
\n * 这个 API 的设计是为了和 cocos2d-x 中行为一致,更多情况下你可能需要使用 convertToNodeSpaceAR。\n * @method convertToNodeSpace\n * @deprecated since v2.1.3\n * @param {Vec2} worldPoint\n * @return {Vec2}\n * @example\n * var newVec2 = node.convertToNodeSpace(cc.v2(100, 100));\n */\n convertToNodeSpace (worldPoint) {\n this._updateWorldMatrix();\n Mat4.invert(_mat4_temp, this._worldMatrix);\n let out = new cc.Vec2();\n Vec2.transformMat4(out, worldPoint, _mat4_temp);\n out.x += this._anchorPoint.x * this._contentSize.width;\n out.y += this._anchorPoint.y * this._contentSize.height;\n return out;\n },\n\n /**\n * !#en Converts a Point related to the left bottom corner of the node's bounding box to world space coordinates.\n * This equals to the API behavior of cocos2d-x, you probably want to use convertToWorldSpaceAR instead\n * !#zh 将一个相对于节点左下角的坐标位置转换到世界空间坐标系。\n * 这个 API 的设计是为了和 cocos2d-x 中行为一致,更多情况下你可能需要使用 convertToWorldSpaceAR\n * @method convertToWorldSpace\n * @deprecated since v2.1.3\n * @param {Vec2} nodePoint\n * @return {Vec2}\n * @example\n * var newVec2 = node.convertToWorldSpace(cc.v2(100, 100));\n */\n convertToWorldSpace (nodePoint) {\n this._updateWorldMatrix();\n let out = new cc.Vec2(\n nodePoint.x - this._anchorPoint.x * this._contentSize.width,\n nodePoint.y - this._anchorPoint.y * this._contentSize.height\n );\n return Vec2.transformMat4(out, out, this._worldMatrix);\n },\n\n /**\n * !#en\n * Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
\n * The matrix is in Pixels.\n * !#zh 返回这个将节点(局部)的空间坐标系转换成父节点的空间坐标系的矩阵。这个矩阵以像素为单位。\n * @method getNodeToParentTransform\n * @deprecated since v2.0\n * @param {AffineTransform} [out] The affine transform object to be filled with data\n * @return {AffineTransform} Same as the out affine transform object\n * @example\n * let affineTransform = cc.AffineTransform.create();\n * node.getNodeToParentTransform(affineTransform);\n */\n getNodeToParentTransform (out) {\n if (!out) {\n out = AffineTrans.identity();\n }\n this._updateLocalMatrix();\n\n var contentSize = this._contentSize;\n _vec3_temp.x = -this._anchorPoint.x * contentSize.width;\n _vec3_temp.y = -this._anchorPoint.y * contentSize.height;\n\n Mat4.copy(_mat4_temp, this._matrix);\n Mat4.transform(_mat4_temp, _mat4_temp, _vec3_temp);\n return AffineTrans.fromMat4(out, _mat4_temp);\n },\n\n /**\n * !#en\n * Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
\n * The matrix is in Pixels.
\n * This method is AR (Anchor Relative).\n * !#zh\n * 返回这个将节点(局部)的空间坐标系转换成父节点的空间坐标系的矩阵。
\n * 这个矩阵以像素为单位。
\n * 该方法基于节点坐标。\n * @method getNodeToParentTransformAR\n * @deprecated since v2.0\n * @param {AffineTransform} [out] The affine transform object to be filled with data\n * @return {AffineTransform} Same as the out affine transform object\n * @example\n * let affineTransform = cc.AffineTransform.create();\n * node.getNodeToParentTransformAR(affineTransform);\n */\n getNodeToParentTransformAR (out) {\n if (!out) {\n out = AffineTrans.identity();\n }\n this._updateLocalMatrix();\n return AffineTrans.fromMat4(out, this._matrix);\n },\n\n /**\n * !#en Returns the world affine transform matrix. The matrix is in Pixels.\n * !#zh 返回节点到世界坐标系的仿射变换矩阵。矩阵单位是像素。\n * @method getNodeToWorldTransform\n * @deprecated since v2.0\n * @param {AffineTransform} [out] The affine transform object to be filled with data\n * @return {AffineTransform} Same as the out affine transform object\n * @example\n * let affineTransform = cc.AffineTransform.create();\n * node.getNodeToWorldTransform(affineTransform);\n */\n getNodeToWorldTransform (out) {\n if (!out) {\n out = AffineTrans.identity();\n }\n this._updateWorldMatrix();\n\n var contentSize = this._contentSize;\n _vec3_temp.x = -this._anchorPoint.x * contentSize.width;\n _vec3_temp.y = -this._anchorPoint.y * contentSize.height;\n\n Mat4.copy(_mat4_temp, this._worldMatrix);\n Mat4.transform(_mat4_temp, _mat4_temp, _vec3_temp);\n\n return AffineTrans.fromMat4(out, _mat4_temp);\n },\n\n /**\n * !#en\n * Returns the world affine transform matrix. The matrix is in Pixels.
\n * This method is AR (Anchor Relative).\n * !#zh\n * 返回节点到世界坐标仿射变换矩阵。矩阵单位是像素。
\n * 该方法基于节点坐标。\n * @method getNodeToWorldTransformAR\n * @deprecated since v2.0\n * @param {AffineTransform} [out] The affine transform object to be filled with data\n * @return {AffineTransform} Same as the out affine transform object\n * @example\n * let affineTransform = cc.AffineTransform.create();\n * node.getNodeToWorldTransformAR(affineTransform);\n */\n getNodeToWorldTransformAR (out) {\n if (!out) {\n out = AffineTrans.identity();\n }\n this._updateWorldMatrix();\n return AffineTrans.fromMat4(out, this._worldMatrix);\n },\n\n /**\n * !#en\n * Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.
\n * The matrix is in Pixels. The returned transform is readonly and cannot be changed.\n * !#zh\n * 返回将父节点的坐标系转换成节点(局部)的空间坐标系的矩阵。
\n * 该矩阵以像素为单位。返回的矩阵是只读的,不能更改。\n * @method getParentToNodeTransform\n * @deprecated since v2.0\n * @param {AffineTransform} [out] The affine transform object to be filled with data\n * @return {AffineTransform} Same as the out affine transform object\n * @example\n * let affineTransform = cc.AffineTransform.create();\n * node.getParentToNodeTransform(affineTransform);\n */\n getParentToNodeTransform (out) {\n if (!out) {\n out = AffineTrans.identity();\n }\n this._updateLocalMatrix();\n Mat4.invert(_mat4_temp, this._matrix);\n return AffineTrans.fromMat4(out, _mat4_temp);\n },\n\n /**\n * !#en Returns the inverse world affine transform matrix. The matrix is in Pixels.\n * !#en 返回世界坐标系到节点坐标系的逆矩阵。\n * @method getWorldToNodeTransform\n * @deprecated since v2.0\n * @param {AffineTransform} [out] The affine transform object to be filled with data\n * @return {AffineTransform} Same as the out affine transform object\n * @example\n * let affineTransform = cc.AffineTransform.create();\n * node.getWorldToNodeTransform(affineTransform);\n */\n getWorldToNodeTransform (out) {\n if (!out) {\n out = AffineTrans.identity();\n }\n this._updateWorldMatrix();\n Mat4.invert(_mat4_temp, this._worldMatrix);\n return AffineTrans.fromMat4(out, _mat4_temp);\n },\n\n /**\n * !#en convenience methods which take a cc.Touch instead of cc.Vec2.\n * !#zh 将触摸点转换成本地坐标系中位置。\n * @method convertTouchToNodeSpace\n * @deprecated since v2.0\n * @param {Touch} touch - The touch object\n * @return {Vec2}\n * @example\n * var newVec2 = node.convertTouchToNodeSpace(touch);\n */\n convertTouchToNodeSpace (touch) {\n return this.convertToNodeSpace(touch.getLocation());\n },\n\n /**\n * !#en converts a cc.Touch (world coordinates) into a local coordinate. This method is AR (Anchor Relative).\n * !#zh 转换一个 cc.Touch(世界坐标)到一个局部坐标,该方法基于节点坐标。\n * @method convertTouchToNodeSpaceAR\n * @deprecated since v2.0\n * @param {Touch} touch - The touch object\n * @return {Vec2}\n * @example\n * var newVec2 = node.convertTouchToNodeSpaceAR(touch);\n */\n convertTouchToNodeSpaceAR (touch) {\n return this.convertToNodeSpaceAR(touch.getLocation());\n },\n\n /**\n * !#en\n * Returns a \"local\" axis aligned bounding box of the node.
\n * The returned box is relative only to its parent.\n * !#zh 返回父节坐标系下的轴向对齐的包围盒。\n * @method getBoundingBox\n * @return {Rect} The calculated bounding box of the node\n * @example\n * var boundingBox = node.getBoundingBox();\n */\n getBoundingBox () {\n this._updateLocalMatrix();\n let width = this._contentSize.width;\n let height = this._contentSize.height;\n let rect = cc.rect(\n -this._anchorPoint.x * width,\n -this._anchorPoint.y * height,\n width,\n height);\n return rect.transformMat4(rect, this._matrix);\n },\n\n /**\n * !#en\n * Returns a \"world\" axis aligned bounding box of the node.
\n * The bounding box contains self and active children's world bounding box.\n * !#zh\n * 返回节点在世界坐标系下的对齐轴向的包围盒(AABB)。
\n * 该边框包含自身和已激活的子节点的世界边框。\n * @method getBoundingBoxToWorld\n * @return {Rect}\n * @example\n * var newRect = node.getBoundingBoxToWorld();\n */\n getBoundingBoxToWorld () {\n if (this._parent) {\n this._parent._updateWorldMatrix();\n return this._getBoundingBoxTo();\n }\n else {\n return this.getBoundingBox();\n }\n },\n\n _getBoundingBoxTo () {\n let width = this._contentSize.width;\n let height = this._contentSize.height;\n let rect = cc.rect(\n -this._anchorPoint.x * width,\n -this._anchorPoint.y * height,\n width,\n height);\n\n this._calculWorldMatrix();\n rect.transformMat4(rect, this._worldMatrix);\n\n //query child's BoundingBox\n if (!this._children)\n return rect;\n\n var locChildren = this._children;\n for (var i = 0; i < locChildren.length; i++) {\n var child = locChildren[i];\n if (child && child.active) {\n var childRect = child._getBoundingBoxTo();\n if (childRect)\n rect.union(rect, childRect);\n }\n }\n return rect;\n },\n\n _updateOrderOfArrival () {\n var arrivalOrder = this._parent ? ++this._parent._childArrivalOrder : 0;\n this._localZOrder = (this._localZOrder & 0xffff0000) | arrivalOrder;\n\n this.emit(EventType.SIBLING_ORDER_CHANGED);\n },\n\n /**\n * !#en\n * Set Group index of node without children.
\n * Which Group this node belongs to will resolve that this node's collision components can collide with which other collision componentns.
\n * !#zh\n * 设置节点本身的分组索引。不影响子节点
\n * 节点的分组将关系到节点的碰撞组件可以与哪些碰撞组件相碰撞。
\n * @property groupIndex\n * @type {Integer}\n * @default 0\n */\n setSelfGroupIndex (groupIndex) {\n this._groupIndex = groupIndex || 0;\n this._cullingMask = 1 << groupIndex;\n if (CC_JSB && CC_NATIVERENDERER) {\n this._proxy && this._proxy.updateCullingMask();\n }\n },\n\n /**\n * !#en\n * Adds a child to the node with z order and name.\n * !#zh\n * 添加子节点,并且可以修改该节点的 局部 Z 顺序和名字。\n * @method addChild\n * @param {Node} child - A child node\n * @param {Number} [zIndex] - Z order for drawing priority. Please refer to zIndex property\n * @param {String} [name] - A name to identify the node easily. Please refer to name property\n * @example\n * node.addChild(newNode, 1, \"node\");\n */\n addChild (child, zIndex, name) {\n if (CC_DEV && !cc.Node.isNode(child)) {\n return cc.errorID(1634, cc.js.getClassName(child));\n }\n cc.assertID(child, 1606);\n cc.assertID(child._parent === null, 1605);\n\n // invokes the parent setter\n child.parent = this;\n\n if (zIndex !== undefined) {\n child.zIndex = zIndex;\n }\n if (name !== undefined) {\n child.name = name;\n }\n },\n\n /**\n * !#en Stops all running actions and schedulers.\n * !#zh 停止所有正在播放的动作和计时器。\n * @method cleanup\n * @example\n * node.cleanup();\n */\n cleanup () {\n // actions\n ActionManagerExist && cc.director.getActionManager().removeAllActionsFromTarget(this);\n // event\n eventManager.removeListeners(this);\n\n // children\n var i, len = this._children.length, node;\n for (i = 0; i < len; ++i) {\n node = this._children[i];\n if (node)\n node.cleanup();\n }\n },\n\n /**\n * !#en Sorts the children array depends on children's zIndex and arrivalOrder,\n * normally you won't need to invoke this function.\n * !#zh 根据子节点的 zIndex 和 arrivalOrder 进行排序,正常情况下开发者不需要手动调用这个函数。\n *\n * @method sortAllChildren\n */\n sortAllChildren () {\n if (this._reorderChildDirty) {\n\n this._reorderChildDirty = false;\n\n // delay update arrivalOrder before sort children\n var _children = this._children, child;\n // reset arrivalOrder before sort children\n this._childArrivalOrder = 1;\n for (let i = 0, len = _children.length; i < len; i++) {\n child = _children[i];\n child._updateOrderOfArrival();\n }\n\n // Optimize reordering event code to fix problems with setting zindex\n // https://github.com/cocos-creator/2d-tasks/issues/1186\n eventManager._setDirtyForNode(this);\n\n if (_children.length > 1) {\n // insertion sort\n let child, child2;\n for (let i = 1, count = _children.length; i < count; i++) {\n child = _children[i];\n let j = i;\n for (; j > 0 &&\n (child2 = _children[j - 1])._localZOrder > child._localZOrder; j--) {\n _children[j] = child2;\n }\n _children[j] = child;\n }\n\n this.emit(EventType.CHILD_REORDER, this);\n }\n cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE, this.sortAllChildren, this);\n }\n },\n\n _delaySort () {\n if (!this._reorderChildDirty) {\n this._reorderChildDirty = true;\n cc.director.__fastOn(cc.Director.EVENT_AFTER_UPDATE, this.sortAllChildren, this);\n }\n },\n\n _restoreProperties: CC_EDITOR && function () {\n /*\n * TODO: Refine this code after completing undo/redo 2.0.\n * The node will be destroyed when deleting in the editor,\n * but it will be reserved and reused for undo.\n */\n\n // restore 3d node\n this.is3DNode = this.is3DNode;\n\n if (!this._matrix) {\n this._matrix = cc.mat4(this._spaceInfo.localMat);\n Mat4.identity(this._matrix);\n }\n if (!this._worldMatrix) {\n this._worldMatrix = cc.mat4(this._spaceInfo.worldMat);\n Mat4.identity(this._worldMatrix);\n }\n\n this._localMatDirty = LocalDirtyFlag.ALL;\n this._worldMatDirty = true;\n\n this._fromEuler();\n\n this._renderFlag |= RenderFlow.FLAG_TRANSFORM | RenderFlow.FLAG_OPACITY_COLOR;\n if (this._renderComponent) {\n this._renderComponent.markForRender(true);\n }\n\n if (this._children.length > 0) {\n this._renderFlag |= RenderFlow.FLAG_CHILDREN;\n }\n },\n\n onRestore: CC_EDITOR && function () {\n this._onRestoreBase();\n\n this.emit(EventType.GROUP_CHANGED, this);\n this.emit(EventType.POSITION_CHANGED, this.position.clone());\n this.emit(EventType.SIZE_CHANGED, this._contentSize.clone());\n this.emit(EventType.ROTATION_CHANGED);\n this.emit(EventType.SCALE_CHANGED)\n this.emit(EventType.COLOR_CHANGED, this._color.clone());\n this.emit(EventType.ANCHOR_CHANGED);\n\n this._restoreProperties();\n\n var actionManager = cc.director.getActionManager();\n if (this._activeInHierarchy) {\n actionManager && actionManager.resumeTarget(this);\n eventManager.resumeTarget(this);\n }\n else {\n actionManager && actionManager.pauseTarget(this);\n eventManager.pauseTarget(this);\n }\n },\n\n};\n\nif (CC_EDITOR) {\n // deprecated, only used to import old data in editor\n js.mixin(NodeDefines.properties, {\n _scaleX: {\n default: undefined,\n type: cc.Float,\n editorOnly: true\n },\n _scaleY: {\n default: undefined,\n type: cc.Float,\n editorOnly: true\n },\n });\n}\n\nlet Node = cc.Class(NodeDefines);\n\n// 3D Node Property\n\n\n// Node Event\n\n/**\n * !#en\n * The position changing event, you can listen to this event through the statement this.node.on(cc.Node.EventType.POSITION_CHANGED, callback, this);\n * !#zh\n * 位置变动监听事件, 通过 this.node.on(cc.Node.EventType.POSITION_CHANGED, callback, this); 进行监听。\n * @event position-changed\n * @param {Vec2} oldPos - The old position, but this parameter is only available in editor!\n */\n/**\n * !#en\n * The size changing event, you can listen to this event through the statement this.node.on(cc.Node.EventType.SIZE_CHANGED, callback, this);\n * !#zh\n * 尺寸变动监听事件,通过 this.node.on(cc.Node.EventType.SIZE_CHANGED, callback, this); 进行监听。\n * @event size-changed\n * @param {Size} oldSize - The old size, but this parameter is only available in editor!\n */\n/**\n * !#en\n * The anchor changing event, you can listen to this event through the statement this.node.on(cc.Node.EventType.ANCHOR_CHANGED, callback, this);\n * !#zh\n * 锚点变动监听事件,通过 this.node.on(cc.Node.EventType.ANCHOR_CHANGED, callback, this); 进行监听。\n * @event anchor-changed\n */\n/**\n * !#en\n * The adding child event, you can listen to this event through the statement this.node.on(cc.Node.EventType.CHILD_ADDED, callback, this);\n * !#zh\n * 增加子节点监听事件,通过 this.node.on(cc.Node.EventType.CHILD_ADDED, callback, this); 进行监听。\n * @event child-added\n * @param {Node} child - child which have been added\n */\n/**\n * !#en\n * The removing child event, you can listen to this event through the statement this.node.on(cc.Node.EventType.CHILD_REMOVED, callback, this);\n * !#zh\n * 删除子节点监听事件,通过 this.node.on(cc.Node.EventType.CHILD_REMOVED, callback, this); 进行监听。\n * @event child-removed\n * @param {Node} child - child which have been removed\n */\n/**\n * !#en\n * The reordering child event, you can listen to this event through the statement this.node.on(cc.Node.EventType.CHILD_REORDER, callback, this);\n * !#zh\n * 子节点顺序变动监听事件,通过 this.node.on(cc.Node.EventType.CHILD_REORDER, callback, this); 进行监听。\n * @event child-reorder\n * @param {Node} node - node whose children have been reordered\n */\n/**\n * !#en\n * The group changing event, you can listen to this event through the statement this.node.on(cc.Node.EventType.GROUP_CHANGED, callback, this);\n * !#zh\n * 节点分组变动监听事件,通过 this.node.on(cc.Node.EventType.GROUP_CHANGED, callback, this); 进行监听。\n * @event group-changed\n * @param {Node} node - node whose group has changed\n */\n\n// Deprecated APIs\n\n/**\n * !#en\n * Returns the displayed opacity of Node,\n * the difference between displayed opacity and opacity is that displayed opacity is calculated based on opacity and parent node's opacity when cascade opacity enabled.\n * !#zh\n * 获取节点显示透明度,\n * 显示透明度和透明度之间的不同之处在于当启用级连透明度时,\n * 显示透明度是基于自身透明度和父节点透明度计算的。\n *\n * @method getDisplayedOpacity\n * @return {number} displayed opacity\n * @deprecated since v2.0, please use opacity property, cascade opacity is removed\n */\n\n/**\n * !#en\n * Returns the displayed color of Node,\n * the difference between displayed color and color is that displayed color is calculated based on color and parent node's color when cascade color enabled.\n * !#zh\n * 获取节点的显示颜色,\n * 显示颜色和颜色之间的不同之处在于当启用级连颜色时,\n * 显示颜色是基于自身颜色和父节点颜色计算的。\n *\n * @method getDisplayedColor\n * @return {Color}\n * @deprecated since v2.0, please use color property, cascade color is removed\n */\n\n/**\n * !#en Cascade opacity is removed from v2.0\n * Indicate whether node's opacity value affect its child nodes, default value is true.\n * !#zh 透明度级联功能从 v2.0 开始已移除\n * 节点的不透明度值是否影响其子节点,默认值为 true。\n * @property cascadeOpacity\n * @deprecated since v2.0\n * @type {Boolean}\n */\n\n/**\n * !#en Cascade opacity is removed from v2.0\n * Returns whether node's opacity value affect its child nodes.\n * !#zh 透明度级联功能从 v2.0 开始已移除\n * 返回节点的不透明度值是否影响其子节点。\n * @method isCascadeOpacityEnabled\n * @deprecated since v2.0\n * @return {Boolean}\n */\n\n/**\n * !#en Cascade opacity is removed from v2.0\n * Enable or disable cascade opacity, if cascade enabled, child nodes' opacity will be the multiplication of parent opacity and its own opacity.\n * !#zh 透明度级联功能从 v2.0 开始已移除\n * 启用或禁用级连不透明度,如果级连启用,子节点的不透明度将是父不透明度乘上它自己的不透明度。\n * @method setCascadeOpacityEnabled\n * @deprecated since v2.0\n * @param {Boolean} cascadeOpacityEnabled\n */\n\n/**\n * !#en Opacity modify RGB have been removed since v2.0\n * Set whether color should be changed with the opacity value,\n * useless in ccsg.Node, but this function is override in some class to have such behavior.\n * !#zh 透明度影响颜色配置已经被废弃\n * 设置更改透明度时是否修改RGB值,\n * @method setOpacityModifyRGB\n * @deprecated since v2.0\n * @param {Boolean} opacityValue\n */\n\n/**\n * !#en Opacity modify RGB have been removed since v2.0\n * Get whether color should be changed with the opacity value.\n * !#zh 透明度影响颜色配置已经被废弃\n * 获取更改透明度时是否修改RGB值。\n * @method isOpacityModifyRGB\n * @deprecated since v2.0\n * @return {Boolean}\n */\n\n\nlet _p = Node.prototype;\njs.getset(_p, 'position', _p.getPosition, _p.setPosition, false, true);\n\nif (CC_EDITOR) {\n let vec3_tmp = new Vec3();\n cc.js.getset(_p, 'worldEulerAngles', function () {\n let angles = new Vec3(this._eulerAngles);\n let parent = this.parent;\n while (parent) {\n angles.addSelf(parent._eulerAngles);\n parent = parent.parent;\n }\n return angles;\n }, function (v) {\n vec3_tmp.set(v);\n let parent = this.parent;\n while (parent) {\n vec3_tmp.subSelf(parent._eulerAngles);\n parent = parent.parent;\n }\n this.eulerAngles = vec3_tmp;\n });\n}\n\ncc.Node = module.exports = Node;\n","/****************************************************************************\n Copyright (c) 2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n'use strict';\n\nconst Node = require('./CCNode');\nconst RenderFlow = require('./renderer/render-flow');\n\nconst HideInHierarchy = cc.Object.Flags.HideInHierarchy;\nconst LocalDirtyFlag = Node._LocalDirtyFlag;\nconst POSITION_ON = 1 << 0;\n\n/**\n * !#en\n * Class of private entities in Cocos Creator scenes.
\n * The PrivateNode is hidden in editor, and completely transparent to users.
\n * It's normally used as Node's private content created by components in parent node.
\n * So in theory private nodes are not children, they are part of the parent node.
\n * Private node have two important characteristics:
\n * 1. It has the minimum z index and cannot be modified, because they can't be displayed over real children.
\n * 2. The positioning of private nodes is also special, they will consider the left bottom corner of the parent node's bounding box as the origin of local coordinates.
\n * In this way, they can be easily kept inside the bounding box.
\n * Currently, it's used by RichText component and TileMap component.\n * !#zh\n * Cocos Creator 场景中的私有节点类。
\n * 私有节点在编辑器中不可见,对用户透明。
\n * 通常私有节点是被一些特殊的组件创建出来作为父节点的一部分而存在的,理论上来说,它们不是子节点,而是父节点的组成部分。
\n * 私有节点有两个非常重要的特性:
\n * 1. 它有着最小的渲染排序的 Z 轴深度,并且无法被更改,因为它们不能被显示在其他正常子节点之上。
\n * 2. 它的定位也是特殊的,对于私有节点来说,父节点包围盒的左下角是它的局部坐标系原点,这个原点相当于父节点的位置减去它锚点的偏移。这样私有节点可以比较容易被控制在包围盒之中。
\n * 目前在引擎中,RichText 和 TileMap 都有可能生成私有节点。\n * @class PrivateNode\n * @constructor\n * @param {String} name\n * @extends Node\n */\nlet PrivateNode = cc.Class({\n name: 'cc.PrivateNode',\n extends: Node,\n\n properties: {\n x: {\n get () {\n return this._originPos.x;\n },\n set (value) {\n var localPosition = this._originPos;\n if (value !== localPosition.x) {\n localPosition.x = value;\n this._posDirty(true);\n }\n },\n override: true\n },\n y: {\n get () {\n return this._originPos.y;\n },\n set (value) {\n var localPosition = this._originPos;\n if (value !== localPosition.y) {\n localPosition.y = value;\n this._posDirty(true);\n }\n },\n override: true\n },\n zIndex: {\n get () {\n return cc.macro.MIN_ZINDEX;\n },\n set () {\n },\n override: true\n },\n showInEditor: {\n default: false,\n editorOnly: true,\n override: true\n }\n },\n\n /**\n * @method constructor\n * @param {String} [name]\n */\n ctor (name) {\n this._localZOrder = cc.macro.MIN_ZINDEX << 16;\n this._originPos = cc.v2();\n if (CC_EDITOR) {\n this._objFlags |= HideInHierarchy;\n }\n },\n\n _posDirty (sendEvent) {\n this.setLocalDirty(LocalDirtyFlag.POSITION);\n !CC_NATIVERENDERER && (this._renderFlag |= RenderFlow.FLAG_TRANSFORM);\n if (sendEvent === true && (this._eventMask & POSITION_ON)) {\n this.emit(Node.EventType.POSITION_CHANGED);\n }\n },\n\n _updateLocalMatrix() {\n if (!this._localMatDirty) return;\n\n let parent = this.parent;\n if (parent) {\n // Position correction for transform calculation\n this._trs[0] = this._originPos.x - (parent._anchorPoint.x - 0.5) * parent._contentSize.width;\n this._trs[1] = this._originPos.y - (parent._anchorPoint.y - 0.5) * parent._contentSize.height;\n }\n\n this._super();\n },\n\n getPosition () {\n return new cc.Vec2(this._originPos);\n },\n\n setPosition (x, y) {\n if (y === undefined) {\n x = x.x;\n y = x.y;\n }\n\n let pos = this._originPos;\n if (pos.x === x && pos.y === y) {\n return;\n }\n pos.x = x;\n pos.y = y;\n this._posDirty(true);\n },\n\n setParent(value) {\n let oldParent = this._parent;\n this._super(value);\n if (oldParent !== value) {\n if (oldParent) {\n oldParent.off(Node.EventType.ANCHOR_CHANGED, this._posDirty, this);\n }\n if (value) {\n value.on(Node.EventType.ANCHOR_CHANGED, this._posDirty, this);\n }\n }\n },\n\n // do not update order of arrival\n _updateOrderOfArrival() {},\n});\n\nlet proto = PrivateNode.prototype;\ncc.js.getset(proto, \"parent\", proto.getParent, proto.setParent);\ncc.js.getset(proto, \"position\", proto.getPosition, proto.setPosition);\n\nif (CC_EDITOR) {\n // check components to avoid missing node reference serialied in previous version\n proto._onBatchCreated = function (dontSyncChildPrefab) {\n for (let comp of this._components) {\n comp.node = this;\n }\n\n Node.prototype._onBatchCreated.call(this, dontSyncChildPrefab);\n };\n}\n\ncc.PrivateNode = module.exports = PrivateNode;\n","/****************************************************************************\n Copyright (c) 2015-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n http://www.cocos2d-x.org\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nvar NIL = function () {};\n\n/**\n * !#en\n * cc.Scene is a subclass of cc.Node that is used only as an abstract concept.
\n * cc.Scene and cc.Node are almost identical with the difference that users can not modify cc.Scene manually.\n * !#zh\n * cc.Scene 是 cc.Node 的子类,仅作为一个抽象的概念。
\n * cc.Scene 和 cc.Node 有点不同,用户不应直接修改 cc.Scene。\n * @class Scene\n * @extends Node\n */\ncc.Scene = cc.Class({\n name: 'cc.Scene',\n extends: require('./CCNode'),\n\n properties: {\n _is3DNode: {\n default: true,\n override: true\n },\n\n /**\n * !#en Indicates whether all (directly or indirectly) static referenced assets of this scene are releasable by default after scene unloading.\n * !#zh 指示该场景中直接或间接静态引用到的所有资源是否默认在场景切换后自动释放。\n * @property {Boolean} autoReleaseAssets\n * @default false\n */\n autoReleaseAssets: false,\n },\n\n ctor: function () {\n this._anchorPoint.x = 0.0;\n this._anchorPoint.y = 0.0;\n\n this._activeInHierarchy = false;\n this._inited = !cc.game._isCloning;\n\n if (CC_EDITOR) {\n this._prefabSyncedInLiveReload = false;\n }\n\n // cache all depend assets for auto release\n this.dependAssets = null;\n },\n\n destroy: function () {\n if (cc.Object.prototype.destroy.call(this)) {\n var children = this._children;\n for (var i = 0; i < children.length; ++i) {\n children[i].active = false;\n }\n }\n this._active = false;\n this._activeInHierarchy = false;\n },\n\n _onHierarchyChanged: NIL,\n _instantiate : null,\n\n _load: function () {\n if (!this._inited) {\n if (CC_TEST) {\n cc.assert(!this._activeInHierarchy, 'Should deactivate ActionManager and EventManager by default');\n }\n this._onBatchCreated(CC_EDITOR && this._prefabSyncedInLiveReload);\n this._inited = true;\n }\n },\n\n _activate: function (active) {\n active = (active !== false);\n if (CC_EDITOR || CC_TEST) {\n // register all nodes to editor\n this._registerIfAttached(active);\n }\n cc.director._nodeActivator.activateNode(this, active);\n }\n});\n\nmodule.exports = cc.Scene;\n","/****************************************************************************\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n/**\n * @module cc\n */\nconst js = require('./platform/js');\nconst IdGenerater = require('./platform/id-generater');\nconst MAX_POOL_SIZE = 20;\n\nvar idGenerater = new IdGenerater('Scheduler');\n\n//data structures\n/*\n * A list double-linked list used for \"updates with priority\"\n * @class ListEntry\n * @param {Object} target not retained (retained by hashUpdateEntry)\n * @param {Number} priority\n * @param {Boolean} paused\n * @param {Boolean} markedForDeletion selector will no longer be called and entry will be removed at end of the next tick\n */\nvar ListEntry = function (target, priority, paused, markedForDeletion) {\n this.target = target;\n this.priority = priority;\n this.paused = paused;\n this.markedForDeletion = markedForDeletion;\n};\n\nvar _listEntries = [];\nListEntry.get = function (target, priority, paused, markedForDeletion) {\n var result = _listEntries.pop();\n if (result) {\n result.target = target;\n result.priority = priority;\n result.paused = paused;\n result.markedForDeletion = markedForDeletion;\n }\n else {\n result = new ListEntry(target, priority, paused, markedForDeletion);\n }\n return result;\n};\nListEntry.put = function (entry) {\n if (_listEntries.length < MAX_POOL_SIZE) {\n entry.target = null;\n _listEntries.push(entry);\n }\n};\n\n/*\n * A update entry list\n * @class HashUpdateEntry\n * @param {Array} list Which list does it belong to ?\n * @param {ListEntry} entry entry in the list\n * @param {Object} target hash key (retained)\n * @param {function} callback\n */\nvar HashUpdateEntry = function (list, entry, target, callback) {\n this.list = list;\n this.entry = entry;\n this.target = target;\n this.callback = callback;\n};\nvar _hashUpdateEntries = [];\nHashUpdateEntry.get = function (list, entry, target, callback) {\n var result = _hashUpdateEntries.pop();\n if (result) {\n result.list = list;\n result.entry = entry;\n result.target = target;\n result.callback = callback;\n }\n else {\n result = new HashUpdateEntry(list, entry, target, callback);\n }\n return result;\n};\nHashUpdateEntry.put = function (entry) {\n if (_hashUpdateEntries.length < MAX_POOL_SIZE) {\n entry.list = entry.entry = entry.target = entry.callback = null;\n _hashUpdateEntries.push(entry);\n }\n};\n\n//\n/*\n * Hash Element used for \"selectors with interval\"\n * @class HashTimerEntry\n * @param {Array} timers\n * @param {Object} target hash key (retained)\n * @param {Number} timerIndex\n * @param {Timer} currentTimer\n * @param {Boolean} currentTimerSalvaged\n * @param {Boolean} paused\n */\nvar HashTimerEntry = function (timers, target, timerIndex, currentTimer, currentTimerSalvaged, paused) {\n var _t = this;\n _t.timers = timers;\n _t.target = target;\n _t.timerIndex = timerIndex;\n _t.currentTimer = currentTimer;\n _t.currentTimerSalvaged = currentTimerSalvaged;\n _t.paused = paused;\n};\nvar _hashTimerEntries = [];\nHashTimerEntry.get = function (timers, target, timerIndex, currentTimer, currentTimerSalvaged, paused) {\n var result = _hashTimerEntries.pop();\n if (result) {\n result.timers = timers;\n result.target = target;\n result.timerIndex = timerIndex;\n result.currentTimer = currentTimer;\n result.currentTimerSalvaged = currentTimerSalvaged;\n result.paused = paused;\n }\n else {\n result = new HashTimerEntry(timers, target, timerIndex, currentTimer, currentTimerSalvaged, paused);\n }\n return result;\n};\nHashTimerEntry.put = function (entry) {\n if (_hashTimerEntries.length < MAX_POOL_SIZE) {\n entry.timers = entry.target = entry.currentTimer = null;\n _hashTimerEntries.push(entry);\n }\n};\n\n/*\n * Light weight timer\n * @extends cc.Class\n */\nfunction CallbackTimer () {\n this._lock = false;\n this._scheduler = null;\n this._elapsed = -1;\n this._runForever = false;\n this._useDelay = false;\n this._timesExecuted = 0;\n this._repeat = 0;\n this._delay = 0;\n this._interval = 0;\n\n this._target = null;\n this._callback = null;\n}\n\nvar proto = CallbackTimer.prototype;\n\nproto.initWithCallback = function (scheduler, callback, target, seconds, repeat, delay) {\n this._lock = false;\n this._scheduler = scheduler;\n this._target = target;\n this._callback = callback;\n\n this._elapsed = -1;\n this._interval = seconds;\n this._delay = delay;\n this._useDelay = (this._delay > 0);\n this._repeat = repeat;\n this._runForever = (this._repeat === cc.macro.REPEAT_FOREVER);\n return true;\n};\n/**\n * @return {Number} returns interval of timer\n */\nproto.getInterval = function(){return this._interval;};\n/**\n * @param {Number} interval set interval in seconds\n */\nproto.setInterval = function(interval){this._interval = interval;};\n\n/**\n * triggers the timer\n * @param {Number} dt delta time\n */\nproto.update = function (dt) {\n if (this._elapsed === -1) {\n this._elapsed = 0;\n this._timesExecuted = 0;\n } else {\n this._elapsed += dt;\n if (this._runForever && !this._useDelay) {//standard timer usage\n if (this._elapsed >= this._interval) {\n this.trigger();\n this._elapsed = 0;\n }\n } else {//advanced usage\n if (this._useDelay) {\n if (this._elapsed >= this._delay) {\n this.trigger();\n\n this._elapsed -= this._delay;\n this._timesExecuted += 1;\n this._useDelay = false;\n }\n } else {\n if (this._elapsed >= this._interval) {\n this.trigger();\n\n this._elapsed = 0;\n this._timesExecuted += 1;\n }\n }\n\n if (this._callback && !this._runForever && this._timesExecuted > this._repeat)\n this.cancel();\n }\n }\n};\n\nproto.getCallback = function(){\n return this._callback;\n};\n\nproto.trigger = function () {\n if (this._target && this._callback) {\n this._lock = true;\n this._callback.call(this._target, this._elapsed);\n this._lock = false;\n }\n};\n\nproto.cancel = function () {\n //override\n this._scheduler.unschedule(this._callback, this._target);\n};\n\nvar _timers = [];\nCallbackTimer.get = function () {\n return _timers.pop() || new CallbackTimer();\n};\nCallbackTimer.put = function (timer) {\n if (_timers.length < MAX_POOL_SIZE && !timer._lock) {\n timer._scheduler = timer._target = timer._callback = null;\n _timers.push(timer);\n }\n};\n\n/**\n * !#en\n * Scheduler is responsible of triggering the scheduled callbacks.
\n * You should not use NSTimer. Instead use this class.
\n *
\n * There are 2 different types of callbacks (selectors):
\n * - update callback: the 'update' callback will be called every frame. You can customize the priority.
\n * - custom callback: A custom callback will be called every frame, or with a custom interval of time
\n *
\n * The 'custom selectors' should be avoided when possible. It is faster,\n * and consumes less memory to use the 'update callback'. *\n * !#zh\n * Scheduler 是负责触发回调函数的类。
\n * 通常情况下,建议使用 cc.director.getScheduler() 来获取系统定时器。
\n * 有两种不同类型的定时器:
\n * - update 定时器:每一帧都会触发。您可以自定义优先级。
\n * - 自定义定时器:自定义定时器可以每一帧或者自定义的时间间隔触发。
\n * 如果希望每帧都触发,应该使用 update 定时器,使用 update 定时器更快,而且消耗更少的内存。\n *\n * @class Scheduler\n */\ncc.Scheduler = function () {\n this._timeScale = 1.0;\n this._updatesNegList = []; // list of priority < 0\n this._updates0List = []; // list of priority == 0\n this._updatesPosList = []; // list of priority > 0\n this._hashForUpdates = js.createMap(true); // hash used to fetch quickly the list entries for pause, delete, etc\n this._hashForTimers = js.createMap(true); // Used for \"selectors with interval\"\n this._currentTarget = null;\n this._currentTargetSalvaged = false;\n this._updateHashLocked = false; // If true unschedule will not remove anything from a hash. Elements will only be marked for deletion.\n\n this._arrayForTimers = []; // Speed up indexing\n //this._arrayForUpdates = []; // Speed up indexing\n};\n\ncc.Scheduler.prototype = {\n constructor: cc.Scheduler,\n //-----------------------private method----------------------\n\n _removeHashElement: function (element) {\n delete this._hashForTimers[element.target._id];\n var arr = this._arrayForTimers;\n for (var i = 0, l = arr.length; i < l; i++) {\n if (arr[i] === element) {\n arr.splice(i, 1);\n break;\n }\n }\n HashTimerEntry.put(element);\n },\n\n _removeUpdateFromHash: function (entry) {\n var targetId = entry.target._id;\n var self = this, element = self._hashForUpdates[targetId];\n if (element) {\n // Remove list entry from list\n var list = element.list, listEntry = element.entry;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i] === listEntry) {\n list.splice(i, 1);\n break;\n }\n }\n\n delete self._hashForUpdates[targetId];\n ListEntry.put(listEntry);\n HashUpdateEntry.put(element);\n }\n },\n\n _priorityIn: function (ppList, listElement, priority) {\n for (var i = 0; i < ppList.length; i++){\n if (priority < ppList[i].priority) {\n ppList.splice(i, 0, listElement);\n return;\n }\n }\n ppList.push(listElement);\n },\n\n _appendIn: function (ppList, listElement) {\n ppList.push(listElement);\n },\n\n //-----------------------public method-------------------------\n /**\n * !#en This method should be called for any target which needs to schedule tasks, and this method should be called before any scheduler API usage.\n * This method will add a `_id` property if it doesn't exist.\n * !#zh 任何需要用 Scheduler 管理任务的对象主体都应该调用这个方法,并且应该在调用任何 Scheduler API 之前调用这个方法。\n * 这个方法会给对象添加一个 `_id` 属性,如果这个属性不存在的话。\n * @method enableForTarget\n * @param {Object} target\n */\n enableForTarget: function (target) {\n if (!target._id) {\n if (target.__instanceId) {\n cc.warnID(1513);\n }\n else {\n target._id = idGenerater.getNewId();\n }\n }\n },\n\n /**\n * !#en\n * Modifies the time of all scheduled callbacks.
\n * You can use this property to create a 'slow motion' or 'fast forward' effect.
\n * Default is 1.0. To create a 'slow motion' effect, use values below 1.0.
\n * To create a 'fast forward' effect, use values higher than 1.0.
\n * Note:It will affect EVERY scheduled selector / action.\n * !#zh\n * 设置时间间隔的缩放比例。
\n * 您可以使用这个方法来创建一个 “slow motion(慢动作)” 或 “fast forward(快进)” 的效果。
\n * 默认是 1.0。要创建一个 “slow motion(慢动作)” 效果,使用值低于 1.0。
\n * 要使用 “fast forward(快进)” 效果,使用值大于 1.0。
\n * 注意:它影响该 Scheduler 下管理的所有定时器。\n * @method setTimeScale\n * @param {Number} timeScale\n */\n setTimeScale: function (timeScale) {\n this._timeScale = timeScale;\n },\n\n /**\n * !#en Returns time scale of scheduler.\n * !#zh 获取时间间隔的缩放比例。\n * @method getTimeScale\n * @return {Number}\n */\n getTimeScale: function () {\n return this._timeScale;\n },\n\n /**\n * !#en 'update' the scheduler. (You should NEVER call this method, unless you know what you are doing.)\n * !#zh update 调度函数。(不应该直接调用这个方法,除非完全了解这么做的结果)\n * @method update\n * @param {Number} dt delta time\n */\n update: function (dt) {\n this._updateHashLocked = true;\n if(this._timeScale !== 1)\n dt *= this._timeScale;\n\n var i, list, len, entry;\n\n for(i=0,list=this._updatesNegList, len = list.length; i\n * The scheduled method will be called every 'interval' seconds.
\n * If paused is YES, then it won't be called until it is resumed.
\n * If 'interval' is 0, it will be called every frame, but if so, it recommended to use 'scheduleUpdateForTarget:' instead.
\n * If the callback function is already scheduled, then only the interval parameter will be updated without re-scheduling it again.
\n * repeat let the action be repeated repeat + 1 times, use cc.macro.REPEAT_FOREVER to let the action run continuously
\n * delay is the amount of time the action will wait before it'll start. Unit: s.
\n *

\n * !#zh\n * 指定回调函数,调用对象等信息来添加一个新的定时器。
\n * 如果 paused 值为 true,那么直到 resume 被调用才开始计时。
\n * 当时间间隔达到指定值时,设置的回调函数将会被调用。
\n * 如果 interval 值为 0,那么回调函数每一帧都会被调用,但如果是这样,\n * 建议使用 scheduleUpdateForTarget 代替。
\n * 如果回调函数已经被定时器使用,那么只会更新之前定时器的时间间隔参数,不会设置新的定时器。
\n * repeat 值可以让定时器触发 repeat + 1 次,使用 cc.macro.REPEAT_FOREVER\n * 可以让定时器一直循环触发。
\n * delay 值指定延迟时间,定时器会在延迟指定的时间之后开始计时,单位: 秒。\n * @method schedule\n * @param {Function} callback\n * @param {Object} target\n * @param {Number} interval\n * @param {Number} [repeat=cc.macro.REPEAT_FOREVER]\n * @param {Number} [delay=0]\n * @param {Boolean} paused\n * @example {@link cocos2d/core/CCScheduler/schedule.js}\n * @typescript\n * schedule(callback: Function, target: any, interval: number, repeat: number, delay: number, paused?: boolean): void\n * schedule(callback: Function, target: any, interval: number, paused?: boolean): void\n */\n schedule: function (callback, target, interval, repeat, delay, paused) {\n 'use strict';\n if (typeof callback !== 'function') {\n var tmp = callback;\n callback = target;\n target = tmp;\n }\n //selector, target, interval, repeat, delay, paused\n //selector, target, interval, paused\n if (arguments.length === 4 || arguments.length === 5) {\n paused = !!repeat;\n repeat = cc.macro.REPEAT_FOREVER;\n delay = 0;\n }\n\n cc.assertID(target, 1502);\n\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n var element = this._hashForTimers[targetId];\n if (!element) {\n // Is this the 1st element ? Then set the pause level to all the callback_fns of this target\n element = HashTimerEntry.get(null, target, 0, null, null, paused);\n this._arrayForTimers.push(element);\n this._hashForTimers[targetId] = element;\n } else if (element.paused !== paused) {\n cc.warnID(1511);\n }\n\n var timer, i;\n if (element.timers == null) {\n element.timers = [];\n }\n else {\n for (i = 0; i < element.timers.length; ++i) {\n timer = element.timers[i];\n if (timer && callback === timer._callback) {\n cc.logID(1507, timer.getInterval(), interval);\n timer._interval = interval;\n return;\n }\n }\n }\n\n timer = CallbackTimer.get();\n timer.initWithCallback(this, callback, target, interval, repeat, delay);\n element.timers.push(timer);\n\n if (this._currentTarget === element && this._currentTargetSalvaged) {\n this._currentTargetSalvaged = false;\n }\n },\n\n /**\n * !#en\n * Schedules the update callback for a given target,\n * During every frame after schedule started, the \"update\" function of target will be invoked.\n * !#zh\n * 使用指定的优先级为指定的对象设置 update 定时器。\n * update 定时器每一帧都会被触发,触发时自动调用指定对象的 \"update\" 函数。\n * 优先级的值越低,定时器被触发的越早。\n * @method scheduleUpdate\n * @param {Object} target\n * @param {Number} priority\n * @param {Boolean} paused\n */\n scheduleUpdate: function(target, priority, paused) {\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n var hashElement = this._hashForUpdates[targetId];\n if (hashElement && hashElement.entry){\n // check if priority has changed\n if (hashElement.entry.priority !== priority){\n if (this._updateHashLocked){\n cc.logID(1506);\n hashElement.entry.markedForDeletion = false;\n hashElement.entry.paused = paused;\n return;\n }else{\n // will be added again outside if (hashElement).\n this.unscheduleUpdate(target);\n }\n }else{\n hashElement.entry.markedForDeletion = false;\n hashElement.entry.paused = paused;\n return;\n }\n }\n\n var listElement = ListEntry.get(target, priority, paused, false);\n var ppList;\n\n // most of the updates are going to be 0, that's way there\n // is an special list for updates with priority 0\n if (priority === 0) {\n ppList = this._updates0List;\n this._appendIn(ppList, listElement);\n }\n else {\n ppList = priority < 0 ? this._updatesNegList : this._updatesPosList;\n this._priorityIn(ppList, listElement, priority);\n }\n\n //update hash entry for quick access\n this._hashForUpdates[targetId] = HashUpdateEntry.get(ppList, listElement, target, null);\n },\n\n /**\n * !#en\n * Unschedules a callback for a callback and a given target.\n * If you want to unschedule the \"update\", use `unscheduleUpdate()`\n * !#zh\n * 取消指定对象定时器。\n * 如果需要取消 update 定时器,请使用 unscheduleUpdate()。\n * @method unschedule\n * @param {Function} callback The callback to be unscheduled\n * @param {Object} target The target bound to the callback.\n */\n unschedule: function (callback, target) {\n //callback, target\n\n // explicity handle nil arguments when removing an object\n if (!target || !callback)\n return;\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n\n var self = this, element = self._hashForTimers[targetId];\n if (element) {\n var timers = element.timers;\n for(var i = 0, li = timers.length; i < li; i++){\n var timer = timers[i];\n if (callback === timer._callback) {\n if ((timer === element.currentTimer) && (!element.currentTimerSalvaged)) {\n element.currentTimerSalvaged = true;\n }\n timers.splice(i, 1);\n CallbackTimer.put(timer);\n //update timerIndex in case we are in tick;, looping over the actions\n if (element.timerIndex >= i) {\n element.timerIndex--;\n }\n\n if (timers.length === 0) {\n if (self._currentTarget === element) {\n self._currentTargetSalvaged = true;\n } else {\n self._removeHashElement(element);\n }\n }\n return;\n }\n }\n }\n },\n\n /** \n * !#en Unschedules the update callback for a given target.\n * !#zh 取消指定对象的 update 定时器。\n * @method unscheduleUpdate\n * @param {Object} target The target to be unscheduled.\n */\n unscheduleUpdate: function (target) {\n if (!target)\n return;\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n\n var element = this._hashForUpdates[targetId];\n if (element) {\n if (this._updateHashLocked) {\n element.entry.markedForDeletion = true;\n } else {\n this._removeUpdateFromHash(element.entry);\n }\n }\n },\n\n /** \n * !#en\n * Unschedules all scheduled callbacks for a given target.\n * This also includes the \"update\" callback.\n * !#zh 取消指定对象的所有定时器,包括 update 定时器。\n * @method unscheduleAllForTarget\n * @param {Object} target The target to be unscheduled.\n */\n unscheduleAllForTarget: function (target) {\n // explicit nullptr handling\n if (!target){\n return;\n }\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n\n // Custom Selectors\n var element = this._hashForTimers[targetId];\n if (element) {\n var timers = element.timers;\n if (timers.indexOf(element.currentTimer) > -1 && \n (!element.currentTimerSalvaged)) {\n element.currentTimerSalvaged = true;\n }\n for (var i = 0, l = timers.length; i < l; i++) {\n CallbackTimer.put(timers[i]);\n }\n timers.length = 0;\n\n if (this._currentTarget === element){\n this._currentTargetSalvaged = true;\n }else{\n this._removeHashElement(element);\n }\n }\n\n // update selector\n this.unscheduleUpdate(target);\n },\n\n /**\n * !#en\n * Unschedules all scheduled callbacks from all targets including the system callbacks.
\n * You should NEVER call this method, unless you know what you are doing.\n * !#zh\n * 取消所有对象的所有定时器,包括系统定时器。
\n * 不要调用此函数,除非你确定你在做什么。\n * @method unscheduleAll\n */\n unscheduleAll: function(){\n this.unscheduleAllWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM);\n },\n\n /**\n * !#en\n * Unschedules all callbacks from all targets with a minimum priority.
\n * You should only call this with `PRIORITY_NON_SYSTEM_MIN` or higher.\n * !#zh\n * 取消所有优先级的值大于指定优先级的定时器。
\n * 你应该只取消优先级的值大于 PRIORITY_NON_SYSTEM_MIN 的定时器。\n * @method unscheduleAllWithMinPriority\n * @param {Number} minPriority The minimum priority of selector to be unscheduled. Which means, all selectors which\n * priority is higher than minPriority will be unscheduled.\n */\n unscheduleAllWithMinPriority: function(minPriority){\n // Custom Selectors\n var i, element, arr = this._arrayForTimers;\n for(i=arr.length-1; i>=0; i--){\n element = arr[i];\n this.unscheduleAllForTarget(element.target);\n }\n\n // Updates selectors\n var entry;\n var temp_length = 0;\n if(minPriority < 0){\n for(i=0; i= minPriority)\n this.unscheduleUpdate(entry.target);\n if (temp_length == this._updatesNegList.length)\n i++;\n }\n }\n\n if(minPriority <= 0){\n for(i=0; i= minPriority)\n this.unscheduleUpdate(entry.target);\n if (temp_length == this._updatesPosList.length)\n i++;\n }\n },\n\n /** \n * !#en Checks whether a callback for a given target is scheduled.\n * !#zh 检查指定的回调函数和回调对象组合是否存在定时器。\n * @method isScheduled\n * @param {Function} callback The callback to check.\n * @param {Object} target The target of the callback.\n * @return {Boolean} True if the specified callback is invoked, false if not.\n */\n isScheduled: function(callback, target){\n //key, target\n //selector, target\n cc.assertID(callback, 1508);\n cc.assertID(target, 1509);\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n \n var element = this._hashForTimers[targetId];\n\n if (!element) {\n return false;\n }\n\n if (element.timers == null){\n return false;\n }\n else {\n var timers = element.timers;\n for (var i = 0; i < timers.length; ++i) {\n var timer = timers[i];\n\n if (callback === timer._callback){\n return true;\n }\n }\n return false;\n }\n },\n\n /**\n * !#en\n * Pause all selectors from all targets.
\n * You should NEVER call this method, unless you know what you are doing.\n * !#zh\n * 暂停所有对象的所有定时器。
\n * 不要调用这个方法,除非你知道你正在做什么。\n * @method pauseAllTargets\n */\n pauseAllTargets: function () {\n return this.pauseAllTargetsWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM);\n },\n\n /**\n * !#en\n * Pause all selectors from all targets with a minimum priority.
\n * You should only call this with kCCPriorityNonSystemMin or higher.\n * !#zh\n * 暂停所有优先级的值大于指定优先级的定时器。
\n * 你应该只暂停优先级的值大于 PRIORITY_NON_SYSTEM_MIN 的定时器。\n * @method pauseAllTargetsWithMinPriority\n * @param {Number} minPriority\n */\n pauseAllTargetsWithMinPriority: function (minPriority) {\n var idsWithSelectors = [];\n\n var self = this, element, locArrayForTimers = self._arrayForTimers;\n var i, li;\n // Custom Selectors\n for(i = 0, li = locArrayForTimers.length; i < li; i++){\n element = locArrayForTimers[i];\n if (element) {\n element.paused = true;\n idsWithSelectors.push(element.target);\n }\n }\n\n var entry;\n if(minPriority < 0){\n for(i=0; i= minPriority){\n entry.paused = true;\n idsWithSelectors.push(entry.target);\n }\n }\n }\n }\n\n if(minPriority <= 0){\n for(i=0; i= minPriority){\n entry.paused = true;\n idsWithSelectors.push(entry.target);\n }\n }\n }\n\n return idsWithSelectors;\n },\n\n /**\n * !#en\n * Resume selectors on a set of targets.
\n * This can be useful for undoing a call to pauseAllCallbacks.\n * !#zh\n * 恢复指定数组中所有对象的定时器。
\n * 这个函数是 pauseAllCallbacks 的逆操作。\n * @method resumeTargets\n * @param {Array} targetsToResume\n */\n resumeTargets: function (targetsToResume) {\n if (!targetsToResume)\n return;\n\n for (var i = 0; i < targetsToResume.length; i++) {\n this.resumeTarget(targetsToResume[i]);\n }\n },\n\n /**\n * !#en\n * Pauses the target.
\n * All scheduled selectors/update for a given target won't be 'ticked' until the target is resumed.
\n * If the target is not present, nothing happens.\n * !#zh\n * 暂停指定对象的定时器。
\n * 指定对象的所有定时器都会被暂停。
\n * 如果指定的对象没有定时器,什么也不会发生。\n * @method pauseTarget\n * @param {Object} target\n */\n pauseTarget: function (target) {\n cc.assertID(target, 1503);\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n\n //customer selectors\n var self = this, \n element = self._hashForTimers[targetId];\n if (element) {\n element.paused = true;\n }\n\n //update callback\n var elementUpdate = self._hashForUpdates[targetId];\n if (elementUpdate) {\n elementUpdate.entry.paused = true;\n }\n },\n\n /**\n * !#en\n * Resumes the target.
\n * The 'target' will be unpaused, so all schedule selectors/update will be 'ticked' again.
\n * If the target is not present, nothing happens.\n * !#zh\n * 恢复指定对象的所有定时器。
\n * 指定对象的所有定时器将继续工作。
\n * 如果指定的对象没有定时器,什么也不会发生。\n * @method resumeTarget\n * @param {Object} target\n */\n resumeTarget: function (target) {\n cc.assertID(target, 1504);\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n\n // custom selectors\n var self = this,\n element = self._hashForTimers[targetId];\n if (element) {\n element.paused = false;\n }\n\n //update callback\n var elementUpdate = self._hashForUpdates[targetId];\n if (elementUpdate) {\n elementUpdate.entry.paused = false;\n }\n },\n\n /**\n * !#en Returns whether or not the target is paused.\n * !#zh 返回指定对象的定时器是否暂停了。\n * @method isTargetPaused\n * @param {Object} target\n * @return {Boolean}\n */\n isTargetPaused: function (target) {\n cc.assertID(target, 1505);\n var targetId = target._id;\n if (!targetId) {\n if (target.__instanceId) {\n cc.warnID(1513);\n targetId = target._id = target.__instanceId;\n }\n else {\n cc.errorID(1510);\n }\n }\n\n // Custom selectors\n var element = this._hashForTimers[targetId];\n if (element) {\n return element.paused;\n }\n var elementUpdate = this._hashForUpdates[targetId];\n if (elementUpdate) {\n return elementUpdate.entry.paused;\n }\n return false;\n },\n};\n\n/**\n * !#en Priority level reserved for system services.\n * !#zh 系统服务的优先级。\n * @property PRIORITY_SYSTEM\n * @type {Number}\n * @static\n */\ncc.Scheduler.PRIORITY_SYSTEM = 1 << 31;\n\n/**\n * !#en Minimum priority level for user scheduling.\n * !#zh 用户调度最低优先级。\n * @property PRIORITY_NON_SYSTEM\n * @type {Number}\n * @static\n */\ncc.Scheduler.PRIORITY_NON_SYSTEM = cc.Scheduler.PRIORITY_SYSTEM + 1;\n\nmodule.exports = cc.Scheduler;\n","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst preprocess = require('./preprocess');\nconst fetch = require('./fetch');\nconst Cache = require('./cache');\nconst helper = require('./helper');\nconst releaseManager = require('./releaseManager');\nconst dependUtil = require('./depend-util');\nconst load = require('./load');\nconst Pipeline = require('./pipeline');\nconst Task = require('./task');\nconst RequestItem = require('./request-item');\nconst downloader = require('./downloader');\nconst parser = require('./parser');\nconst packManager = require('./pack-manager');\nconst Bundle = require('./bundle');\nconst builtins = require('./builtins');\nconst factory = require('./factory');\nconst { parse, combine } = require('./urlTransformer');\nconst { parseParameters, asyncify } = require('./utilities');\nconst { assets, files, parsed, pipeline, transformPipeline, fetchPipeline, RequestType, bundles, BuiltinBundleName } = require('./shared');\n\n\n/**\n * @module cc\n */\n/**\n * !#en\n * This module controls asset's behaviors and information, include loading, releasing etc. it is a singleton\n * All member can be accessed with `cc.assetManager`.\n * \n * !#zh\n * 此模块管理资源的行为和信息,包括加载,释放等,这是一个单例,所有成员能够通过 `cc.assetManager` 调用\n * \n * @class AssetManager\n */\nfunction AssetManager () {\n\n this._preprocessPipe = preprocess;\n\n this._fetchPipe = fetch;\n\n this._loadPipe = load;\n\n /**\n * !#en \n * Normal loading pipeline\n * \n * !#zh\n * 正常加载管线\n * \n * @property pipeline\n * @type {Pipeline}\n */\n this.pipeline = pipeline.append(preprocess).append(load);\n \n /**\n * !#en \n * Fetching pipeline\n * \n * !#zh\n * 下载管线\n * \n * @property fetchPipeline\n * @type {Pipeline}\n */\n this.fetchPipeline = fetchPipeline.append(preprocess).append(fetch);\n\n /**\n * !#en \n * Url transformer\n * \n * !#zh\n * Url 转换器\n * \n * @property transformPipeline\n * @type {Pipeline}\n */\n this.transformPipeline = transformPipeline.append(parse).append(combine);\n\n\n /**\n * !#en \n * The collection of bundle which is already loaded, you can remove cache with {{#crossLink \"AssetManager/removeBundle:method\"}}{{/crossLink}}\n * \n * !#zh\n * 已加载 bundle 的集合, 你能通过 {{#crossLink \"AssetManager/removeBundle:method\"}}{{/crossLink}} 来移除缓存\n * \n * @property bundles\n * @type {Cache}\n * @typescript\n * bundles: AssetManager.Cache\n */\n this.bundles = bundles;\n\n /**\n * !#en \n * The collection of asset which is already loaded, you can remove cache with {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}}\n * \n * !#zh\n * 已加载资源的集合, 你能通过 {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}} 来移除缓存\n * \n * @property assets\n * @type {Cache}\n * @typescript\n * assets: AssetManager.Cache\n */\n this.assets = assets;\n \n this._files = files;\n \n this._parsed = parsed;\n\n this.generalImportBase = '';\n\n this.generalNativeBase = '';\n\n /**\n * !#en \n * Manage relationship between asset and its dependencies\n * \n * !#zh\n * 管理资源依赖关系\n * \n * @property dependUtil\n * @type {DependUtil}\n */\n this.dependUtil = dependUtil;\n\n this._releaseManager = releaseManager;\n\n /**\n * !#en \n * Whether or not cache the loaded asset\n * \n * !#zh\n * 是否缓存已加载的资源\n * \n * @property cacheAsset\n * @type {boolean}\n */\n this.cacheAsset = true;\n\n /**\n * !#en \n * Whether or not load asset forcely, if it is true, asset will be loaded regardless of error\n * \n * !#zh\n * 是否强制加载资源, 如果为 true ,加载资源将会忽略报错\n * \n * @property force\n * @type {boolean}\n */\n this.force = false;\n\n /**\n * !#en \n * Some useful function\n * \n * !#zh\n * 一些有用的方法\n * \n * @property utils\n * @type {Helper}\n */\n this.utils = helper;\n\n /**\n * !#en \n * Manage all downloading task\n * \n * !#zh\n * 管理所有下载任务\n * \n * @property downloader\n * @type {Downloader}\n */\n this.downloader = downloader; \n\n /**\n * !#en \n * Manage all parsing task\n * \n * !#zh\n * 管理所有解析任务\n * \n * @property parser\n * @type {Parser}\n */\n this.parser = parser;\n\n /**\n * !#en \n * Manage internal asset\n * \n * !#zh\n * 管理内置资源\n * \n * @property builtins\n * @type {Builtins}\n */\n this.builtins = builtins;\n\n /**\n * !#en \n * Manage all packed asset\n * \n * !#zh\n * 管理所有合并后的资源\n * \n * @property packManager\n * @type {PackManager}\n */\n this.packManager = packManager;\n\n this.factory = factory;\n\n /**\n * !#en \n * Cache manager is a module which controls all caches downloaded from server in non-web platform.\n * \n * !#zh\n * 缓存管理器是一个模块,在非 WEB 平台上,用于管理所有从服务器上下载下来的缓存\n * \n * @property cacheManager\n * @type {cc.AssetManager.CacheManager}\n * @typescript\n * cacheManager: cc.AssetManager.CacheManager|null\n */\n this.cacheManager = null;\n\n /**\n * !#en \n * The preset of options\n * \n * !#zh\n * 可选参数的预设集\n * \n * @property presets\n * @type {Object}\n * @typescript\n * presets: Record>\n */\n this.presets = {\n 'default': {\n priority: 0,\n },\n\n 'preload': {\n maxConcurrency: 2, \n maxRequestsPerFrame: 2,\n priority: -1,\n },\n\n 'scene': {\n maxConcurrency: 8, \n maxRequestsPerFrame: 8,\n priority: 1,\n },\n\n 'bundle': {\n maxConcurrency: 8, \n maxRequestsPerFrame: 8,\n priority: 2,\n },\n\n 'remote': {\n maxRetryCount: 4\n },\n\n 'script': {\n maxConcurrency: 1024,\n maxRequestsPerFrame: 1024,\n priority: 2\n }\n }\n\n}\n\nAssetManager.Pipeline = Pipeline;\nAssetManager.Task = Task;\nAssetManager.Cache = Cache;\nAssetManager.RequestItem = RequestItem;\nAssetManager.Bundle = Bundle;\nAssetManager.BuiltinBundleName = BuiltinBundleName;\n\nAssetManager.prototype = {\n\n constructor: AssetManager,\n\n /**\n * !#en \n * The builtin 'main' bundle\n * \n * !#zh\n * 内置 main 包\n * \n * @property main\n * @readonly\n * @type {Bundle}\n */\n get main () {\n return bundles.get(BuiltinBundleName.MAIN);\n },\n\n /**\n * !#en \n * The builtin 'resources' bundle\n * \n * !#zh\n * 内置 resources 包\n * \n * @property resources\n * @readonly\n * @type {Bundle}\n */\n get resources () {\n return bundles.get(BuiltinBundleName.RESOURCES);\n },\n\n /**\n * !#en \n * The builtin 'internal' bundle\n * \n * !#zh\n * 内置 internal 包\n * \n * @property internal\n * @readonly\n * @type {Bundle}\n */\n get internal () {\n return bundles.get(BuiltinBundleName.INTERNAL);\n },\n\n /**\n * !#en\n * Initialize assetManager with options\n * \n * !#zh\n * 初始化资源管理器\n * \n * @method init\n * @param {Object} options \n * \n * @typescript\n * init(options: Record): void\n */\n init (options) {\n options = options || Object.create(null);\n this._files.clear();\n this._parsed.clear();\n this._releaseManager.init();\n this.assets.clear();\n this.bundles.clear();\n this.packManager.init();\n this.downloader.init(options.bundleVers, options.server);\n this.parser.init();\n this.dependUtil.init();\n this.generalImportBase = options.importBase;\n this.generalNativeBase = options.nativeBase;\n },\n\n /**\n * !#en \n * Get the bundle which has been loaded\n * \n * !#zh\n * 获取已加载的分包\n * \n * @method getBundle\n * @param {String} name - The name of bundle \n * @return {Bundle} - The loaded bundle\n * \n * @example\n * // ${project}/assets/test1\n * cc.assetManager.getBundle('test1');\n * \n * cc.assetManager.getBundle('resources');\n * \n * @typescript\n * getBundle (name: string): cc.AssetManager.Bundle\n */\n getBundle (name) {\n return bundles.get(name);\n },\n\n /**\n * !#en \n * Remove this bundle. NOTE: The asset whthin this bundle will not be released automatically, you can call {{#crossLink \"Bundle/releaseAll:method\"}}{{/crossLink}} manually before remove it if you need\n * \n * !#zh \n * 移除此包, 注意:这个包内的资源不会自动释放, 如果需要的话你可以在摧毁之前手动调用 {{#crossLink \"Bundle/releaseAll:method\"}}{{/crossLink}} 进行释放\n *\n * @method removeBundle\n * @param {Bundle} bundle - The bundle to be removed \n * \n * @typescript\n * removeBundle(bundle: cc.AssetManager.Bundle): void\n */\n removeBundle (bundle) {\n bundle._destroy();\n bundles.remove(bundle.name);\n },\n\n /**\n * !#en\n * General interface used to load assets with a progression callback and a complete callback. You can achieve almost all effect you want with combination of `requests` and `options`.\n * It is highly recommended that you use more simple API, such as `load`, `loadDir` etc. Every custom parameter in `options` will be distribute to each of `requests`. \n * if request already has same one, the parameter in request will be given priority. Besides, if request has dependencies, `options` will distribute to dependencies too.\n * Every custom parameter in `requests` will be tranfered to handler of `downloader` and `parser` as `options`. \n * You can register you own handler downloader or parser to collect these custom parameters for some effect.\n * \n * Reserved Keyword: `uuid`, `url`, `path`, `dir`, `scene`, `type`, `priority`, `preset`, `audioLoadMode`, `ext`, `bundle`, `onFileProgress`, `maxConcurrency`, `maxRequestsPerFrame`\n * `maxRetryCount`, `version`, `responseType`, `withCredentials`, `mimeType`, `timeout`, `header`, `reload`, `cacheAsset`, `cacheEnabled`,\n * Please DO NOT use these words as custom options!\n * \n * !#zh\n * 通用加载资源接口,可传入进度回调以及完成回调,通过组合 `request` 和 `options` 参数,几乎可以实现和扩展所有想要的加载效果。非常建议你使用更简单的API,例如 `load`、`loadDir` 等。\n * `options` 中的自定义参数将会分发到 `requests` 的每一项中,如果request中已存在同名的参数则以 `requests` 中为准,同时如果有其他\n * 依赖资源,则 `options` 中的参数会继续向依赖项中分发。request中的自定义参数都会以 `options` 形式传入加载流程中的 `downloader`, `parser` 的方法中, 你可以\n * 扩展 `downloader`, `parser` 收集参数完成想实现的效果。\n * \n * 保留关键字: `uuid`, `url`, `path`, `dir`, `scene`, `type`, `priority`, `preset`, `audioLoadMode`, `ext`, `bundle`, `onFileProgress`, `maxConcurrency`, `maxRequestsPerFrame`\n * `maxRetryCount`, `version`, `responseType`, `withCredentials`, `mimeType`, `timeout`, `header`, `reload`, `cacheAsset`, `cacheEnabled`,\n * 请不要使用这些字段为自定义参数!\n * \n * @method loadAny\n * @param {string|string[]|Object|Object[]} requests - The request you want to load\n * @param {Object} [options] - Optional parameters\n * @param {Function} [onProgress] - Callback invoked when progression change\n * @param {Number} onProgress.finished - The number of the items that are already completed\n * @param {Number} onProgress.total - The total number of the items\n * @param {RequestItem} onProgress.item - The current request item\n * @param {Function} [onComplete] - Callback invoked when finish loading\n * @param {Error} onComplete.err - The error occured in loading process.\n * @param {Object} onComplete.data - The loaded content\n * \n * @example\n * cc.assetManager.loadAny({url: 'http://example.com/a.png'}, (err, img) => cc.log(img));\n * cc.assetManager.loadAny(['60sVXiTH1D/6Aft4MRt9VC'], (err, assets) => cc.log(assets));\n * cc.assetManager.loadAny([{ uuid: '0cbZa5Y71CTZAccaIFluuZ'}, {url: 'http://example.com/a.png'}], (err, assets) => cc.log(assets));\n * cc.assetManager.downloader.register('.asset', (url, options, onComplete) => {\n * url += '?userName=' + options.userName + \"&password=\" + options.password;\n * cc.assetManager.downloader.downloadFile(url, null, onComplete);\n * });\n * cc.assetManager.parser.register('.asset', (file, options, onComplete) => {\n * var json = JSON.parse(file);\n * var skin = json[options.skin];\n * var model = json[options.model];\n * onComplete(null, {skin, model});\n * });\n * cc.assetManager.loadAny({ url: 'http://example.com/my.asset', skin: 'xxx', model: 'xxx', userName: 'xxx', password: 'xxx' });\n * \n * @typescript\n * loadAny(requests: string | string[] | Record | Record[], options: Record, onProgress: (finished: number, total: number, item: cc.AssetManager.RequestItem) => void, onComplete: (err: Error, data: any) => void): void\n * loadAny(requests: string | string[] | Record | Record[], onProgress: (finished: number, total: number, item: cc.AssetManager.RequestItem) => void, onComplete: (err: Error, data: any) => void): void\n * loadAny(requests: string | string[] | Record | Record[], options: Record, onComplete: (err: Error, data: any) => void): void\n * loadAny(requests: string | string[] | Record | Record[], onComplete: (err: Error, data: any) => void): void\n * loadAny(requests: string | string[] | Record | Record[], options: Record): void\n * loadAny(requests: string | string[] | Record | Record[]): void\n */\n loadAny (requests, options, onProgress, onComplete) {\n var { options, onProgress, onComplete } = parseParameters(options, onProgress, onComplete);\n \n options.preset = options.preset || 'default';\n requests = Array.isArray(requests) ? requests.concat() : requests;\n let task = new Task({input: requests, onProgress, onComplete: asyncify(onComplete), options});\n pipeline.async(task);\n },\n\n /**\n * !#en\n * General interface used to preload assets with a progression callback and a complete callback.It is highly recommended that you use more simple API, such as `preloadRes`, `preloadResDir` etc.\n * Everything about preload is just likes `cc.assetManager.loadAny`, the difference is `cc.assetManager.preloadAny` will only download asset but not parse asset. You need to invoke `cc.assetManager.loadAny(preloadTask)` \n * to finish loading asset\n * \n * !#zh\n * 通用预加载资源接口,可传入进度回调以及完成回调,非常建议你使用更简单的 API ,例如 `preloadRes`, `preloadResDir` 等。`preloadAny` 和 `loadAny` 几乎一样,区别在于 `preloadAny` 只会下载资源,不会去解析资源,你需要调用 `cc.assetManager.loadAny(preloadTask)`\n * 来完成资源加载。\n * \n * @method preloadAny\n * @param {string|string[]|Object|Object[]} requests - The request you want to preload\n * @param {Object} [options] - Optional parameters\n * @param {Function} [onProgress] - Callback invoked when progression change\n * @param {Number} onProgress.finished - The number of the items that are already completed\n * @param {Number} onProgress.total - The total number of the items\n * @param {RequestItem} onProgress.item - The current request item\n * @param {Function} [onComplete] - Callback invoked when finish preloading\n * @param {Error} onComplete.err - The error occured in preloading process.\n * @param {RequestItem[]} onComplete.items - The preloaded content\n * \n * @example\n * cc.assetManager.preloadAny('0cbZa5Y71CTZAccaIFluuZ', (err) => cc.assetManager.loadAny('0cbZa5Y71CTZAccaIFluuZ'));\n * \n * @typescript\n * preloadAny(requests: string | string[] | Record | Record[], options: Record, onProgress: (finished: number, total: number, item: cc.AssetManager.RequestItem) => void, onComplete: (err: Error, items: cc.AssetManager.RequestItem[]) => void): void\n * preloadAny(requests: string | string[] | Record | Record[], onProgress: (finished: number, total: number, item: cc.AssetManager.RequestItem) => void, onComplete: (err: Error, items: cc.AssetManager.RequestItem[]) => void): void\n * preloadAny(requests: string | string[] | Record | Record[], options: Record, onComplete: (err: Error, items: cc.AssetManager.RequestItem[]) => void): void\n * preloadAny(requests: string | string[] | Record | Record[], onComplete: (err: Error, items: cc.AssetManager.RequestItem[]) => void): void\n * preloadAny(requests: string | string[] | Record | Record[], options: Record): void\n * preloadAny(requests: string | string[] | Record | Record[]): void\n */\n preloadAny (requests, options, onProgress, onComplete) {\n var { options, onProgress, onComplete } = parseParameters(options, onProgress, onComplete);\n \n options.preset = options.preset || 'preload';\n requests = Array.isArray(requests) ? requests.concat() : requests;\n var task = new Task({input: requests, onProgress, onComplete: asyncify(onComplete), options});\n fetchPipeline.async(task);\n },\n\n /**\n * !#en\n * Load native file of asset, if you check the option 'Async Load Assets', you may need to load native file with this before you use the asset\n * \n * !#zh\n * 加载资源的原生文件,如果你勾选了'延迟加载资源'选项,你可能需要在使用资源之前调用此方法来加载原生文件\n * \n * @method postLoadNative\n * @param {Asset} asset - The asset\n * @param {Object} [options] - Some optional parameters\n * @param {Function} [onComplete] - Callback invoked when finish loading\n * @param {Error} onComplete.err - The error occured in loading process.\n * \n * @example\n * cc.assetManager.postLoadNative(texture, (err) => console.log(err));\n * \n * @typescript\n * postLoadNative(asset: cc.Asset, options: Record, onComplete: (err: Error) => void): void\n * postLoadNative(asset: cc.Asset, onComplete: (err: Error) => void): void\n * postLoadNative(asset: cc.Asset, options: Record): void\n * postLoadNative(asset: cc.Asset): void\n */\n postLoadNative (asset, options, onComplete) {\n if (!(asset instanceof cc.Asset)) throw new Error('input is not asset');\n var { options, onComplete } = parseParameters(options, undefined, onComplete);\n\n if (!asset._native || asset._nativeAsset) {\n return asyncify(onComplete)(null);\n }\n\n var depend = dependUtil.getNativeDep(asset._uuid);\n if (depend) {\n if (!bundles.has(depend.bundle)) {\n var bundle = bundles.find(function (bundle) {\n return bundle.getAssetInfo(asset._uuid);\n });\n if (bundle) {\n depend.bundle = bundle.name;\n }\n }\n \n this.loadAny(depend, options, function (err, native) {\n if (!err) {\n if (asset.isValid && !asset._nativeAsset) {\n asset._nativeAsset = native\n }\n }\n else {\n cc.error(err.message, err.stack);\n }\n onComplete && onComplete(err);\n });\n }\n },\n\n /**\n * !#en\n * Load remote asset with url, such as audio, image, text and so on.\n * \n * !#zh\n * 使用 url 加载远程资源,例如音频,图片,文本等等。\n * \n * @method loadRemote\n * @param {string} url - The url of asset\n * @param {Object} [options] - Some optional parameters\n * @param {cc.AudioClip.LoadMode} [options.audioLoadMode] - Indicate which mode audio you want to load\n * @param {string} [options.ext] - If the url does not have a extension name, you can specify one manually.\n * @param {Function} [onComplete] - Callback invoked when finish loading\n * @param {Error} onComplete.err - The error occured in loading process.\n * @param {Asset} onComplete.asset - The loaded texture\n * \n * @example\n * cc.assetManager.loadRemote('http://www.cloud.com/test1.jpg', (err, texture) => console.log(err));\n * cc.assetManager.loadRemote('http://www.cloud.com/test2.mp3', (err, audioClip) => console.log(err));\n * cc.assetManager.loadRemote('http://www.cloud.com/test3', { ext: '.png' }, (err, texture) => console.log(err));\n * \n * @typescript\n * loadRemote(url: string, options: Record, onComplete: (err: Error, asset: T) => void): void\n * loadRemote(url: string, onComplete: (err: Error, asset: T) => void): void\n * loadRemote(url: string, options: Record): void\n * loadRemote(url: string): void\n */\n loadRemote (url, options, onComplete) {\n var { options, onComplete } = parseParameters(options, undefined, onComplete);\n\n if (this.assets.has(url)) {\n return asyncify(onComplete)(null, this.assets.get(url));\n }\n\n options.__isNative__ = true;\n options.preset = options.preset || 'remote';\n this.loadAny({url}, options, null, function (err, data) {\n if (err) {\n cc.error(err.message, err.stack);\n onComplete && onComplete(err, null);\n }\n else {\n factory.create(url, data, options.ext || cc.path.extname(url), options, function (err, out) {\n onComplete && onComplete(err, out);\n });\n }\n });\n },\n\n /**\n * !#en\n * Load script \n * \n * !#zh\n * 加载脚本\n * \n * @method loadScript\n * @param {string|string[]} url - Url of the script\n * @param {Object} [options] - Some optional paramters\n * @param {boolean} [options.async] - Indicate whether or not loading process should be async\n * @param {Function} [onComplete] - Callback when script loaded or failed\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * \n * @example\n * loadScript('http://localhost:8080/index.js', null, (err) => console.log(err));\n * \n * @typescript\n * loadScript(url: string|string[], options: Record, onComplete: (err: Error) => void): void\n * loadScript(url: string|string[], onComplete: (err: Error) => void): void\n * loadScript(url: string|string[], options: Record): void\n * loadScript(url: string|string[]): void\n */\n loadScript (url, options, onComplete) {\n var { options, onComplete } = parseParameters(options, undefined, onComplete);\n options.__requestType__ = RequestType.URL;\n options.preset = options.preset || 'script';\n this.loadAny(url, options, onComplete);\n },\n\n /**\n * !#en\n * load bundle\n * \n * !#zh\n * 加载资源包\n * \n * @method loadBundle\n * @param {string} nameOrUrl - The name or root path of bundle\n * @param {Object} [options] - Some optional paramter, same like downloader.downloadFile\n * @param {string} [options.version] - The version of this bundle, you can check config.json in this bundle\n * @param {Function} [onComplete] - Callback when bundle loaded or failed\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {Bundle} onComplete.bundle - The loaded bundle\n * \n * @example\n * loadBundle('http://localhost:8080/test', null, (err, bundle) => console.log(err));\n * \n * @typescript\n * loadBundle(nameOrUrl: string, options: Record, onComplete: (err: Error, bundle: cc.AssetManager.Bundle) => void): void\n * loadBundle(nameOrUrl: string, onComplete: (err: Error, bundle: cc.AssetManager.Bundle) => void): void\n * loadBundle(nameOrUrl: string, options: Record): void\n * loadBundle(nameOrUrl: string): void\n */\n loadBundle (nameOrUrl, options, onComplete) {\n var { options, onComplete } = parseParameters(options, undefined, onComplete);\n\n let bundleName = cc.path.basename(nameOrUrl);\n\n if (this.bundles.has(bundleName)) {\n return asyncify(onComplete)(null, this.getBundle(bundleName));\n }\n\n options.preset = options.preset || 'bundle';\n options.ext = 'bundle';\n this.loadRemote(nameOrUrl, options, onComplete);\n },\n\n /**\n * !#en\n * Release asset and it's dependencies.\n * This method will not only remove the cache of the asset in assetManager, but also clean up its content.\n * For example, if you release a texture, the texture asset and its gl texture data will be freed up.\n * Notice, this method may cause the texture to be unusable, if there are still other nodes use the same texture, they may turn to black and report gl errors.\n * \n * !#zh\n * 释放资源以及其依赖资源, 这个方法不仅会从 assetManager 中删除资源的缓存引用,还会清理它的资源内容。\n * 比如说,当你释放一个 texture 资源,这个 texture 和它的 gl 贴图数据都会被释放。\n * 注意,这个函数可能会导致资源贴图或资源所依赖的贴图不可用,如果场景中存在节点仍然依赖同样的贴图,它们可能会变黑并报 GL 错误。\n *\n * @method releaseAsset\n * @param {Asset} asset - The asset to be released\n * \n * @example\n * // release a texture which is no longer need\n * cc.assetManager.releaseAsset(texture);\n *\n * @typescript\n * releaseAsset(asset: cc.Asset): void\n */\n releaseAsset (asset) {\n releaseManager.tryRelease(asset, true);\n },\n\n /**\n * !#en \n * Release all unused assets. Refer to {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}} for detailed informations.\n * \n * !#zh \n * 释放所有没有用到的资源。详细信息请参考 {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}}\n *\n * @method releaseUnusedAssets\n * @private\n * \n * @typescript\n * releaseUnusedAssets(): void\n */\n releaseUnusedAssets () {\n assets.forEach(function (asset) {\n releaseManager.tryRelease(asset);\n });\n },\n\n /**\n * !#en \n * Release all assets. Refer to {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}} for detailed informations.\n * \n * !#zh \n * 释放所有资源。详细信息请参考 {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}}\n *\n * @method releaseAll\n * \n * @typescript\n * releaseAll(): void\n */\n releaseAll () {\n assets.forEach(function (asset) {\n releaseManager.tryRelease(asset, true);\n });\n if (CC_EDITOR) {\n dependUtil._depends.clear();\n }\n },\n\n _transform (input, options) {\n var subTask = Task.create({input, options});\n var urls = [];\n try {\n var result = transformPipeline.sync(subTask);\n for (var i = 0, l = result.length; i < l; i++) {\n var item = result[i];\n var url = item.url;\n item.recycle();\n urls.push(url);\n }\n }\n catch (e) {\n for (var i = 0, l = subTask.output.length; i < l; i++) {\n subTask.output[i].recycle();\n }\n cc.error(e.message, e.stack);\n }\n subTask.recycle();\n return urls.length > 1 ? urls : urls[0];\n }\n};\n\ncc.AssetManager = AssetManager;\n/**\n * @module cc\n */\n/**\n * @property assetManager\n * @type {AssetManager}\n */\ncc.assetManager = new AssetManager();\n\nObject.defineProperty(cc, 'resources', {\n /**\n * !#en\n * cc.resources is a bundle and controls all asset under assets/resources\n * \n * !#zh\n * cc.resources 是一个 bundle,用于管理所有在 assets/resources 下的资源\n * \n * @property resources\n * @readonly\n * @type {AssetManager.Bundle}\n */\n get () {\n return bundles.get(BuiltinBundleName.RESOURCES);\n }\n});\n\n\nmodule.exports = cc.assetManager;\n\n/**\n * !#en\n * This module controls asset's behaviors and information, include loading, releasing etc. \n * All member can be accessed with `cc.assetManager`. All class or enum can be accessed with `cc.AssetManager`\n * \n * !#zh\n * 此模块管理资源的行为和信息,包括加载,释放等,所有成员能够通过 `cc.assetManager` 调用. 所有类型或枚举能通过 `cc.AssetManager` 访问\n * \n * @module cc.AssetManager\n */","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst Cache = require('./cache');\nconst releaseManager = require('./releaseManager');\nconst { BuiltinBundleName } = require('./shared'); \n\n/**\n * @module cc.AssetManager\n */\n/**\n * !#en\n * This module contains the builtin asset, it's a singleton, all member can be accessed with `cc.assetManager.builtins` \n * \n * !#zh\n * 此模块包含内建资源,这是一个单例,所有成员能通过 `cc.assetManager.builtins` 访问\n * \n * @class Builtins\n */\nvar builtins = {\n \n _assets: new Cache({ material: new Cache(), effect: new Cache() }), // builtin assets\n\n _loadBuiltins (name, cb) {\n let dirname = name + 's';\n let builtin = this._assets.get(name);\n return cc.assetManager.internal.loadDir(dirname, null, null, (err, assets) => {\n if (err) {\n cc.error(err.message, err.stack);\n }\n else {\n for (let i = 0; i < assets.length; i++) {\n var asset = assets[i];\n builtin.add(asset.name, asset.addRef());\n }\n }\n\n cb();\n });\n },\n\n /**\n * !#en\n * Initialize\n * \n * !#zh\n * 初始化 \n * \n * @method init\n * @param {Function} cb - Callback when finish loading built-in assets\n * \n * @typescript\n * init (cb: () => void): void\n */\n init (cb) {\n this.clear();\n if (cc.game.renderType === cc.game.RENDER_TYPE_CANVAS || !cc.assetManager.bundles.has(BuiltinBundleName.INTERNAL)) {\n return cb && cb();\n }\n\n this._loadBuiltins('effect', () => {\n this._loadBuiltins('material', () => {\n this._loadBuiltinsSP(cb);\n });\n });\n },\n\n _loadBuiltinsSP(cb) {\n cc.sp.MAX_MULTITEXTURE_NUM = 8;\n // cc.renderer.device.caps.maxTextureUnits\n\n this._loadMultiEffect('multi-2d-universal', (effect) => {\n cc.sp.multi2dSpriteEffectAsset = effect;\n effect.addRef();\n cc.sp.inited = true;\n cc.sp.multiBatcher.init();\n if (cc.dynamicAtlasManager.maxAtlasCount === -1) cc.dynamicAtlasManager.maxAtlasCount = Math.max(0, cc.sp.MAX_MULTITEXTURE_NUM - cc.sp.charAtlasAutoBatchCount);\n cb();\n });\n },\n\n _loadMultiEffect(name, cb) {\n if (CC_EDITOR) {\n cc.assetManager.loadAny(Editor.assetdb.remote.urlToUuid('db://service-pack-resources/sp/effects/' + name + '.effect'), function (err, effect) {\n if (err) {\n return Editor.error(err);\n } else {\n cb(effect);\n }\n });\n } else {\n cc.assetManager.loadBundle('sp', (err, bundle) => {\n if (err) {\n cc.error(err);\n } else {\n bundle.load('effects/' + name, cc.EffectAsset, (err, effect) => {\n if (err) {\n cc.error(err);\n } else {\n cb(effect);\n }\n });\n }\n });\n }\n },\n\n /**\n * !#en\n * Get the built-in asset using specific type and name.\n * \n * !#zh\n * 通过特定的类型和名称获取内建资源\n * \n * @method getBuiltin\n * @param {string} [type] - The type of asset, such as `effect`\n * @param {string} [name] - The name of asset, such as `phong`\n * @return {Asset|Cache} Builtin-assets\n * \n * @example\n * cc.assetManaer.builtins.getBuiltin('effect', 'phone');\n * \n * @typescript\n * getBuiltin(type?: string, name?: string): cc.Asset | Cache\n */\n getBuiltin (type, name) {\n if (arguments.length === 0) return this._assets;\n else if (arguments.length === 1) return this._assets.get(type);\n else return this._assets.get(type).get(name);\n },\n\n /**\n * !#en\n * Clear all builtin assets\n * \n * !#zh\n * 清空所有内置资源\n * \n * @method clear\n * \n * @typescript\n * clear(): void\n */\n clear () {\n this._assets.forEach(function (assets) {\n assets.forEach(function (asset) {\n releaseManager.tryRelease(asset, true);\n });\n assets.clear();\n });\n }\n}\n\nmodule.exports = builtins;\n","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst Config = require('./config');\nconst releaseManager = require('./releaseManager');\nconst { parseParameters, parseLoadResArgs } = require('./utilities');\nconst { RequestType, assets, bundles } = require('./shared');\n\n/**\n * @module cc.AssetManager\n */\n\n/**\n * !#en\n * A bundle contains an amount of assets(includes scene), you can load, preload, release asset which is in this bundle\n * \n * !#zh\n * 一个包含一定数量资源(包括场景)的包,你可以加载,预加载,释放此包内的资源\n * \n * @class Bundle\n */\nfunction Bundle () {\n this._config = new Config();\n}\n\nBundle.prototype = {\n \n /**\n * !#en\n * Create a bundle\n * \n * !#zh\n * 创建一个 bundle\n * \n * @method constructor\n * \n * @typescript\n * constructor()\n */\n constructor: Bundle,\n\n /**\n * !#en\n * The name of this bundle\n * \n * !#zh\n * 此 bundle 的名称\n * \n * @property name\n * @type {string}\n */\n get name () {\n return this._config.name;\n },\n\n /**\n * !#en\n * The dependency of this bundle\n * \n * !#zh\n * 此 bundle 的依赖\n * \n * @property deps\n * @type {string[]}\n */\n get deps () {\n return this._config.deps;\n },\n\n /**\n * !#en\n * The root path of this bundle, such like 'http://example.com/bundle1'\n * \n * !#zh\n * 此 bundle 的根路径, 例如 'http://example.com/bundle1'\n * \n * @property base\n * @type {string}\n */\n get base () {\n return this._config.base;\n },\n\n /**\n * !#en\n * Get asset's info using path, only valid when asset is in bundle folder.\n * \n * !#zh\n * 使用 path 获取资源的配置信息\n * \n * @method getInfoWithPath\n * @param {string} path - The relative path of asset, such as 'images/a'\n * @param {Function} [type] - The constructor of asset, such as `cc.Texture2D`\n * @returns {Object} The asset info \n * \n * @example\n * var info = bundle.getInfoWithPath('image/a', cc.Texture2D);\n * \n * @typescript\n * getInfoWithPath (path: string, type?: typeof cc.Asset): Record\n */\n getInfoWithPath (path, type) {\n return this._config.getInfoWithPath(path, type);\n },\n\n /**\n * !#en\n * Get all asset's info within specific folder\n * \n * !#zh\n * 获取在某个指定文件夹下的所有资源信息\n * \n * @method getDirWithPath\n * @param {string} path - The relative path of folder, such as 'images'\n * @param {Function} [type] - The constructor should be used to filter paths\n * @param {Array} [out] - The output array\n * @returns {Object[]} Infos\n * \n * @example \n * var infos = [];\n * bundle.getDirWithPath('images', cc.Texture2D, infos);\n * \n * @typescript\n * getDirWithPath (path: string, type: typeof cc.Asset, out: Array>): Array>\n * getDirWithPath (path: string, type: typeof cc.Asset): Array>\n * getDirWithPath (path: string): Array>\n */\n getDirWithPath (path, type, out) {\n return this._config.getDirWithPath(path, type, out);\n },\n\n /**\n * !#en\n * Get asset's info with uuid\n * \n * !#zh\n * 通过 uuid 获取资源信息\n * \n * @method getAssetInfo\n * @param {string} uuid - The asset's uuid\n * @returns {Object} info \n * \n * @example\n * var info = bundle.getAssetInfo('fcmR3XADNLgJ1ByKhqcC5Z');\n * \n * @typescript\n * getAssetInfo (uuid: string): Record\n */\n getAssetInfo (uuid) {\n return this._config.getAssetInfo(uuid);\n },\n\n /**\n * !#en\n * Get scene'info with name\n * \n * !#zh\n * 通过场景名获取场景信息\n * \n * @method getSceneInfo\n * @param {string} name - The name of scene\n * @return {Object} info\n * \n * @example\n * var info = bundle.getSceneInfo('first.fire');\n * \n * @typescript\n * getSceneInfo(name: string): Record\n */\n getSceneInfo (name) {\n return this._config.getSceneInfo(name);\n },\n\n /**\n * !#en\n * Initialize this bundle with options\n * \n * !#zh\n * 初始化此 bundle\n * \n * @method init\n * @param {Object} options \n * \n * @typescript\n * init(options: Record): void\n */\n init (options) {\n this._config.init(options);\n bundles.add(options.name, this);\n },\n\n /**\n * !#en\n * Load the asset within this bundle by the path which is relative to bundle's path\n * \n * !#zh\n * 通过相对路径加载分包中的资源。路径是相对分包文件夹路径的相对路径\n *\n * @method load\n * @param {String|String[]} paths - Paths of the target assets.The path is relative to the bundle's folder, extensions must be omitted.\n * @param {Function} [type] - Only asset of type will be loaded if this argument is supplied.\n * @param {Function} [onProgress] - Callback invoked when progression change.\n * @param {Number} onProgress.finish - The number of the items that are already completed.\n * @param {Number} onProgress.total - The total number of the items.\n * @param {RequestItem} onProgress.item - The finished request item.\n * @param {Function} [onComplete] - Callback invoked when all assets loaded.\n * @param {Error} onComplete.error - The error info or null if loaded successfully.\n * @param {Asset|Asset[]} onComplete.assets - The loaded assets.\n *\n * @example\n * // load the texture (${project}/assets/resources/textures/background.jpg) from resources\n * cc.resources.load('textures/background', cc.Texture2D, (err, texture) => console.log(err));\n * \n * // load the audio (${project}/assets/resources/music/hit.mp3) from resources\n * cc.resources.load('music/hit', cc.AudioClip, (err, audio) => console.log(err));\n * \n * // load the prefab (${project}/assets/bundle1/misc/character/cocos) from bundle1 folder\n * bundle1.load('misc/character/cocos', cc.Prefab, (err, prefab) => console.log(err));\n *\n * // load the sprite frame (${project}/assets/some/xxx/bundle2/imgs/cocos.png) from bundle2 folder\n * bundle2.load('imgs/cocos', cc.SpriteFrame, null, (err, spriteFrame) => console.log(err));\n * \n * @typescript\n * load(paths: string, type: { prototype: T } onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, assets: T) => void): void\n * load(paths: string[], type: { prototype: T }, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, assets: Array) => void): void\n * load(paths: string, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, assets: T) => void): void\n * load(paths: string[], onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, assets: Array) => void): void\n * load(paths: string, type: { prototype: T }, onComplete?: (error: Error, assets: T) => void): void\n * load(paths: string[], type: { prototype: T }, onComplete?: (error: Error, assets: Array) => void): void\n * load(paths: string, onComplete?: (error: Error, assets: T) => void): void\n * load(paths: string[], onComplete?: (error: Error, assets: Array) => void): void\n */\n load (paths, type, onProgress, onComplete) {\n var { type, onProgress, onComplete } = parseLoadResArgs(type, onProgress, onComplete);\n cc.assetManager.loadAny(paths, { __requestType__: RequestType.PATH, type: type, bundle: this.name, __outputAsArray__: Array.isArray(paths) }, onProgress, onComplete);\n },\n\n /**\n * !#en\n * Preload the asset within this bundle by the path which is relative to bundle's path. \n * After calling this method, you still need to finish loading by calling `Bundle.load`.\n * It will be totally fine to call `Bundle.load` at any time even if the preloading is not\n * yet finished\n * \n * !#zh\n * 通过相对路径预加载分包中的资源。路径是相对分包文件夹路径的相对路径。调用完后,你仍然需要通过 `Bundle.load` 来完成加载。\n * 就算预加载还没完成,你也可以直接调用 `Bundle.load`。\n *\n * @method preload\n * @param {String|String[]} paths - Paths of the target asset.The path is relative to bundle folder, extensions must be omitted.\n * @param {Function} [type] - Only asset of type will be loaded if this argument is supplied.\n * @param {Function} [onProgress] - Callback invoked when progression change.\n * @param {Number} onProgress.finish - The number of the items that are already completed.\n * @param {Number} onProgress.total - The total number of the items.\n * @param {RequestItem} onProgress.item - The finished request item.\n * @param {Function} [onComplete] - Callback invoked when the resource loaded.\n * @param {Error} onComplete.error - The error info or null if loaded successfully.\n * @param {RequestItem[]} onComplete.items - The preloaded items.\n * \n * @example\n * // preload the texture (${project}/assets/resources/textures/background.jpg) from resources\n * cc.resources.preload('textures/background', cc.Texture2D);\n * \n * // preload the audio (${project}/assets/resources/music/hit.mp3) from resources\n * cc.resources.preload('music/hit', cc.AudioClip);\n * // wait for while\n * cc.resources.load('music/hit', cc.AudioClip, (err, audioClip) => {});\n * \n * * // preload the prefab (${project}/assets/bundle1/misc/character/cocos) from bundle1 folder\n * bundle1.preload('misc/character/cocos', cc.Prefab);\n *\n * // load the sprite frame of (${project}/assets/bundle2/imgs/cocos.png) from bundle2 folder\n * bundle2.preload('imgs/cocos', cc.SpriteFrame);\n * // wait for while\n * bundle2.load('imgs/cocos', cc.SpriteFrame, (err, spriteFrame) => {});\n * \n * @typescript\n * preload(paths: string|string[], type: typeof cc.Asset, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, items: RequestItem[]) => void): void\n * preload(paths: string|string[], onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, items: RequestItem[]) => void): void\n * preload(paths: string|string[], type: typeof cc.Asset, onComplete: (error: Error, items: RequestItem[]) => void): void\n * preload(paths: string|string[], type: typeof cc.Asset): void\n * preload(paths: string|string[], onComplete: (error: Error, items: RequestItem[]) => void): void\n * preload(paths: string|string[]): void\n */\n preload (paths, type, onProgress, onComplete) {\n var { type, onProgress, onComplete } = parseLoadResArgs(type, onProgress, onComplete);\n cc.assetManager.preloadAny(paths, { __requestType__: RequestType.PATH, type: type, bundle: this.name }, onProgress, onComplete);\n },\n\n /**\n * !#en\n * Load all assets under a folder inside the bundle folder.
\n *
\n * Note: All asset paths in Creator use forward slashes, paths using backslashes will not work.\n * \n * !#zh\n * 加载目标文件夹中的所有资源, 注意:路径中只能使用斜杠,反斜杠将停止工作\n *\n * @method loadDir\n * @param {string} dir - path of the target folder.The path is relative to the bundle folder, extensions must be omitted.\n * @param {Function} [type] - Only asset of type will be loaded if this argument is supplied.\n * @param {Function} [onProgress] - Callback invoked when progression change.\n * @param {Number} onProgress.finish - The number of the items that are already completed.\n * @param {Number} onProgress.total - The total number of the items.\n * @param {Object} onProgress.item - The latest request item\n * @param {Function} [onComplete] - A callback which is called when all assets have been loaded, or an error occurs.\n * @param {Error} onComplete.error - If one of the asset failed, the complete callback is immediately called with the error. If all assets are loaded successfully, error will be null.\n * @param {Asset[]|Asset} onComplete.assets - An array of all loaded assets.\n * \n * @example\n * // load all audios (resources/audios/) \n * cc.resources.loadDir('audios', cc.AudioClip, (err, audios) => {});\n *\n * // load all textures in \"resources/imgs/\"\n * cc.resources.loadDir('imgs', cc.Texture2D, null, function (err, textures) {\n * var texture1 = textures[0];\n * var texture2 = textures[1];\n * });\n * \n * // load all prefabs (${project}/assets/bundle1/misc/characters/) from bundle1 folder\n * bundle1.loadDir('misc/characters', cc.Prefab, (err, prefabs) => console.log(err));\n *\n * // load all sprite frame (${project}/assets/some/xxx/bundle2/skills/) from bundle2 folder\n * bundle2.loadDir('skills', cc.SpriteFrame, null, (err, spriteFrames) => console.log(err));\n *\n * @typescript\n * loadDir(dir: string, type: { prototype: T }, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, assets: Array) => void): void\n * loadDir(dir: string, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, assets: Array) => void): void\n * loadDir(dir: string, type: { prototype: T }, onComplete: (error: Error, assets: Array) => void): void\n * loadDir(dir: string, type: { prototype: T }): void\n * loadDir(dir: string, onComplete: (error: Error, assets: Array) => void): void\n * loadDir(dir: string): void\n */\n loadDir (dir, type, onProgress, onComplete) {\n var { type, onProgress, onComplete } = parseLoadResArgs(type, onProgress, onComplete);\n cc.assetManager.loadAny(dir, { __requestType__: RequestType.DIR, type: type, bundle: this.name, __outputAsArray__: true }, onProgress, onComplete);\n },\n\n /**\n * !#en\n * Preload all assets under a folder inside the bundle folder.
After calling this method, you still need to finish loading by calling `Bundle.loadDir`.\n * It will be totally fine to call `Bundle.loadDir` at any time even if the preloading is not yet finished\n * \n * !#zh\n * 预加载目标文件夹中的所有资源。调用完后,你仍然需要通过 `Bundle.loadDir` 来完成加载。\n * 就算预加载还没完成,你也可以直接调用 `Bundle.loadDir`。\n *\n * @method preloadDir\n * @param {string} dir - path of the target folder.The path is relative to the bundle folder, extensions must be omitted.\n * @param {Function} [type] - Only asset of type will be preloaded if this argument is supplied.\n * @param {Function} [onProgress] - Callback invoked when progression change.\n * @param {Number} onProgress.finish - The number of the items that are already completed.\n * @param {Number} onProgress.total - The total number of the items.\n * @param {Object} onProgress.item - The latest request item\n * @param {Function} [onComplete] - A callback which is called when all assets have been loaded, or an error occurs.\n * @param {Error} onComplete.error - If one of the asset failed, the complete callback is immediately called with the error. If all assets are preloaded successfully, error will be null.\n * @param {RequestItem[]} onComplete.items - An array of all preloaded items.\n * \n * @example\n * // preload all audios (resources/audios/) \n * cc.resources.preloadDir('audios', cc.AudioClip);\n *\n * // preload all textures in \"resources/imgs/\"\n * cc.resources.preloadDir('imgs', cc.Texture2D);\n * // wait for while\n * cc.resources.loadDir('imgs', cc.Texture2D, (err, textures) => {});\n * \n * // preload all prefabs (${project}/assets/bundle1/misc/characters/) from bundle1 folder\n * bundle1.preloadDir('misc/characters', cc.Prefab);\n *\n * // preload all sprite frame (${project}/assets/some/xxx/bundle2/skills/) from bundle2 folder\n * bundle2.preloadDir('skills', cc.SpriteFrame);\n * // wait for while\n * bundle2.loadDir('skills', cc.SpriteFrame, (err, spriteFrames) => {});\n * \n * @typescript\n * preloadDir(dir: string, type: typeof cc.Asset, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, items: RequestItem[]) => void): void\n * preloadDir(dir: string, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, items: RequestItem[]) => void): void\n * preloadDir(dir: string, type: typeof cc.Asset, onComplete: (error: Error, items: RequestItem[]) => void): void\n * preloadDir(dir: string, type: typeof cc.Asset): void\n * preloadDir(dir: string, onComplete: (error: Error, items: RequestItem[]) => void): void\n * preloadDir(dir: string): void\n */\n preloadDir (dir, type, onProgress, onComplete) {\n var { type, onProgress, onComplete } = parseLoadResArgs(type, onProgress, onComplete);\n cc.assetManager.preloadAny(dir, { __requestType__: RequestType.DIR, type: type, bundle: this.name }, onProgress, onComplete);\n },\n\n /**\n * !#en \n * Loads the scene within this bundle by its name. \n * \n * !#zh \n * 通过场景名称加载分包中的场景。\n *\n * @method loadScene\n * @param {String} sceneName - The name of the scene to load.\n * @param {Object} [options] - Some optional parameters\n * @param {Function} [onProgress] - Callback invoked when progression change.\n * @param {Number} onProgress.finish - The number of the items that are already completed.\n * @param {Number} onProgress.total - The total number of the items.\n * @param {Object} onProgress.item - The latest request item\n * @param {Function} [onComplete] - callback, will be called after scene launched.\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {SceneAsset} onComplete.sceneAsset - The scene asset\n * \n * @example\n * bundle1.loadScene('first', (err, sceneAsset) => cc.director.runScene(sceneAsset));\n * \n * @typescript\n * loadScene(sceneName: string, options: Record, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, sceneAsset: cc.SceneAsset) => void): void\n * loadScene(sceneName: string, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, sceneAsset: cc.SceneAsset) => void): void\n * loadScene(sceneName: string, options: Record, onComplete: (error: Error, sceneAsset: cc.SceneAsset) => void): void\n * loadScene(sceneName: string, onComplete: (error: Error, sceneAsset: cc.SceneAsset) => void): void\n * loadScene(sceneName: string, options: Record): void\n * loadScene(sceneName: string): void\n */\n loadScene (sceneName, options, onProgress, onComplete) {\n var { options, onProgress, onComplete } = parseParameters(options, onProgress, onComplete);\n \n options.preset = options.preset || 'scene';\n options.bundle = this.name;\n cc.assetManager.loadAny({ 'scene': sceneName }, options, onProgress, function (err, sceneAsset) {\n if (err) {\n cc.error(err.message, err.stack);\n onComplete && onComplete(err);\n }\n else if (sceneAsset instanceof cc.SceneAsset) {\n var scene = sceneAsset.scene;\n scene._id = sceneAsset._uuid;\n scene._name = sceneAsset._name;\n onComplete && onComplete(null, sceneAsset);\n }\n else {\n onComplete && onComplete(new Error('The asset ' + sceneAsset._uuid + ' is not a scene'));\n }\n });\n },\n\n /**\n * !#en\n * Preloads the scene within this bundle by its name. After calling this method, you still need to finish loading by calling `Bundle.loadScene` or `cc.director.loadScene`.\n * It will be totally fine to call `Bundle.loadDir` at any time even if the preloading is not yet finished\n * \n * !#zh \n * 通过场景名称预加载分包中的场景.调用完后,你仍然需要通过 `Bundle.loadScene` 或 `cc.director.loadScene` 来完成加载。\n * 就算预加载还没完成,你也可以直接调用 `Bundle.loadScene` 或 `cc.director.loadScene`。\n *\n * @method preloadScene\n * @param {String} sceneName - The name of the scene to preload.\n * @param {Object} [options] - Some optional parameters\n * @param {Function} [onProgress] - callback, will be called when the load progression change.\n * @param {Number} onProgress.finish - The number of the items that are already completed\n * @param {Number} onProgress.total - The total number of the items\n * @param {RequestItem} onProgress.item The latest request item\n * @param {Function} [onComplete] - callback, will be called after scene loaded.\n * @param {Error} onComplete.error - null or the error object.\n * \n * @example\n * bundle1.preloadScene('first');\n * // wait for a while\n * bundle1.loadScene('first', (err, scene) => cc.director.runScene(scene));\n * \n * @typescript\n * preloadScene(sceneName: string, options: Record, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error) => void): void\n * preloadScene(sceneName: string, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error) => void): void\n * preloadScene(sceneName: string, options: Record, onComplete: (error: Error) => void): void\n * preloadScene(sceneName: string, onComplete: (error: Error) => void): void\n * preloadScene(sceneName: string, options: Record): void\n * preloadScene(sceneName: string): void\n */\n preloadScene (sceneName, options, onProgress, onComplete) {\n var { options, onProgress, onComplete } = parseParameters(options, onProgress, onComplete);\n\n options.bundle = this.name;\n cc.assetManager.preloadAny({'scene': sceneName}, options, onProgress, function (err) {\n if (err) {\n cc.errorID(1210, sceneName, err.message);\n }\n onComplete && onComplete(err);\n });\n },\n\n /**\n * !#en\n * Get asset within this bundle by path and type.
\n * After you load asset with {{#crossLink \"Bundle/load:method\"}}{{/crossLink}} or {{#crossLink \"Bundle/loadDir:method\"}}{{/crossLink}},\n * you can acquire them by passing the path to this API.\n * \n * !#zh\n * 通过路径与类型获取资源。在你使用 {{#crossLink \"Bundle/load:method\"}}{{/crossLink}} 或者 {{#crossLink \"Bundle/loadDir:method\"}}{{/crossLink}} 之后,\n * 你能通过传路径通过这个 API 获取到这些资源。\n * \n * @method get\n * @param {String} path - The path of asset\n * @param {Function} [type] - Only asset of type will be returned if this argument is supplied.\n * @returns {Asset} \n * \n * @example\n * bundle1.get('music/hit', cc.AudioClip);\n * \n * @typescript\n * get (path: string, type?: { prototype: T }): T\n */\n get (path, type) {\n var info = this.getInfoWithPath(path, type);\n return assets.get(info && info.uuid);\n },\n\n /**\n * !#en \n * Release the asset loaded by {{#crossLink \"Bundle/load:method\"}}{{/crossLink}} or {{#crossLink \"Bundle/loadDir:method\"}}{{/crossLink}} and it's dependencies. \n * Refer to {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}} for detailed informations.\n * \n * !#zh \n * 释放通过 {{#crossLink \"Bundle/load:method\"}}{{/crossLink}} 或者 {{#crossLink \"Bundle/loadDir:method\"}}{{/crossLink}} 加载的资源。详细信息请参考 {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}}\n * \n * @method release\n * @param {String} path - The path of asset\n * @param {Function} [type] - Only asset of type will be released if this argument is supplied.\n * \n * @example\n * // release a texture which is no longer need\n * bundle1.release('misc/character/cocos');\n *\n * @typescript\n * release(path: string, type: typeof cc.Asset): void\n * release(path: string): void\n */\n release (path, type) {\n releaseManager.tryRelease(this.get(path, type), true);\n },\n\n /**\n * !#en \n * Release all unused assets within this bundle. Refer to {{#crossLink \"AssetManager/releaseAll:method\"}}{{/crossLink}} for detailed informations.\n * \n * !#zh \n * 释放此包中的所有没有用到的资源。详细信息请参考 {{#crossLink \"AssetManager/releaseAll:method\"}}{{/crossLink}}\n *\n * @method releaseUnusedAssets\n * @private\n * \n * @example\n * // release all unused asset within bundle1\n * bundle1.releaseUnusedAssets();\n * \n * @typescript\n * releaseUnusedAssets(): void\n */\n releaseUnusedAssets () {\n var self = this;\n assets.forEach(function (asset) {\n let info = self.getAssetInfo(asset._uuid);\n if (info && !info.redirect) {\n releaseManager.tryRelease(asset);\n }\n });\n },\n\n /**\n * !#en \n * Release all assets within this bundle. Refer to {{#crossLink \"AssetManager/releaseAll:method\"}}{{/crossLink}} for detailed informations.\n * \n * !#zh \n * 释放此包中的所有资源。详细信息请参考 {{#crossLink \"AssetManager/releaseAll:method\"}}{{/crossLink}}\n *\n * @method releaseAll\n * \n * @example\n * // release all asset within bundle1\n * bundle1.releaseAll();\n * \n * @typescript\n * releaseAll(): void\n */\n releaseAll () {\n var self = this;\n assets.forEach(function (asset) {\n let info = self.getAssetInfo(asset._uuid);\n if (info && !info.redirect) {\n releaseManager.tryRelease(asset, true);\n }\n });\n },\n\n _destroy () {\n this._config.destroy();\n }\n\n};\n\nmodule.exports = Bundle;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n/**\n * @module cc.AssetManager\n */\n\nconst js = require('../platform/js');\n/**\n * !#en\n * use to cache something\n * \n * !#zh\n * 用于缓存某些内容\n * \n * @class Cache\n * @typescript Cache\n */\nfunction Cache (map) {\n if (map) {\n this._map = map;\n this._count = Object.keys(map).length;\n }\n else {\n this._map = js.createMap(true);\n this._count = 0;\n }\n}\n\nCache.prototype = {\n \n /**\n * !#en\n * Create a cache\n * \n * !#zh\n * 创建一个 cache\n * \n * @method constructor\n * @param {Object} [map] - An object used to initialize \n * \n * @typescript\n * constructor(map?: Record)\n */\n constructor: Cache,\n\n /**\n * !#en\n * Add Key-Value to cache\n * \n * !#zh\n * 增加键值对到缓存中\n * \n * @method add\n * @param {String} key - The key\n * @param {*} val - The value\n * @returns {*} The value\n * \n * @example\n * var cache = new Cache();\n * cache.add('test', null);\n * \n * @typescript\n * add(key: string, val: T): T\n */\n add (key, val) { \n if (!(key in this._map)) this._count++;\n return this._map[key] = val;\n },\n\n /**\n * !#en\n * Get the cached content by key\n * \n * !#zh\n * 通过 key 获取对应的 value\n * \n * @method get\n * @param {string} key - The key\n * @returns {*} The corresponding content\n * \n * @example\n * var cache = new Cache();\n * var test = cache.get('test');\n * \n * @typescript\n * get(key: string): T\n */\n get (key) {\n return this._map[key];\n },\n\n /**\n * !#en\n * Check whether or not content exists by key\n * \n * !#zh\n * 通过 Key 判断是否存在对应的内容\n * \n * @method has\n * @param {string} key - The key\n * @returns {boolean} True indecates that content of the key exists\n * \n * @example\n * var cache = new Cache();\n * var exist = cache.has('test');\n * \n * @typescript\n * has(key: string): boolean\n */\n has (key) {\n return key in this._map;\n },\n\n /**\n * !#en\n * Remove the cached content by key\n * \n * !#zh\n * 通过 Key 移除对应的内容\n * \n * @method remove\n * @param {string} key - The key\n * @returns {*} The removed content\n * \n * @example\n * var cache = new Cache();\n * var content = cache.remove('test');\n * \n * @typescript\n * remove(key: string): T\n */\n remove (key) {\n var out = this._map[key];\n if (key in this._map) {\n delete this._map[key];\n this._count--;\n }\n return out;\n },\n\n /**\n * !#en\n * Clear all content\n * \n * !#zh\n * 清除所有内容\n * \n * @method clear\n * \n * @example\n * var cache = new Cache();\n * cache.clear();\n * \n * @typescript\n * clear():void\n */\n clear () {\n if (this._count !== 0) {\n this._map = js.createMap(true);\n this._count = 0;\n }\n },\n\n /**\n * !#en\n * Enumerate all content and invoke function\n * \n * !#zh\n * 枚举所有内容并执行方法\n * \n * @method forEach\n * @param {Function} func - Function to be invoked\n * @param {*} func.val - The value \n * @param {String} func.key - The corresponding key\n * \n * @example\n * var cache = new Cache();\n * cache.forEach((val, key) => console.log(key));\n * \n * @typescript\n * forEach(func: (val: T, key: string) => void): void\n */\n forEach (func) {\n for (var key in this._map) {\n func(this._map[key], key);\n }\n },\n\n /**\n * !#en\n * Enumerate all content to find one element which can fulfill condition\n * \n * !#zh\n * 枚举所有内容,找到一个可以满足条件的元素\n * \n * @method find\n * @param {Function} predicate - The condition\n * @returns {*} content\n * \n * @example\n * var cache = new Cache();\n * var val = cache.find((val, key) => key === 'test');\n * \n * @typescript\n * find(predicate: (val: T, key: string) => boolean): T\n */\n find (predicate) {\n for (var key in this._map) {\n if (predicate(this._map[key], key)) return this._map[key];\n }\n return null;\n },\n\n /**\n * !#en\n * The count of cached content\n * \n * !#zh\n * 缓存数量\n * \n * @property count\n * @type {Number}\n */\n get count () {\n return this._count;\n },\n\n /**\n * !#en\n * Destroy this cache\n * \n * !#zh\n * 销毁这个 cache\n * \n * @method destroy\n * \n * @typescript\n * destroy(): void\n */\n destroy () {\n this._map = null;\n }\n};\n\nmodule.exports = Cache;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst js = require('../platform/js');\nconst Cache = require('./cache');\nconst { normalize } = require('./helper');\nconst { processOptions } = require('./utilities');\n\nfunction Config () {\n\n this.name = '';\n\n this.base = '';\n\n this.importBase = '';\n\n this.nativeBase = '';\n\n this.deps = null;\n\n this.assetInfos = new Cache();\n\n this.scenes = new Cache();\n\n this.paths = new Cache();\n}\n\nConfig.prototype = {\n\n constructor: Config,\n\n init: function (options) {\n processOptions(options);\n\n this.importBase = options.importBase || '';\n this.nativeBase = options.nativeBase || '';\n this.base = options.base || '';\n this.name = options.name || '';\n this.deps = options.deps || [];\n // init\n this._initUuid(options.uuids);\n this._initPath(options.paths);\n this._initScene(options.scenes);\n this._initPackage(options.packs);\n this._initVersion(options.versions);\n this._initRedirect(options.redirect);\n },\n\n _initUuid: function (uuidList) {\n if (!uuidList) return;\n this.assetInfos.clear();\n for (var i = 0, l = uuidList.length; i < l; i++) {\n var uuid = uuidList[i];\n this.assetInfos.add(uuid, {uuid});\n }\n },\n\n _initPath: function (pathList) {\n if (!pathList) return;\n var paths = this.paths;\n paths.clear();\n for (var uuid in pathList) {\n var info = pathList[uuid];\n var path = info[0];\n var type = info[1];\n var isSubAsset = info.length === 3;\n\n var assetInfo = this.assetInfos.get(uuid);\n assetInfo.path = path;\n assetInfo.ctor = js._getClassById(type);\n if (paths.has(path)) {\n if (isSubAsset) {\n paths.get(path).push(assetInfo);\n }\n else {\n paths.get(path).unshift(assetInfo);\n } \n }\n else {\n paths.add(path, [assetInfo]);\n }\n }\n },\n\n _initScene: function (sceneList) {\n if (!sceneList) return;\n var scenes = this.scenes;\n scenes.clear();\n var assetInfos = this.assetInfos;\n for (var sceneName in sceneList) {\n var uuid = sceneList[sceneName];\n var assetInfo = assetInfos.get(uuid);\n assetInfo.url = sceneName;\n scenes.add(sceneName, assetInfo);\n }\n },\n\n _initPackage: function (packageList) {\n if (!packageList) return;\n var assetInfos = this.assetInfos;\n for (var packUuid in packageList) {\n var uuids = packageList[packUuid];\n var pack = {uuid: packUuid, packs: uuids, ext:'.json'};\n assetInfos.add(packUuid, pack);\n\n for (var i = 0, l = uuids.length; i < l; i++) {\n var uuid = uuids[i];\n var assetInfo = assetInfos.get(uuid);\n var assetPacks = assetInfo.packs;\n if (assetPacks) {\n if (l === 1) {\n assetPacks.unshift(pack);\n }\n else {\n assetPacks.push(pack);\n }\n }\n else {\n assetInfo.packs = [pack];\n }\n }\n }\n },\n\n _initVersion: function (versions) {\n if (!versions) return;\n var assetInfos = this.assetInfos;\n var entries = versions.import;\n if (entries) {\n for (var i = 0, l = entries.length; i < l; i += 2) {\n var uuid = entries[i];\n var assetInfo = assetInfos.get(uuid);\n assetInfo.ver = entries[i + 1];\n }\n }\n entries = versions.native;\n if (entries) {\n for (var i = 0, l = entries.length; i < l; i += 2) {\n var uuid = entries[i];\n var assetInfo = assetInfos.get(uuid);\n assetInfo.nativeVer = entries[i + 1];\n }\n }\n },\n\n _initRedirect: function (redirect) {\n if (!redirect) return;\n var assetInfos = this.assetInfos;\n for (var i = 0, l = redirect.length; i < l; i += 2) {\n var uuid = redirect[i];\n var assetInfo = assetInfos.get(uuid);\n assetInfo.redirect = redirect[i + 1];\n }\n },\n\n getInfoWithPath: function (path, type) {\n\n if (!path) {\n return null;\n }\n path = normalize(path);\n var items = this.paths.get(path);\n if (items) {\n if (type) {\n for (var i = 0, l = items.length; i < l; i++) {\n var assetInfo = items[i];\n if (js.isChildClassOf(assetInfo.ctor, type)) {\n return assetInfo;\n }\n }\n }\n else {\n return items[0];\n }\n }\n return null;\n },\n\n getDirWithPath: function (path, type, out) {\n path = normalize(path);\n if (path[path.length - 1] === '/') {\n path = path.slice(0, -1);\n }\n\n var infos = out || [];\n function isMatchByWord (path, test) {\n if (path.length > test.length) {\n var nextAscii = path.charCodeAt(test.length);\n return nextAscii === 47; // '/'\n }\n return true;\n }\n this.paths.forEach(function (items, p) {\n if ((p.startsWith(path) && isMatchByWord(p, path)) || !path) {\n for (var i = 0, l = items.length; i < l; i++) {\n var entry = items[i];\n if (!type || js.isChildClassOf(entry.ctor, type)) {\n infos.push(entry);\n }\n }\n }\n });\n\n return infos;\n },\n\n getAssetInfo: function (uuid) {\n return this.assetInfos.get(uuid);\n },\n\n getSceneInfo: function (name) {\n if (!name.endsWith('.fire')) {\n name += '.fire';\n }\n if (name[0] !== '/' && !name.startsWith('db://')) {\n name = '/' + name; // 使用全名匹配\n }\n // search scene\n var info = this.scenes.find(function (val, key) {\n return key.endsWith(name);\n });\n return info;\n },\n\n destroy: function () {\n this.paths.destroy();\n this.scenes.destroy();\n this.assetInfos.destroy();\n }\n};\n\nif (CC_TEST) {\n cc._Test.Config = Config;\n}\n\nmodule.exports = Config;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst Cache = require('./cache');\nconst deserialize = require('./deserialize');\nconst { files, parsed } = require('./shared');\nimport { hasNativeDep , getDependUuidList } from '../platform/deserialize-compiled';\nimport deserializeForCompiled from '../platform/deserialize-compiled';\n\n/**\n * @module cc.AssetManager\n */\n/**\n * !#en\n * Control asset's dependency list, it is a singleton. All member can be accessed with `cc.assetManager.dependUtil`\n * \n * !#zh\n * 控制资源的依赖列表,这是一个单例, 所有成员能通过 `cc.assetManager.dependUtil` 访问\n * \n * @class DependUtil\n */\nvar dependUtil = {\n _depends: new Cache(),\n\n init () {\n this._depends.clear();\n },\n\n /**\n * !#en\n * Get asset's native dependency. For example, Texture's native dependency is image.\n * \n * !#zh\n * 获取资源的原生依赖,例如 Texture 的原生依赖是图片\n * \n * @method getNativeDep\n * @param {string} uuid - asset's uuid\n * @returns {Object} native dependency\n * \n * @example\n * var dep = dependUtil.getNativeDep('fcmR3XADNLgJ1ByKhqcC5Z');\n * \n * @typescript\n * getNativeDep(uuid: string): Record\n */\n getNativeDep (uuid) {\n let depend = this._depends.get(uuid);\n if (depend) return depend.nativeDep && Object.assign({}, depend.nativeDep);\n return null;\n },\n\n /**\n * !#en\n * Get asset's direct referencing non-native dependency list. For example, Material's non-native dependencies are Texture.\n * \n * !#zh\n * 获取资源直接引用的非原生依赖列表,例如,材质的非原生依赖是 Texture\n * \n * @method getDeps\n * @param {string} uuid - asset's uuid\n * @returns {string[]} direct referencing non-native dependency list\n * \n * @example\n * var deps = dependUtil.getDeps('fcmR3XADNLgJ1ByKhqcC5Z');\n * \n * @typescript\n * getDeps(uuid: string): string[]\n */\n getDeps (uuid) {\n if (this._depends.has(uuid)) {\n return this._depends.get(uuid).deps;\n }\n return [];\n },\n \n /**\n * !#en\n * Get non-native dependency list of the loaded asset, include indirect reference.\n * The returned array stores the dependencies with their uuid, after retrieve dependencies,\n * \n * !#zh\n * 获取某个已经加载好的资源的所有非原生依赖资源列表,包括间接引用的资源,并保存在数组中返回。\n * 返回的数组将仅保存依赖资源的 uuid。\n *\n * @method getDependsRecursively\n * @param {String} uuid - The asset's uuid\n * @returns {string[]} non-native dependency list\n * \n * @example\n * var deps = dependUtil.getDepsRecursively('fcmR3XADNLgJ1ByKhqcC5Z');\n * \n * @typescript\n * getDepsRecursively(uuid: string): string[]\n */\n getDepsRecursively (uuid) {\n var exclude = Object.create(null), depends = [];\n this._descend(uuid, exclude, depends);\n return depends;\n },\n\n _descend (uuid, exclude, depends) {\n var deps = this.getDeps(uuid);\n for (var i = 0; i < deps.length; i++) {\n var depend = deps[i];\n if ( !exclude[depend] ) {\n exclude[depend] = true;\n depends.push(depend);\n this._descend(depend, exclude, depends);\n }\n }\n },\n\n remove (uuid) {\n this._depends.remove(uuid);\n },\n \n /**\n * !#en\n * Extract dependency list from serialized data or asset and then store in cache.\n * \n * !#zh\n * 从序列化数据或资源中提取出依赖列表,并且存储在缓存中。\n * \n * @param {string} uuid - The uuid of serialized data or asset\n * @param {Object} json - Serialized data or asset\n * @returns {Object} dependency list, include non-native and native dependency\n * \n * @example\n * downloader.downloadFile('test.json', {responseType: 'json'}, null, (err, file) => {\n * var dependencies = parse('fcmR3XADNLgJ1ByKhqcC5Z', file);\n * });\n * \n * @typescript\n * parse(uuid: string, json: any): { deps?: string[], nativeDep?: any }\n */\n parse (uuid, json) {\n var out = null;\n if (Array.isArray(json) || json.__type__) {\n\n if (out = this._depends.get(uuid)) return out;\n\n if (Array.isArray(json) && (!(CC_BUILD || deserializeForCompiled.isCompiledJson(json)) || !hasNativeDep(json))) {\n out = {\n deps: this._parseDepsFromJson(json),\n };\n }\n else {\n try {\n var asset = deserialize(json);\n out = this._parseDepsFromAsset(asset);\n out.nativeDep && (out.nativeDep.uuid = uuid);\n parsed.add(uuid + '@import', asset);\n }\n catch (e) {\n files.remove(uuid + '@import');\n out = { deps: [] };\n }\n }\n }\n // get deps from an existing asset \n else {\n if (!CC_EDITOR && (out = this._depends.get(uuid)) && out.parsedFromExistAsset) return out;\n out = this._parseDepsFromAsset(json);\n }\n // cache dependency list\n this._depends.add(uuid, out);\n return out;\n },\n\n _parseDepsFromAsset: function (asset) {\n var out = {\n deps: [],\n parsedFromExistAsset: true,\n preventPreloadNativeObject: asset.constructor.preventPreloadNativeObject,\n preventDeferredLoadDependents: asset.constructor.preventDeferredLoadDependents\n };\n let deps = asset.__depends__;\n for (var i = 0, l = deps.length; i < l; i++) {\n var dep = deps[i].uuid;\n out.deps.push(dep);\n }\n \n if (asset.__nativeDepend__) {\n out.nativeDep = asset._nativeDep;\n }\n\n return out;\n },\n\n _parseDepsFromJson: CC_EDITOR || CC_PREVIEW ? function (json) {\n\n if (deserializeForCompiled.isCompiledJson(json)) {\n let depends = getDependUuidList(json);\n depends.forEach((uuid, index) => depends[index] = cc.assetManager.utils.decodeUuid(uuid));\n return depends;\n }\n \n var depends = [];\n function parseDependRecursively (data, out) {\n if (!data || typeof data !== 'object' || data.__id__) return;\n var uuid = data.__uuid__;\n if (Array.isArray(data)) {\n for (let i = 0, l = data.length; i < l; i++) {\n parseDependRecursively(data[i], out);\n }\n }\n else if (uuid) { \n out.push(cc.assetManager.utils.decodeUuid(uuid));\n }\n else {\n for (var prop in data) {\n parseDependRecursively(data[prop], out);\n }\n }\n }\n parseDependRecursively(json, depends);\n return depends;\n } : function (json) {\n let depends = getDependUuidList(json);\n depends.forEach((uuid, index) => depends[index] = cc.assetManager.utils.decodeUuid(uuid));\n return depends;\n }\n};\n\nmodule.exports = dependUtil;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst js = require('../platform/js');\nrequire('../CCDirector');\nconst utilities = require('./utilities');\nconst dependUtil = require('./depend-util');\nconst releaseManager = require('./releaseManager');\nconst downloader = require('./downloader');\nconst factory = require('./factory');\nconst helper = require('./helper');\n\nconst ImageFmts = ['.png', '.jpg', '.bmp', '.jpeg', '.gif', '.ico', '.tiff', '.webp', '.image', '.pvr', '.pkm'];\nconst AudioFmts = ['.mp3', '.ogg', '.wav', '.m4a'];\n\nfunction GetTrue () { return true; }\n\nconst md5Pipe = {\n transformURL (url) {\n let uuid = helper.getUuidFromURL(url);\n if (!uuid) { return url; }\n let bundle = cc.assetManager.bundles.find((b) => {\n return !!b.getAssetInfo(uuid);\n });\n if (!bundle) { return url; }\n let hashValue = '';\n let info = bundle.getAssetInfo(uuid);\n if (url.startsWith(bundle.base + bundle._config.nativeBase)) {\n hashValue = info.nativeVer || '';\n }\n else {\n hashValue = info.ver || '';\n }\n if (!hashValue || url.indexOf(hashValue) !== -1) { return url; }\n let hashPatchInFolder = false;\n if (cc.path.extname(url) === '.ttf') {\n hashPatchInFolder = true;\n }\n if (hashPatchInFolder) {\n let dirname = cc.path.dirname(url);\n let basename = cc.path.basename(url);\n url = `${dirname}.${hashValue}/${basename}`;\n } else {\n url = url.replace(/.*[/\\\\][0-9a-fA-F]{2}[/\\\\]([0-9a-fA-F-]{8,})/, (match, uuid) => {\n return match + '.' + hashValue;\n });\n }\n \n return url;\n },\n};\n\n/**\n * `cc.loader` is deprecated, please backup your project and upgrade to {{#crossLink \"AssetManager\"}}{{/crossLink}}\n *\n * @class loader\n * @static\n * @deprecated cc.loader is deprecated, please backup your project and upgrade to cc.assetManager\n */\nconst loader = {\n /**\n * `cc.loader.onProgress` is deprecated, please transfer onProgress to API as a parameter\n * @property onProgress\n * @deprecated cc.loader.onProgress is deprecated, please transfer onProgress to API as a parameter\n */\n onProgress: null,\n _autoReleaseSetting: Object.create(null),\n\n get _cache () {\n return cc.assetManager.assets._map;\n },\n\n /**\n * `cc.loader.load` is deprecated, please use {{#crossLink \"AssetManager/loadAny:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.load is deprecated, please use cc.assetManager.loadAny instead\n *\n * @method load\n * @param {String|String[]|Object} resources - Url list in an array\n * @param {Function} [progressCallback] - Callback invoked when progression change\n * @param {Number} progressCallback.completedCount - The number of the items that are already completed\n * @param {Number} progressCallback.totalCount - The total number of the items\n * @param {Object} progressCallback.item - The latest item which flow out the pipeline\n * @param {Function} [completeCallback] - Callback invoked when all resources loaded\n * @typescript\n * load(resources: string|string[]|{uuid?: string, url?: string, type?: string}, completeCallback?: Function): void\n * load(resources: string|string[]|{uuid?: string, url?: string, type?: string}, progressCallback: (completedCount: number, totalCount: number, item: any) => void, completeCallback: Function|null): void\n */\n load (resources, progressCallback, completeCallback) {\n if (completeCallback === undefined) {\n if (progressCallback !== undefined) {\n completeCallback = progressCallback;\n progressCallback = null;\n }\n }\n resources = Array.isArray(resources) ? resources : [resources];\n for (var i = 0; i < resources.length; i++) {\n var item = resources[i];\n if (typeof item === 'string') {\n resources[i] = { url: item, __isNative__: true};\n }\n else {\n if (item.type) {\n item.ext = '.' + item.type;\n item.type = undefined;\n }\n\n if (item.url) {\n item.__isNative__ = true;\n }\n }\n }\n var images = [];\n var audios = [];\n cc.assetManager.loadAny(resources, null, (finish, total, item) => {\n if (item.content) {\n if (ImageFmts.includes(item.ext)) {\n images.push(item.content);\n }\n else if (AudioFmts.includes(item.ext)) {\n audios.push(item.content);\n }\n }\n progressCallback && progressCallback(finish, total, item);\n }, (err, native) => {\n var res = null;\n if (!err) {\n native = Array.isArray(native) ? native : [native];\n for (var i = 0; i < native.length; i++) {\n var item = native[i];\n if (!(item instanceof cc.Asset)) {\n var asset = item;\n var url = resources[i].url;\n if (images.includes(asset)) {\n factory.create(url, item, '.png', null, (err, image) => {\n asset = native[i] = image;\n });\n }\n else if (audios.includes(asset)) {\n factory.create(url, item, '.mp3', null, (err, audio) => {\n asset = native[i] = audio;\n });\n }\n cc.assetManager.assets.add(url, asset);\n }\n }\n if (native.length > 1) {\n var map = Object.create(null);\n native.forEach(function (asset) {\n map[asset._uuid] = asset;\n });\n res = { isCompleted: GetTrue, _map: map };\n }\n else {\n res = native[0];\n }\n }\n completeCallback && completeCallback(err, res);\n });\n },\n\n /**\n * `cc.loader.getXMLHttpRequest` is deprecated, please use `XMLHttpRequest` directly\n *\n * @method getXMLHttpRequest\n * @deprecated cc.loader.getXMLHttpRequest is deprecated, please use XMLHttpRequest directly\n * @returns {XMLHttpRequest}\n */\n getXMLHttpRequest () {\n return new XMLHttpRequest();\n },\n\n _parseLoadResArgs: utilities.parseLoadResArgs,\n\n /**\n * `cc.loader.getItem` is deprecated, please use `cc.assetManager.asset.get` instead\n *\n * @method getItem\n * @param {Object} id The id of the item\n * @return {Object}\n * @deprecated cc.loader.getItem is deprecated, please use cc.assetManager.assets.get instead\n */\n getItem (key) {\n return cc.assetManager.assets.has(key) ? { content: cc.assetManager.assets.get(key) } : null;\n },\n\n /**\n * `cc.loader.loadRes` is deprecated, please use {{#crossLink \"Bundle/load:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.loadRes is deprecated, please use cc.resources.load instead\n * @method loadRes\n * @param {String} url - Url of the target resource.\n * The url is relative to the \"resources\" folder, extensions must be omitted.\n * @param {Function} [type] - Only asset of type will be loaded if this argument is supplied.\n * @param {Function} [progressCallback] - Callback invoked when progression change.\n * @param {Number} progressCallback.completedCount - The number of the items that are already completed.\n * @param {Number} progressCallback.totalCount - The total number of the items.\n * @param {Object} progressCallback.item - The latest item which flow out the pipeline.\n * @param {Function} [completeCallback] - Callback invoked when the resource loaded.\n * @param {Error} completeCallback.error - The error info or null if loaded successfully.\n * @param {Object} completeCallback.resource - The loaded resource if it can be found otherwise returns null.\n *\n * @typescript\n * loadRes(url: string, type: typeof cc.Asset, progressCallback: (completedCount: number, totalCount: number, item: any) => void, completeCallback: ((error: Error, resource: any) => void)|null): void\n * loadRes(url: string, type: typeof cc.Asset, completeCallback: (error: Error, resource: any) => void): void\n * loadRes(url: string, type: typeof cc.Asset): void\n * loadRes(url: string, progressCallback: (completedCount: number, totalCount: number, item: any) => void, completeCallback: ((error: Error, resource: any) => void)|null): void\n * loadRes(url: string, completeCallback: (error: Error, resource: any) => void): void\n * loadRes(url: string): void\n */\n loadRes (url, type, progressCallback, completeCallback) {\n var { type, onProgress, onComplete } = this._parseLoadResArgs(type, progressCallback, completeCallback);\n var extname = cc.path.extname(url);\n if (extname) {\n // strip extname\n url = url.slice(0, - extname.length);\n }\n cc.resources.load(url, type, onProgress, onComplete);\n },\n\n /**\n * `cc.loader.loadResArray` is deprecated, please use {{#crossLink \"Bundle/load:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.loadResArray is deprecated, please use cc.resources.load instead\n * @method loadResArray\n * @param {String[]} urls - Array of URLs of the target resource.\n * The url is relative to the \"resources\" folder, extensions must be omitted.\n * @param {Function} [type] - Only asset of type will be loaded if this argument is supplied.\n * @param {Function} [progressCallback] - Callback invoked when progression change.\n * @param {Number} progressCallback.completedCount - The number of the items that are already completed.\n * @param {Number} progressCallback.totalCount - The total number of the items.\n * @param {Object} progressCallback.item - The latest item which flow out the pipeline.\n * @param {Function} [completeCallback] - A callback which is called when all assets have been loaded, or an error occurs.\n * @param {Error} completeCallback.error - If one of the asset failed, the complete callback is immediately called\n * with the error. If all assets are loaded successfully, error will be null.\n * @param {Asset[]|Array} completeCallback.assets - An array of all loaded assets.\n * If nothing to load, assets will be an empty array.\n * @typescript\n * loadResArray(url: string[], type: typeof cc.Asset, progressCallback: (completedCount: number, totalCount: number, item: any) => void, completeCallback: ((error: Error, resource: any[]) => void)|null): void\n * loadResArray(url: string[], type: typeof cc.Asset, completeCallback: (error: Error, resource: any[]) => void): void\n * loadResArray(url: string[], type: typeof cc.Asset): void\n * loadResArray(url: string[], progressCallback: (completedCount: number, totalCount: number, item: any) => void, completeCallback: ((error: Error, resource: any[]) => void)|null): void\n * loadResArray(url: string[], completeCallback: (error: Error, resource: any[]) => void): void\n * loadResArray(url: string[]): void\n * loadResArray(url: string[], type: typeof cc.Asset[]): void\n */\n loadResArray (urls, type, progressCallback, completeCallback) {\n var { type, onProgress, onComplete } = this._parseLoadResArgs(type, progressCallback, completeCallback);\n urls.forEach((url, i) => {\n var extname = cc.path.extname(url);\n if (extname) {\n // strip extname\n urls[i] = url.slice(0, - extname.length);\n }\n })\n cc.resources.load(urls, type, onProgress, onComplete);\n },\n\n /**\n * `cc.loader.loadResDir` is deprecated, please use {{#crossLink \"Bundle/loadDir:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.loadResDir is deprecated, please use cc.resources.loadDir instead\n * @method loadResDir\n * @param {String} url - Url of the target folder.\n * The url is relative to the \"resources\" folder, extensions must be omitted.\n * @param {Function} [type] - Only asset of type will be loaded if this argument is supplied.\n * @param {Function} [progressCallback] - Callback invoked when progression change.\n * @param {Number} progressCallback.completedCount - The number of the items that are already completed.\n * @param {Number} progressCallback.totalCount - The total number of the items.\n * @param {Object} progressCallback.item - The latest item which flow out the pipeline.\n * @param {Function} [completeCallback] - A callback which is called when all assets have been loaded, or an error occurs.\n * @param {Error} completeCallback.error - If one of the asset failed, the complete callback is immediately called\n * with the error. If all assets are loaded successfully, error will be null.\n * @param {Asset[]|Array} completeCallback.assets - An array of all loaded assets.\n * If nothing to load, assets will be an empty array.\n * @param {String[]} completeCallback.urls - An array that lists all the URLs of loaded assets.\n *\n * @typescript\n * loadResDir(url: string, type: typeof cc.Asset, progressCallback: (completedCount: number, totalCount: number, item: any) => void, completeCallback: ((error: Error, resource: any[], urls: string[]) => void)|null): void\n * loadResDir(url: string, type: typeof cc.Asset, completeCallback: (error: Error, resource: any[], urls: string[]) => void): void\n * loadResDir(url: string, type: typeof cc.Asset): void\n * loadResDir(url: string, progressCallback: (completedCount: number, totalCount: number, item: any) => void, completeCallback: ((error: Error, resource: any[], urls: string[]) => void)|null): void\n * loadResDir(url: string, completeCallback: (error: Error, resource: any[], urls: string[]) => void): void\n * loadResDir(url: string): void\n */\n loadResDir (url, type, progressCallback, completeCallback) {\n var { type, onProgress, onComplete } = this._parseLoadResArgs(type, progressCallback, completeCallback);\n cc.resources.loadDir(url, type, onProgress, function (err, assets) {\n var urls = [];\n if (!err) {\n var infos = cc.resources.getDirWithPath(url, type);\n urls = infos.map(function (info) {\n return info.path;\n });\n }\n onComplete && onComplete(err, assets, urls);\n });\n },\n\n /**\n * `cc.loader.getRes` is deprecated, please use {{#crossLink \"Bundle/get:method\"}}{{/crossLink}} instead\n *\n * @method getRes\n * @param {String} url\n * @param {Function} [type] - Only asset of type will be returned if this argument is supplied.\n * @returns {*}\n * @deprecated cc.loader.getRes is deprecated, please use cc.resources.get instead\n */\n getRes (url, type) {\n return cc.assetManager.assets.has(url) ? cc.assetManager.assets.get(url) : cc.resources.get(url, type);\n },\n\n getResCount () {\n return cc.assetManager.assets.count;\n },\n\n /**\n * `cc.loader.getDependsRecursively` is deprecated, please use use {{#crossLink \"DependUtil/getDepsRecursively:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.getDependsRecursively is deprecated, please use use cc.assetManager.dependUtil.getDepsRecursively instead\n * @method getDependsRecursively\n * @param {Asset|String} owner - The owner asset or the resource url or the asset's uuid\n * @returns {Array}\n */\n getDependsRecursively (owner) {\n if (!owner) return [];\n return dependUtil.getDepsRecursively(typeof owner === 'string' ? owner : owner._uuid).concat([ owner._uuid ]);\n },\n\n /**\n * `cc.loader.assetLoader` was removed, assetLoader and md5Pipe were merged into {{#crossLink \"AssetManager/transformPipeline:property\"}}{{/crossLink}}\n *\n * @property assetLoader\n * @deprecated cc.loader.assetLoader was removed, assetLoader and md5Pipe were merged into cc.assetManager.transformPipeline\n * @type {Object}\n */\n get assetLoader () {\n if (CC_DEBUG) {\n cc.error('cc.loader.assetLoader was removed, assetLoader and md5Pipe were merged into cc.assetManager.transformPipeline');\n }\n },\n\n /**\n * `cc.loader.md5Pipe` is deprecated, assetLoader and md5Pipe were merged into {{#crossLink \"AssetManager/transformPipeline:property\"}}{{/crossLink}}\n *\n * @property md5Pipe\n * @deprecated cc.loader.md5Pipe is deprecated, assetLoader and md5Pipe were merged into cc.assetManager.transformPipeline\n * @type {Object}\n */\n get md5Pipe () {\n return md5Pipe;\n },\n\n /**\n * `cc.loader.downloader` is deprecated, please use {{#crossLink \"AssetManager/downloader:property\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.downloader is deprecated, please use cc.assetManager.downloader instead\n * @property downloader\n * @type {Object}\n */\n get downloader () {\n return cc.assetManager.downloader;\n },\n\n /**\n * `cc.loader.loader` is deprecated, please use {{#crossLink \"AssetManager/parser:property\"}}{{/crossLink}} instead\n *\n * @property loader\n * @type {Object}\n * @deprecated cc.loader.loader is deprecated, please use cc.assetManager.parser instead\n */\n get loader () {\n return cc.assetManager.parser;\n },\n\n /**\n * `cc.loader.addDownloadHandlers` is deprecated, please use `cc.assetManager.downloader.register` instead\n *\n * @method addDownloadHandlers\n * @param {Object} extMap Custom supported types with corresponded handler\n * @deprecated cc.loader.addDownloadHandlers is deprecated, please use cc.assetManager.downloader.register instead\n */\n addDownloadHandlers (extMap) {\n if (CC_DEBUG) {\n cc.warn('`cc.loader.addDownloadHandlers` is deprecated, please use `cc.assetManager.downloader.register` instead');\n }\n var handler = Object.create(null);\n for (var type in extMap) {\n var func = extMap[type];\n handler['.' + type] = function (url, options, onComplete) {\n func({url}, onComplete);\n };\n }\n cc.assetManager.downloader.register(handler);\n },\n\n /**\n * `cc.loader.addLoadHandlers` is deprecated, please use `cc.assetManager.parser.register` instead\n *\n * @method addLoadHandlers\n * @param {Object} extMap Custom supported types with corresponded handler\n * @deprecated cc.loader.addLoadHandlers is deprecated, please use cc.assetManager.parser.register instead\n */\n addLoadHandlers (extMap) {\n if (CC_DEBUG) {\n cc.warn('`cc.loader.addLoadHandlers` is deprecated, please use `cc.assetManager.parser.register` instead');\n }\n var handler = Object.create(null);\n for (var type in extMap) {\n var func = extMap[type];\n handler['.' + type] = function (file, options, onComplete) {\n func({content: file}, onComplete);\n };\n }\n cc.assetManager.parser.register(handler);\n },\n\n flowInDeps () {\n if (CC_DEBUG) {\n cc.error('cc.loader.flowInDeps was removed');\n }\n },\n\n /**\n * `cc.loader.release` is deprecated, please use {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}} instead\n *\n * @method release\n * @param {Asset|String|Array} asset\n * @deprecated cc.loader.release is deprecated, please use cc.assetManager.releaseAsset instead\n */\n release (asset) {\n if (Array.isArray(asset)) {\n for (let i = 0; i < asset.length; i++) {\n var key = asset[i];\n if (typeof key === 'string') key = cc.assetManager.assets.get(key);\n let isBuiltin = cc.assetManager.builtins._assets.find(function (assets) {\n return assets.find(builtinAsset => builtinAsset === key);\n });\n if (isBuiltin) continue;\n cc.assetManager.releaseAsset(key);\n }\n }\n else if (asset) {\n if (typeof asset === 'string') asset = cc.assetManager.assets.get(asset);\n let isBuiltin = cc.assetManager.builtins._assets.find(function (assets) {\n return assets.find(builtinAsset => builtinAsset === asset);\n });\n if (isBuiltin) return;\n cc.assetManager.releaseAsset(asset);\n }\n },\n\n /**\n * `cc.loader.releaseAsset` is deprecated, please use {{#crossLink \"AssetManager/releaseAsset:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.releaseAsset is deprecated, please use cc.assetManager.releaseAsset instead\n * @method releaseAsset\n * @param {Asset} asset\n */\n releaseAsset (asset) {\n cc.assetManager.releaseAsset(asset);\n },\n\n /**\n * `cc.loader.releaseRes` is deprecated, please use {{#crossLink \"AssetManager/releaseRes:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.releaseRes is deprecated, please use cc.assetManager.releaseRes instead\n * @method releaseRes\n * @param {String} url\n * @param {Function} [type] - Only asset of type will be released if this argument is supplied.\n */\n releaseRes (url, type) {\n cc.resources.release(url, type);\n },\n\n /**\n * `cc.loader.releaseResDir` was removed, please use {{#crossLink \"AssetManager/releaseRes:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.releaseResDir was removed, please use cc.assetManager.releaseRes instead\n * @method releaseResDir\n */\n releaseResDir () {\n if (CC_DEBUG) {\n cc.error('cc.loader.releaseResDir was removed, please use cc.assetManager.releaseAsset instead');\n }\n },\n\n /**\n * `cc.loader.releaseAll` is deprecated, please use {{#crossLink \"AssetManager/releaseAll:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.releaseAll is deprecated, please use cc.assetManager.releaseAll instead\n * @method releaseAll\n */\n releaseAll () {\n cc.assetManager.releaseAll();\n cc.assetManager.assets.clear();\n },\n\n /**\n * `cc.loader.removeItem` is deprecated, please use `cc.assetManager.assets.remove` instead\n *\n * @deprecated cc.loader.removeItem is deprecated, please use cc.assetManager.assets.remove instead\n * @method removeItem\n * @param {Object} id The id of the item\n * @return {Boolean} succeed or not\n */\n removeItem (key) {\n cc.assetManager.assets.remove(key);\n },\n\n /**\n * `cc.loader.setAutoRelease` is deprecated, if you want to prevent some asset from auto releasing, please use {{#crossLink \"Asset/addRef:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.setAutoRelease is deprecated, if you want to prevent some asset from auto releasing, please use cc.Asset.addRef instead\n * @method setAutoRelease\n * @param {Asset|String} assetOrUrlOrUuid - asset object or the raw asset's url or uuid\n * @param {Boolean} autoRelease - indicates whether should release automatically\n */\n setAutoRelease (asset, autoRelease) {\n if (typeof asset === 'object') asset = asset._uuid;\n this._autoReleaseSetting[asset] = !!autoRelease;\n },\n\n /**\n * `cc.loader.setAutoReleaseRecursively` is deprecated, if you want to prevent some asset from auto releasing, please use {{#crossLink \"Asset/addRef:method\"}}{{/crossLink}} instead\n *\n * @method setAutoReleaseRecursively\n * @param {Asset|String} assetOrUrlOrUuid - asset object or the raw asset's url or uuid\n * @param {Boolean} autoRelease - indicates whether should release automatically\n * @deprecated cc.loader.setAutoReleaseRecursively is deprecated, if you want to prevent some asset from auto releasing, please use cc.Asset.addRef instead\n */\n setAutoReleaseRecursively (asset, autoRelease) {\n if (typeof asset === 'object') asset = asset._uuid;\n autoRelease = !!autoRelease;\n this._autoReleaseSetting[asset] = autoRelease;\n var depends = dependUtil.getDepsRecursively(asset);\n for (var i = 0; i < depends.length; i++) {\n var depend = depends[i];\n this._autoReleaseSetting[depend] = autoRelease;\n }\n },\n\n /**\n * `cc.loader.isAutoRelease` is deprecated\n *\n * @method isAutoRelease\n * @param {Asset|String} assetOrUrl - asset object or the raw asset's url\n * @returns {Boolean}\n * @deprecated cc.loader.isAutoRelease is deprecated\n */\n isAutoRelease (asset) {\n if (typeof asset === 'object') asset = asset._uuid;\n return !!this._autoReleaseSetting[asset];\n }\n};\n\n/**\n * @class Downloader\n */\n/**\n * `cc.loader.downloader.loadSubpackage` is deprecated, please use {{#crossLink \"AssetManager/loadBundle:method\"}}{{/crossLink}} instead\n *\n * @deprecated cc.loader.downloader.loadSubpackage is deprecated, please use AssetManager.loadBundle instead\n * @method loadSubpackage\n * @param {String} name - Subpackage name\n * @param {Function} [completeCallback] - Callback invoked when subpackage loaded\n * @param {Error} completeCallback.error - error information\n */\ndownloader.loadSubpackage = function (name, completeCallback) {\n cc.assetManager.loadBundle(name, null, completeCallback);\n};\n\n/**\n * @deprecated cc.AssetLibrary is deprecated, please backup your project and upgrade to cc.assetManager\n */\nvar AssetLibrary = {\n\n /**\n * @deprecated cc.AssetLibrary.init is deprecated, please use cc.assetManager.init instead\n */\n init (options) {\n options.importBase = options.libraryPath;\n options.nativeBase = CC_BUILD ? options.rawAssetsBase : options.libraryPath;\n cc.assetManager.init(options);\n if (options.rawAssets) {\n var resources = new cc.AssetManager.Bundle();\n resources.init({\n name: cc.AssetManager.BuiltinBundleName.RESOURCES,\n importBase: options.importBase,\n nativeBase: options.nativeBase,\n paths: options.rawAssets.assets,\n uuids: Object.keys(options.rawAssets.assets),\n });\n }\n },\n\n /**\n * @deprecated cc.AssetLibrary is deprecated, please use cc.assetManager.loadAny instead\n */\n loadAsset (uuid, onComplete) {\n cc.assetManager.loadAny(uuid, onComplete);\n },\n\n getLibUrlNoExt () {\n if (CC_DEBUG) {\n cc.error('cc.AssetLibrary.getLibUrlNoExt was removed, if you want to transform url, please use cc.assetManager.utils.getUrlWithUuid instead');\n }\n },\n\n queryAssetInfo () {\n if (CC_DEBUG) {\n cc.error('cc.AssetLibrary.queryAssetInfo was removed, only available in the editor by using cc.assetManager.editorExtend.queryAssetInfo');\n }\n }\n};\n\n/**\n * `cc.url` is deprecated\n *\n * @deprecated cc.url is deprecated\n * @class url\n * @static\n */\ncc.url = {\n normalize (url) {\n cc.warnID(1400, 'cc.url.normalize', 'cc.assetManager.utils.normalize');\n return cc.assetManager.utils.normalize(url);\n },\n\n /**\n * `cc.url.raw` is deprecated, please use `cc.resources.load` directly, or use `Asset.nativeUrl` instead.\n *\n * @deprecated cc.url.raw is deprecated, please use cc.resources.load directly, or use Asset.nativeUrl instead.\n * @method raw\n * @param {String} url\n * @return {String}\n */\n raw (url) {\n cc.warnID(1400, 'cc.url.raw', 'cc.resources.load');\n if (url.startsWith('resources/')) {\n return cc.assetManager._transform({'path': cc.path.changeExtname(url.substr(10)), bundle: cc.AssetManager.BuiltinBundleName.RESOURCES, __isNative__: true, ext: cc.path.extname(url)});\n }\n return '';\n }\n};\n\nlet onceWarns = {\n loader: true,\n assetLibrary: true,\n};\n\nObject.defineProperties(cc, {\n loader: {\n get () {\n if (CC_DEBUG) {\n if (onceWarns.loader) {\n onceWarns.loader = false;\n cc.log('cc.loader is deprecated, use cc.assetManager instead please. See https://docs.cocos.com/creator/manual/zh/release-notes/asset-manager-upgrade-guide.html');\n }\n }\n return loader;\n }\n },\n\n AssetLibrary: {\n get () {\n if (CC_DEBUG) {\n if (onceWarns.assetLibrary) {\n onceWarns.assetLibrary = false;\n cc.log('cc.AssetLibrary is deprecated, use cc.assetManager instead please. See https://docs.cocos.com/creator/manual/zh/release-notes/asset-manager-upgrade-guide.html');\n }\n }\n return AssetLibrary;\n }\n },\n\n /**\n * `cc.LoadingItems` was removed, please use {{#crossLink \"Task\"}}{{/crossLink}} instead\n *\n * @deprecated cc.LoadingItems was removed, please use cc.AssetManager.Task instead\n * @class LoadingItems\n */\n LoadingItems: {\n get () {\n cc.warnID(1400, 'cc.LoadingItems', 'cc.AssetManager.Task');\n return cc.AssetManager.Task;\n }\n },\n\n Pipeline: {\n get () {\n cc.warnID(1400, 'cc.Pipeline', 'cc.AssetManager.Pipeline');\n return cc.AssetManager.Pipeline;\n }\n }\n});\n\njs.obsolete(cc, 'cc.RawAsset', 'cc.Asset');\n\n/**\n * @class Asset\n */\n/**\n * `cc.Asset.url` is deprecated, please use {{#crossLink \"Asset/nativeUrl:property\"}}{{/crossLink}} instead\n * @property url\n * @type {String}\n * @deprecated cc.Asset.url is deprecated, please use cc.Asset.nativeUrl instead\n */\njs.obsolete(cc.Asset.prototype, 'cc.Asset.url', 'nativeUrl');\n\n/**\n * @class macro\n * @static\n */\nObject.defineProperties(cc.macro, {\n /**\n * `cc.macro.DOWNLOAD_MAX_CONCURRENT` is deprecated now, please use {{#crossLink \"Downloader/maxConcurrency:property\"}}{{/crossLink}} instead\n * \n * @property DOWNLOAD_MAX_CONCURRENT\n * @type {Number}\n * @deprecated cc.macro.DOWNLOAD_MAX_CONCURRENT is deprecated now, please use cc.assetManager.downloader.maxConcurrency instead\n */\n DOWNLOAD_MAX_CONCURRENT: {\n get () {\n return cc.assetManager.downloader.maxConcurrency;\n },\n\n set (val) {\n cc.assetManager.downloader.maxConcurrency = val;\n }\n }\n});\n\nObject.assign(cc.director, {\n _getSceneUuid (sceneName) {\n cc.assetManager.main.getSceneInfo(sceneName);\n }\n});\n\nObject.defineProperties(cc.game, {\n _sceneInfos: {\n get () {\n var scenes = [];\n cc.assetManager.main._config.scenes.forEach(function (val) {\n scenes.push(val);\n });\n return scenes;\n }\n }\n});\n\nvar parseParameters = utilities.parseParameters;\nutilities.parseParameters = function (options, onProgress, onComplete) {\n var result = parseParameters(options, onProgress, onComplete);\n result.onProgress = result.onProgress || loader.onProgress;\n return result;\n};\n\nvar autoRelease = releaseManager._autoRelease;\nreleaseManager._autoRelease = function () {\n autoRelease.apply(this, arguments);\n var releaseSettings = loader._autoReleaseSetting;\n var keys = Object.keys(releaseSettings);\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n if (releaseSettings[key] === true) {\n var asset = cc.assetManager.assets.get(key);\n asset && releaseManager.tryRelease(asset);\n }\n }\n};","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst helper = require('./helper');\nconst MissingClass = CC_EDITOR && Editor.require('app://editor/page/scene-utils/missing-class-reporter').MissingClass;\nrequire('../platform/deserialize');\n\nfunction deserialize (json, options) {\n var classFinder, missingClass;\n if (CC_EDITOR) {\n missingClass = MissingClass;\n classFinder = function (type, data, owner, propName) {\n var res = missingClass.classFinder(type, data, owner, propName);\n if (res) {\n return res;\n }\n return cc._MissingScript;\n };\n classFinder.onDereferenced = missingClass.classFinder.onDereferenced;\n }\n else {\n classFinder = cc._MissingScript.safeFindClass;\n }\n\n let pool = null;\n if (!CC_PREVIEW) {\n pool = cc.deserialize.Details.pool;\n }\n else {\n let { default: deserializeForCompiled } = require('../platform/deserialize-compiled');\n let deserializeForEditor = require('../platform/deserialize-editor');\n if (deserializeForCompiled.isCompiledJson(json)) {\n pool = deserializeForCompiled.Details.pool;\n }\n else {\n pool = deserializeForEditor.Details.pool;\n }\n }\n var tdInfo = pool.get();\n\n var asset;\n try {\n asset = cc.deserialize(json, tdInfo, {\n classFinder: classFinder,\n customEnv: options\n });\n }\n catch (e) {\n pool.put(tdInfo);\n throw e;\n }\n\n if (CC_EDITOR && missingClass) {\n missingClass.reportMissingClass(asset);\n missingClass.reset();\n }\n\n var uuidList = tdInfo.uuidList;\n var objList = tdInfo.uuidObjList;\n var propList = tdInfo.uuidPropList;\n var depends = [];\n\n for (var i = 0; i < uuidList.length; i++) {\n var dependUuid = uuidList[i];\n depends[i] = {\n uuid: helper.decodeUuid(dependUuid),\n owner: objList[i],\n prop: propList[i]\n };\n }\n\n // non-native deps\n asset.__depends__ = depends;\n // native dep\n asset._native && (asset.__nativeDepend__ = true);\n pool.put(tdInfo);\n return asset;\n\n}\n\nmodule.exports = deserialize;\n","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nvar __audioSupport = cc.sys.__audioSupport;\nconst { parseParameters } = require('./utilities');\n\nfunction downloadDomAudio (url, options, onComplete) {\n var { options, onComplete } = parseParameters(options, undefined, onComplete);\n\n var dom = document.createElement('audio');\n dom.src = url;\n\n var clearEvent = function () {\n clearTimeout(timer);\n dom.removeEventListener(\"canplaythrough\", success, false);\n dom.removeEventListener(\"error\", failure, false);\n if(__audioSupport.USE_LOADER_EVENT)\n dom.removeEventListener(__audioSupport.USE_LOADER_EVENT, success, false);\n };\n\n var timer = setTimeout(function () {\n if (dom.readyState === 0)\n failure();\n else\n success();\n }, 8000);\n\n var success = function () {\n clearEvent();\n onComplete && onComplete(null, dom);\n };\n \n var failure = function () {\n clearEvent();\n var message = 'load audio failure - ' + url;\n cc.log(message);\n onComplete && onComplete(new Error(message));\n };\n\n dom.addEventListener(\"canplaythrough\", success, false);\n dom.addEventListener(\"error\", failure, false);\n if(__audioSupport.USE_LOADER_EVENT)\n dom.addEventListener(__audioSupport.USE_LOADER_EVENT, success, false);\n return dom;\n}\n\nmodule.exports = downloadDomAudio;","\n/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst { parseParameters } = require('./utilities');\n\nfunction downloadDomImage (url, options, onComplete) {\n var { options, onComplete } = parseParameters(options, undefined, onComplete);\n\n var img = new Image();\n\n if (window.location.protocol !== 'file:') {\n img.crossOrigin = 'anonymous';\n }\n\n function loadCallback () {\n img.removeEventListener('load', loadCallback);\n img.removeEventListener('error', errorCallback);\n onComplete && onComplete(null, img);\n }\n \n function errorCallback () {\n img.removeEventListener('load', loadCallback);\n img.removeEventListener('error', errorCallback);\n onComplete && onComplete(new Error(cc.debug.getError(4930, url)));\n }\n\n img.addEventListener('load', loadCallback);\n img.addEventListener('error', errorCallback);\n img.src = url;\n return img;\n}\n\nmodule.exports = downloadDomImage;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst { parseParameters } = require('./utilities');\n\nfunction downloadFile (url, options, onProgress, onComplete) {\n var { options, onProgress, onComplete } = parseParameters(options, onProgress, onComplete);\n\n var xhr = new XMLHttpRequest(), errInfo = 'download failed: ' + url + ', status: ';\n\n xhr.open('GET', url, true);\n\n if (options.responseType !== undefined) xhr.responseType = options.responseType;\n if (options.withCredentials !== undefined) xhr.withCredentials = options.withCredentials;\n if (options.mimeType !== undefined && xhr.overrideMimeType ) xhr.overrideMimeType(options.mimeType);\n if (options.timeout !== undefined) xhr.timeout = options.timeout;\n\n if (options.header) {\n for (var header in options.header) {\n xhr.setRequestHeader(header, options.header[header]);\n }\n }\n\n xhr.onload = function () {\n if ( xhr.status === 200 || xhr.status === 0 ) {\n onComplete && onComplete(null, xhr.response);\n } else {\n onComplete && onComplete(new Error(errInfo + xhr.status + '(no response)'));\n }\n\n };\n\n if (onProgress) {\n xhr.onprogress = function (e) {\n if (e.lengthComputable) {\n onProgress(e.loaded, e.total);\n }\n };\n }\n\n xhr.onerror = function(){\n onComplete && onComplete(new Error(errInfo + xhr.status + '(error)'));\n };\n\n xhr.ontimeout = function(){\n onComplete && onComplete(new Error(errInfo + xhr.status + '(time out)'));\n };\n\n xhr.onabort = function(){\n onComplete && onComplete(new Error(errInfo + xhr.status + '(abort)'));\n };\n\n xhr.send(null);\n \n return xhr;\n}\n\nmodule.exports = downloadFile;","\n/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst { parseParameters } = require('./utilities');\n\nconst downloaded = {};\n\nfunction downloadScript (url, options, onComplete) {\n var { options, onComplete } = parseParameters(options, undefined, onComplete);\n\n // no need to load script again\n if (downloaded[url]) {\n return onComplete && onComplete(null);\n }\n\n var d = document, s = document.createElement('script');\n\n if (window.location.protocol !== 'file:') {\n s.crossOrigin = 'anonymous';\n }\n\n s.async = options.async;\n s.src = url;\n function loadHandler () {\n s.parentNode.removeChild(s);\n s.removeEventListener('load', loadHandler, false);\n s.removeEventListener('error', errorHandler, false);\n downloaded[url] = true;\n onComplete && onComplete(null);\n }\n\n function errorHandler() {\n s.parentNode.removeChild(s);\n s.removeEventListener('load', loadHandler, false);\n s.removeEventListener('error', errorHandler, false);\n onComplete && onComplete(new Error(cc.debug.getError(4928, url)));\n }\n \n s.addEventListener('load', loadHandler, false);\n s.addEventListener('error', errorHandler, false);\n d.body.appendChild(s);\n}\n\nmodule.exports = downloadScript;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n/**\n * @module cc.AssetManager\n */\nconst js = require('../platform/js');\nconst debug = require('../CCDebug');\nconst { loadFont } = require('./font-loader');\nconst callInNextTick = require('../platform/utils').callInNextTick;\nconst downloadDomImage = require('./download-dom-image');\nconst downloadDomAudio = require('./download-dom-audio');\nconst downloadFile = require('./download-file');\nconst downloadScript = require('./download-script.js');\nconst Cache = require('./cache');\nconst { files } = require('./shared');\nconst { __audioSupport, capabilities } = require('../platform/CCSys');\nconst { urlAppendTimestamp, retry } = require('./utilities');\n\nconst REGEX = /^(?:\\w+:\\/\\/|\\.+\\/).+/;\n\n\nvar formatSupport = __audioSupport.format || [];\n\nvar unsupported = function (url, options, onComplete) {\n onComplete(new Error(debug.getError(4927)));\n}\n\nvar downloadAudio = function (url, options, onComplete) {\n // web audio need to download file as arrayBuffer\n if (options.audioLoadMode !== cc.AudioClip.LoadMode.DOM_AUDIO) {\n downloadArrayBuffer(url, options, onComplete);\n }\n else {\n downloadDomAudio(url, options, onComplete);\n }\n};\n\nvar downloadAudio = (!CC_EDITOR || !Editor.isMainProcess) ? (formatSupport.length === 0 ? unsupported : (__audioSupport.WEB_AUDIO ? downloadAudio : downloadDomAudio)) : null;\n\nvar downloadImage = function (url, options, onComplete) {\n // if createImageBitmap is valid, we can transform blob to ImageBitmap. Otherwise, just use HTMLImageElement to load\n var func = capabilities.imageBitmap && cc.macro.ALLOW_IMAGE_BITMAP ? downloadBlob : downloadDomImage;\n func.apply(this, arguments);\n};\n\nvar downloadBlob = function (url, options, onComplete) {\n options.responseType = \"blob\";\n downloadFile(url, options, options.onFileProgress, onComplete);\n};\n\nvar downloadJson = function (url, options, onComplete) {\n options.responseType = \"json\";\n downloadFile(url, options, options.onFileProgress, function (err, data) {\n if (!err && typeof data === 'string') {\n try {\n data = JSON.parse(data);\n }\n catch (e) {\n err = e;\n }\n }\n onComplete && onComplete(err, data);\n });\n};\n\nvar downloadArrayBuffer = function (url, options, onComplete) {\n options.responseType = \"arraybuffer\";\n downloadFile(url, options, options.onFileProgress, onComplete);\n};\n\nvar downloadText = function (url, options, onComplete) {\n options.responseType = \"text\";\n downloadFile(url, options, options.onFileProgress, onComplete);\n};\n\nvar downloadVideo = function (url, options, onComplete) {\n onComplete(null, url);\n};\n\nvar downloadBundle = function (nameOrUrl, options, onComplete) {\n let bundleName = cc.path.basename(nameOrUrl);\n let url = nameOrUrl;\n if (!REGEX.test(url)) url = 'assets/' + bundleName;\n var version = options.version || downloader.bundleVers[bundleName];\n var count = 0;\n var config = `${url}/config.${version ? version + '.' : ''}json`;\n let out = null, error = null;\n downloadJson(config, options, function (err, response) {\n if (err) {\n error = err;\n }\n out = response;\n out && (out.base = url + '/');\n count++;\n if (count === 2) {\n onComplete(error, out);\n }\n });\n\n var js = `${url}/index.${version ? version + '.' : ''}js`;\n downloadScript(js, options, function (err) {\n if (err) {\n error = err;\n }\n count++;\n if (count === 2) {\n onComplete(error, out);\n }\n });\n};\n\nvar _downloading = new Cache();\nvar _queue = [];\nvar _queueDirty = false;\n\n// the number of loading thread\nvar _totalNum = 0;\n\n// the number of request that launched in this period\nvar _totalNumThisPeriod = 0;\n\n// last time, if now - lastTime > period, refresh _totalNumThisPeriod.\nvar _lastDate = -1;\n\n// if _totalNumThisPeriod equals max, move request to next period using setTimeOut.\nvar _checkNextPeriod = false;\n\nvar updateTime = function () {\n var now = Date.now();\n // use deltaTime as interval\n let interval = cc.director._deltaTime > downloader._maxInterval ? downloader._maxInterval : cc.director._deltaTime;\n if (now - _lastDate > interval * 1000) {\n _totalNumThisPeriod = 0;\n _lastDate = now;\n }\n};\n\n// handle the rest request in next period\nvar handleQueue = function (maxConcurrency, maxRequestsPerFrame) {\n _checkNextPeriod = false;\n updateTime();\n while (_queue.length > 0 && _totalNum < maxConcurrency && _totalNumThisPeriod < maxRequestsPerFrame) {\n if (_queueDirty) {\n _queue.sort(function (a, b) {\n return a.priority - b.priority;\n });\n _queueDirty = false;\n }\n var nextOne = _queue.pop();\n if (!nextOne) {\n break;\n }\n _totalNum++;\n _totalNumThisPeriod++;\n nextOne.invoke();\n }\n\n if (_queue.length > 0 && _totalNum < maxConcurrency) {\n callInNextTick(handleQueue, maxConcurrency, maxRequestsPerFrame);\n _checkNextPeriod = true;\n }\n}\n\n\n/**\n * !#en\n * Control all download process, it is a singleton. All member can be accessed with `cc.assetManager.downloader` , it can download several types of files:\n * 1. Text\n * 2. Image\n * 3. Audio\n * 4. Assets\n * 5. Scripts\n * \n * !#zh\n * 管理所有下载过程,downloader 是个单例,所有成员能通过 `cc.assetManager.downloader` 访问,它能下载以下几种类型的文件:\n * 1. 文本\n * 2. 图片\n * 3. 音频\n * 4. 资源\n * 5. 脚本\n * \n * @class Downloader\n */\nvar downloader = {\n\n _remoteServerAddress: '',\n _maxInterval: 1 / 30,\n \n /**\n * !#en \n * The address of remote server\n * \n * !#zh\n * 远程服务器地址\n * \n * @property remoteServerAddress\n * @type {string}\n * @default ''\n */\n get remoteServerAddress () {\n return this._remoteServerAddress;\n },\n\n /**\n * !#en \n * The maximum number of concurrent when downloading\n * \n * !#zh\n * 下载时的最大并发数\n * \n * @property maxConcurrency\n * @type {number}\n * @default 6\n */\n maxConcurrency: 6,\n\n /**\n * !#en \n * The maximum number of request can be launched per frame when downloading\n * \n * !#zh\n * 下载时每帧可以启动的最大请求数\n * \n * @property maxRequestsPerFrame\n * @type {number}\n * @default 6\n */\n maxRequestsPerFrame: 6,\n\n /**\n * !#en\n * The max number of retries when fail\n * \n * !#zh\n * 失败重试次数\n * \n * @property maxRetryCount\n * @type {Number}\n */\n maxRetryCount: 3,\n\n appendTimeStamp: false,\n\n limited: true,\n\n /**\n * !#en\n * Wait for while before another retry, unit: ms\n * \n * !#zh\n * 重试的间隔时间\n * \n * @property retryInterval\n * @type {Number}\n */\n retryInterval: 2000,\n\n bundleVers: null,\n\n /*\n * !#en\n * Use Image element to download image\n * \n * !#zh\n * 使用 Image 元素来下载图片\n * \n * @method downloadDomImage\n * @param {string} url - Url of the image\n * @param {Object} [options] - Some optional paramters\n * @param {Function} [onComplete] - Callback when image loaded or failed\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {HTMLImageElement} onComplete.img - The loaded Image element, null if error occurred\n * @returns {HTMLImageElement} The image element\n * \n * @example\n * downloadDomImage('http://example.com/test.jpg', null, (err, img) => console.log(err));\n * \n * @typescript\n * downloadDomImage(url: string, options?: Record , onComplete?: (err: Error, img: HTMLImageElement) => void): HTMLImageElement\n * downloadDomImage(url: string, onComplete?: (err: Error, img: HTMLImageElement) => void): HTMLImageElement\n */\n downloadDomImage: downloadDomImage,\n\n /*\n * !#en\n * Use audio element to download audio\n * \n * !#zh\n * 使用 Audio 元素来下载音频 \n * \n * @method downloadDomAudio\n * @param {string} url - Url of the audio\n * @param {Object} [options] - Some optional paramters\n * @param {Function} [onComplete] - Callback invoked when audio loaded or failed\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {HTMLAudioElement} onComplete.audio - The loaded audio element, null if error occurred\n * @returns {HTMLAudioElement} The audio element\n * \n * @example\n * downloadDomAudio('http://example.com/test.mp3', null, (err, audio) => console.log(err));\n * \n * @typescript\n * downloadDomAudio(url: string, options?: Record, onComplete?: (err: Error, audio: HTMLAudioElement) => void): HTMLAudioElement\n * downloadDomAudio(url: string, onComplete?: (err: Error, audio: HTMLAudioElement) => void): HTMLAudioElement\n */\n downloadDomAudio: downloadDomAudio,\n \n /*\n * !#en\n * Use XMLHttpRequest to download file\n * \n * !#zh\n * 使用 XMLHttpRequest 来下载文件\n * \n * @method downloadFile\n * @param {string} url - Url of the file\n * @param {Object} [options] - Some optional paramters\n * @param {string} [options.responseType] - Indicate which type of content should be returned\n * @param {boolean} [options.withCredentials] - Indicate whether or not cross-site Access-Contorl requests should be made using credentials\n * @param {string} [options.mimeType] - Indicate which type of content should be returned. In some browsers, responseType does't work, you can use mimeType instead\n * @param {Number} [options.timeout] - Represent the number of ms a request can take before being terminated.\n * @param {Object} [options.header] - The header should be tranferred to server\n * @param {Function} [onFileProgress] - Callback continuously during download is processing\n * @param {Number} onFileProgress.loaded - Size of downloaded content.\n * @param {Number} onFileProgress.total - Total size of content.\n * @param {Function} [onComplete] - Callback when file loaded or failed\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {*} onComplete.response - The loaded content, null if error occurred, type of content can be indicated by options.responseType\n * @returns {XMLHttpRequest} The xhr to be send\n * \n * @example\n * downloadFile('http://example.com/test.bin', {responseType: 'arraybuffer'}, null, (err, arrayBuffer) => console.log(err));\n * \n * @typescript\n * downloadFile(url: string, options?: Record, onFileProgress?: (loaded: Number, total: Number) => void, onComplete?: (err: Error, response: any) => void): XMLHttpRequest\n * downloadFile(url: string, onFileProgress?: (loaded: Number, total: Number) => void, onComplete?: (err: Error, response: any) => void): XMLHttpRequest\n * downloadFile(url: string, options?: Record, onComplete?: (err: Error, response: any) => void): XMLHttpRequest\n * downloadFile(url: string, onComplete?: (err: Error, response: any) => void): XMLHttpRequest\n */\n downloadFile: downloadFile,\n\n /*\n * !#en\n * Load script \n * \n * !#zh\n * 加载脚本\n * \n * @method downloadScript\n * @param {string} url - Url of the script\n * @param {Object} [options] - Some optional paramters\n * @param {boolean} [options.isAsync] - Indicate whether or not loading process should be async\n * @param {Function} [onComplete] - Callback when script loaded or failed\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * \n * @example\n * downloadScript('http://localhost:8080/index.js', null, (err) => console.log(err));\n * \n * @typescript\n * downloadScript(url: string, options?: Record, onComplete?: (err: Error) => void): void\n * downloadScript(url: string, onComplete?: (err: Error) => void): void\n */\n downloadScript: downloadScript,\n\n init (bundleVers, remoteServerAddress) {\n _downloading.clear();\n _queue.length = 0;\n this._remoteServerAddress = remoteServerAddress || '';\n this.bundleVers = bundleVers || Object.create(null);\n },\n\n /**\n * !#en\n * Register custom handler if you want to change default behavior or extend downloader to download other format file\n * \n * !#zh\n * 当你想修改默认行为或者拓展 downloader 来下载其他格式文件时可以注册自定义的 handler \n * \n * @method register\n * @param {string|Object} type - Extension likes '.jpg' or map likes {'.jpg': jpgHandler, '.png': pngHandler}\n * @param {Function} [handler] - handler\n * @param {string} handler.url - url\n * @param {Object} handler.options - some optional paramters will be transferred to handler.\n * @param {Function} handler.onComplete - callback when finishing downloading\n * \n * @example\n * downloader.register('.tga', (url, options, onComplete) => onComplete(null, null));\n * downloader.register({'.tga': (url, options, onComplete) => onComplete(null, null), '.ext': (url, options, onComplete) => onComplete(null, null)});\n * \n * @typescript\n * register(type: string, handler: (url: string, options: Record, onComplete: (err: Error, content: any) => void) => void): void\n * register(map: Record, onComplete: (err: Error, content: any) => void) => void>): void\n */\n register (type, handler) {\n if (typeof type === 'object') {\n js.mixin(downloaders, type);\n }\n else {\n downloaders[type] = handler;\n }\n },\n\n /**\n * !#en\n * Use corresponding handler to download file under limitation \n * \n * !#zh\n * 在限制下使用对应的 handler 来下载文件\n * \n * @method download\n * @param {string} url - The url should be downloaded\n * @param {string} type - The type indicates that which handler should be used to download, such as '.jpg'\n * @param {Object} options - some optional paramters will be transferred to the corresponding handler.\n * @param {Function} [options.onFileProgress] - progressive callback will be transferred to handler.\n * @param {Number} [options.maxRetryCount] - How many times should retry when download failed\n * @param {Number} [options.maxConcurrency] - The maximum number of concurrent when downloading\n * @param {Number} [options.maxRequestsPerFrame] - The maximum number of request can be launched per frame when downloading\n * @param {Number} [options.priority] - The priority of this url, default is 0, the greater number is higher priority.\n * @param {Function} onComplete - callback when finishing downloading\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {*} onComplete.contetnt - The downloaded file\n * \n * @example\n * download('http://example.com/test.tga', '.tga', {onFileProgress: (loaded, total) => console.lgo(loaded/total)}, onComplete: (err) => console.log(err));\n * \n * @typescript\n * download(id: string, url: string, type: string, options: Record, onComplete: (err: Error, content: any) => void): void\n */\n download (id, url, type, options, onComplete) {\n let func = downloaders[type] || downloaders['default'];\n let self = this;\n // if it is downloaded, don't download again\n let file, downloadCallbacks;\n if (file = files.get(id)) {\n onComplete(null, file);\n }\n else if (downloadCallbacks = _downloading.get(id)) {\n downloadCallbacks.push(onComplete);\n for (let i = 0, l = _queue.length; i < l; i++) {\n var item = _queue[i];\n if (item.id === id) {\n var priority = options.priority || 0;\n if (item.priority < priority) {\n item.priority = priority;\n _queueDirty = true;\n } \n return;\n }\n } \n }\n else {\n // if download fail, should retry\n var maxRetryCount = typeof options.maxRetryCount !== 'undefined' ? options.maxRetryCount : this.maxRetryCount;\n var maxConcurrency = typeof options.maxConcurrency !== 'undefined' ? options.maxConcurrency : this.maxConcurrency;\n var maxRequestsPerFrame = typeof options.maxRequestsPerFrame !== 'undefined' ? options.maxRequestsPerFrame : this.maxRequestsPerFrame;\n\n function process (index, callback) {\n if (index === 0) {\n _downloading.add(id, [onComplete]);\n }\n \n if (!self.limited) return func(urlAppendTimestamp(url), options, callback);\n\n // refresh\n updateTime();\n\n function invoke () {\n func(urlAppendTimestamp(url), options, function () {\n // when finish downloading, update _totalNum\n _totalNum--;\n if (!_checkNextPeriod && _queue.length > 0) {\n callInNextTick(handleQueue, maxConcurrency, maxRequestsPerFrame);\n _checkNextPeriod = true;\n }\n callback.apply(this, arguments);\n });\n }\n\n if (_totalNum < maxConcurrency && _totalNumThisPeriod < maxRequestsPerFrame) {\n invoke();\n _totalNum++;\n _totalNumThisPeriod++;\n }\n else {\n // when number of request up to limitation, cache the rest\n _queue.push({ id, priority: options.priority || 0, invoke });\n _queueDirty = true;\n \n if (!_checkNextPeriod && _totalNum < maxConcurrency) {\n callInNextTick(handleQueue, maxConcurrency, maxRequestsPerFrame);\n _checkNextPeriod = true;\n }\n }\n }\n\n // when retry finished, invoke callbacks\n function finale (err, result) {\n if (!err) files.add(id, result);\n var callbacks = _downloading.remove(id);\n for (let i = 0, l = callbacks.length; i < l; i++) {\n callbacks[i](err, result);\n }\n }\n \n retry(process, maxRetryCount, this.retryInterval, finale);\n }\n }\n};\n\n// dafault handler map\nvar downloaders = {\n // Images\n '.png' : downloadImage,\n '.jpg' : downloadImage,\n '.bmp' : downloadImage,\n '.jpeg' : downloadImage,\n '.gif' : downloadImage,\n '.ico' : downloadImage,\n '.tiff' : downloadImage,\n '.webp' : downloadImage,\n '.image' : downloadImage,\n '.pvr': downloadArrayBuffer,\n '.pkm': downloadArrayBuffer,\n\n // Audio\n '.mp3' : downloadAudio,\n '.ogg' : downloadAudio,\n '.wav' : downloadAudio,\n '.m4a' : downloadAudio,\n\n // Txt\n '.txt' : downloadText,\n '.xml' : downloadText,\n '.vsh' : downloadText,\n '.fsh' : downloadText,\n '.atlas' : downloadText,\n\n '.tmx' : downloadText,\n '.tsx' : downloadText,\n\n '.json' : downloadJson,\n '.ExportJson' : downloadJson,\n '.plist' : downloadText,\n\n '.fnt' : downloadText,\n\n // font\n '.font' : loadFont,\n '.eot' : loadFont,\n '.ttf' : loadFont,\n '.woff' : loadFont,\n '.svg' : loadFont,\n '.ttc' : loadFont,\n\n // Video\n '.mp4': downloadVideo,\n '.avi': downloadVideo,\n '.mov': downloadVideo,\n '.mpg': downloadVideo,\n '.mpeg': downloadVideo,\n '.rm': downloadVideo,\n '.rmvb': downloadVideo,\n\n // Binary\n '.binary' : downloadArrayBuffer,\n '.bin': downloadArrayBuffer,\n '.dbbin': downloadArrayBuffer,\n '.skel': downloadArrayBuffer,\n\n '.js': downloadScript,\n\n 'bundle': downloadBundle,\n\n 'default': downloadText\n\n};\n\ndownloader._downloaders = downloaders;\nmodule.exports = downloader;\n","/****************************************************************************\n Copyright (c) 2020 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst Bundle = require('./bundle');\nconst Cache = require('./cache');\nconst { assets, bundles } = require('./shared');\n\nconst _creating = new Cache();\n\nfunction createTexture (id, data, options, onComplete) {\n let out = null, err = null;\n try {\n out = new cc.Texture2D();\n out._nativeUrl = id;\n out._nativeAsset = data;\n }\n catch (e) {\n err = e;\n }\n onComplete && onComplete(err, out);\n}\n\nfunction createAudioClip (id, data, options, onComplete) {\n let out = new cc.AudioClip();\n out._nativeUrl = id;\n out._nativeAsset = data;\n out.duration = data.duration;\n onComplete && onComplete(null, out);\n}\n\nfunction createVideoClip (id, data, options, onComplete) {\n let out = new cc.VideoClip();\n out._nativeUrl = id;\n out._nativeAsset = data;\n onComplete && onComplete(null, out);\n}\n\nfunction createJsonAsset (id, data, options, onComplete) {\n let out = new cc.JsonAsset();\n out.json = data;\n onComplete && onComplete(null, out);\n}\n\nfunction createTextAsset (id, data, options, onComplete) {\n let out = new cc.TextAsset();\n out.text = data;\n onComplete && onComplete(null, out);\n}\n\nfunction createFont (id, data, options, onComplete) {\n let out = new cc.TTFFont();\n out._nativeUrl = id;\n out._nativeAsset = data;\n onComplete && onComplete(null, out);\n}\n\nfunction createBufferAsset (id, data, options, onComplete) {\n let out = new cc.BufferAsset();\n out._nativeUrl = id;\n out._nativeAsset = data;\n onComplete && onComplete(null, out);\n}\n\nfunction createAsset (id, data, options, onComplete) {\n let out = new cc.Asset();\n out._nativeUrl = id;\n out._nativeAsset = data;\n onComplete && onComplete(null, out);\n}\n\nfunction createBundle (id, data, options, onComplete) {\n let bundle = bundles.get(data.name);\n if (!bundle) {\n bundle = new Bundle();\n data.base = data.base || id + '/';\n bundle.init(data);\n }\n onComplete && onComplete(null, bundle);\n}\n\nconst factory = {\n\n register (type, handler) {\n if (typeof type === 'object') {\n cc.js.mixin(producers, type);\n }\n else {\n producers[type] = handler;\n }\n },\n\n create (id, data, type, options, onComplete) {\n var func = producers[type] || producers['default'];\n let asset, creating;\n if (asset = assets.get(id)) {\n onComplete(null, asset);\n }\n else if (creating = _creating.get(id)) {\n creating.push(onComplete);\n }\n else {\n _creating.add(id, [onComplete]);\n func(id, data, options, function (err, data) {\n if (!err && data instanceof cc.Asset) {\n data._uuid = id;\n assets.add(id, data);\n }\n let callbacks = _creating.remove(id);\n for (let i = 0, l = callbacks.length; i < l; i++) {\n callbacks[i](err, data);\n }\n });\n }\n }\n};\n\nconst producers = {\n // Images\n '.png' : createTexture,\n '.jpg' : createTexture,\n '.bmp' : createTexture,\n '.jpeg' : createTexture,\n '.gif' : createTexture,\n '.ico' : createTexture,\n '.tiff' : createTexture,\n '.webp' : createTexture,\n '.image' : createTexture,\n '.pvr': createTexture,\n '.pkm': createTexture,\n\n // Audio\n '.mp3' : createAudioClip,\n '.ogg' : createAudioClip,\n '.wav' : createAudioClip,\n '.m4a' : createAudioClip,\n\n // Video\n '.mp4' : createVideoClip,\n '.avi' : createVideoClip,\n '.mov' : createVideoClip,\n '.mpg' : createVideoClip,\n '.mpeg': createVideoClip,\n '.rm' : createVideoClip,\n '.rmvb': createVideoClip,\n\n // Txt\n '.txt' : createTextAsset,\n '.xml' : createTextAsset,\n '.vsh' : createTextAsset,\n '.fsh' : createTextAsset,\n '.atlas' : createTextAsset,\n\n '.tmx' : createTextAsset,\n '.tsx' : createTextAsset,\n '.fnt' : createTextAsset,\n\n '.json' : createJsonAsset,\n '.ExportJson' : createJsonAsset,\n\n // font\n '.font' : createFont,\n '.eot' : createFont,\n '.ttf' : createFont,\n '.woff' : createFont,\n '.svg' : createFont,\n '.ttc' : createFont,\n\n // Binary\n '.binary': createBufferAsset,\n '.bin': createBufferAsset,\n '.dbbin': createBufferAsset,\n '.skel': createBufferAsset,\n\n 'bundle': createBundle,\n\n 'default': createAsset\n\n};\n\nmodule.exports = factory;\n","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst packManager = require('./pack-manager');\nconst Task = require('./task');\nconst { getDepends, clear, forEach } = require('./utilities');\nconst { assets, fetchPipeline } = require('./shared');\n\nfunction fetch (task, done) {\n\n let firstTask = false;\n if (!task.progress) {\n task.progress = { finish: 0, total: task.input.length, canInvoke: true }; \n firstTask = true;\n }\n\n let options = task.options, depends = [], progress = task.progress, total = progress.total;\n options.__exclude__ = options.__exclude__ || Object.create(null);\n\n task.output = [];\n\n forEach(task.input, function (item, cb) {\n \n if (!item.isNative && assets.has(item.uuid)) {\n var asset = assets.get(item.uuid);\n asset.addRef();\n handle(item, task, asset, null, asset.__asyncLoadAssets__, depends, total, done);\n return cb();\n }\n\n packManager.load(item, task.options, function (err, data) {\n if (err) {\n if (!task.isFinish) {\n if (!cc.assetManager.force || firstTask) {\n cc.error(err.message, err.stack);\n progress.canInvoke = false;\n done(err);\n }\n else {\n handle(item, task, null, null, false, depends, total, done);\n }\n }\n }\n else {\n if (!task.isFinish) handle(item, task, null, data, !item.isNative, depends, total, done);\n }\n cb();\n });\n \n }, function () {\n\n if (task.isFinish) {\n clear(task, true);\n return task.dispatch('error');\n } \n if (depends.length > 0) {\n\n // stage 2 , download depend asset\n let subTask = Task.create({\n name: task.name + ' dependencies',\n input: depends,\n progress,\n options,\n onProgress: task.onProgress,\n onError: Task.prototype.recycle,\n onComplete: function (err) {\n if (!err) {\n task.output.push.apply(task.output, this.output);\n subTask.recycle();\n }\n if (firstTask) decreaseRef(task);\n done(err);\n },\n });\n fetchPipeline.async(subTask);\n return;\n }\n if (firstTask) decreaseRef(task);\n done();\n });\n}\n\nfunction decreaseRef (task) {\n let output = task.output;\n for (let i = 0, l = output.length; i < l; i++) {\n output[i].content && output[i].content.decRef(false);\n }\n}\n\nfunction handle (item, task, content, file, loadDepends, depends, last, done) {\n\n var exclude = task.options.__exclude__;\n var progress = task.progress;\n\n item.content = content;\n item.file = file;\n task.output.push(item);\n\n if (loadDepends) {\n exclude[item.uuid] = true;\n getDepends(item.uuid, file || content, exclude, depends, true, false, item.config);\n progress.total = last + depends.length;\n }\n\n progress.canInvoke && task.dispatch('progress', ++progress.finish, progress.total, item);\n}\n\nmodule.exports = fetch;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst textUtils = require('../utils/text-utils');\n\nlet _canvasContext = null;\n// letter symbol number CJK\nlet _testString = \"BES bswy:->@123\\u4E01\\u3041\\u1101\";\n\nlet _fontFaces = Object.create(null);\nlet _intervalId = -1;\nlet _loadingFonts = [];\n// 3 seconds timeout\nlet _timeout = 3000;\n\n// Refer to https://github.com/typekit/webfontloader/blob/master/src/core/fontwatcher.js\nlet useNativeCheck = (function () {\n var nativeCheck = undefined;\n return function () {\n if (nativeCheck === undefined) {\n if (!!window.FontFace) {\n var match = /Gecko.*Firefox\\/(\\d+)/.exec(window.navigator.userAgent);\n var safari10Match = /OS X.*Version\\/10\\..*Safari/.exec(window.navigator.userAgent) && /Apple/.exec(window.navigator.vendor);\n \n if (match) {\n nativeCheck = parseInt(match[1], 10) > 42;\n } \n else if (safari10Match) {\n nativeCheck = false;\n } \n else {\n nativeCheck = true;\n }\n \n } else {\n nativeCheck = false;\n }\n }\n\n return nativeCheck;\n \n }\n})();\n\nfunction _checkFontLoaded () {\n let allFontsLoaded = true;\n let now = Date.now();\n\n for (let i = _loadingFonts.length - 1; i >= 0; i--) {\n let fontLoadHandle = _loadingFonts[i];\n let fontFamily = fontLoadHandle.fontFamilyName;\n // load timeout\n if (now - fontLoadHandle.startTime > _timeout) {\n cc.warnID(4933, fontFamily);\n fontLoadHandle.onComplete(null, fontFamily);\n _loadingFonts.splice(i, 1);\n continue;\n }\n\n let oldWidth = fontLoadHandle.refWidth;\n let fontDesc = '40px ' + fontFamily;\n _canvasContext.font = fontDesc;\n let newWidth = textUtils.safeMeasureText(_canvasContext, _testString, fontDesc);\n // loaded successfully\n if (oldWidth !== newWidth) {\n _loadingFonts.splice(i, 1);\n fontLoadHandle.onComplete(null, fontFamily);\n }\n else {\n allFontsLoaded = false;\n }\n }\n\n if (allFontsLoaded) {\n clearInterval(_intervalId);\n _intervalId = -1;\n }\n}\n\n// refer to https://github.com/typekit/webfontloader/blob/master/src/core/nativefontwatchrunner.js\nfunction nativeCheckFontLoaded (start, font, callback) {\n var loader = new Promise(function (resolve, reject) {\n var check = function () {\n var now = Date.now();\n\n if (now - start >= _timeout) {\n reject();\n } \n else {\n document.fonts.load('40px ' + font).then(function (fonts) {\n if (fonts.length >= 1) {\n resolve();\n } \n else {\n setTimeout(check, 100);\n }\n }, function () {\n reject();\n });\n }\n };\n\n check();\n });\n \n var timeoutId = null,\n timer = new Promise(function (resolve, reject) {\n timeoutId = setTimeout(reject, _timeout);\n });\n \n Promise.race([timer, loader]).then(function () {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n \n callback(null, font);\n }, function () {\n cc.warnID(4933, font);\n callback(null, font);\n });\n}\n\nvar fontLoader = {\n loadFont: function (url, options, onComplete) {\n let fontFamilyName = fontLoader._getFontFamily(url);\n\n // Already loaded fonts\n if (_fontFaces[fontFamilyName]) {\n return onComplete(null, fontFamilyName);\n }\n\n if (!_canvasContext) {\n let labelCanvas = document.createElement('canvas');\n labelCanvas.width = 100;\n labelCanvas.height = 100;\n _canvasContext = labelCanvas.getContext('2d');\n }\n \n // Default width reference to test whether new font is loaded correctly\n let fontDesc = '40px ' + fontFamilyName;\n _canvasContext.font = fontDesc;\n let refWidth = textUtils.safeMeasureText(_canvasContext, _testString, fontDesc);\n\n // Setup font face style\n let fontStyle = document.createElement(\"style\");\n fontStyle.type = \"text/css\";\n let fontStr = \"\";\n if (isNaN(fontFamilyName - 0))\n fontStr += \"@font-face { font-family:\" + fontFamilyName + \"; src:\";\n else\n fontStr += \"@font-face { font-family:'\" + fontFamilyName + \"'; src:\";\n fontStr += \"url('\" + url + \"');\";\n fontStyle.textContent = fontStr + \"}\";\n document.body.appendChild(fontStyle);\n\n // Preload font with div\n let preloadDiv = document.createElement(\"div\");\n let divStyle = preloadDiv.style;\n divStyle.fontFamily = fontFamilyName;\n preloadDiv.innerHTML = \".\";\n divStyle.position = \"absolute\";\n divStyle.left = \"-100px\";\n divStyle.top = \"-100px\";\n document.body.appendChild(preloadDiv);\n\n if (useNativeCheck()) {\n nativeCheckFontLoaded(Date.now(), fontFamilyName, onComplete);\n }\n else {\n // Save loading font\n let fontLoadHandle = {\n fontFamilyName,\n refWidth,\n onComplete,\n startTime: Date.now()\n }\n _loadingFonts.push(fontLoadHandle);\n if (_intervalId === -1) {\n _intervalId = setInterval(_checkFontLoaded, 100);\n }\n }\n _fontFaces[fontFamilyName] = fontStyle;\n },\n\n _getFontFamily: function (fontHandle) {\n var ttfIndex = fontHandle.lastIndexOf(\".ttf\");\n if (ttfIndex === -1) return fontHandle;\n\n var slashPos = fontHandle.lastIndexOf(\"/\");\n var fontFamilyName;\n if (slashPos === -1) {\n fontFamilyName = fontHandle.substring(0, ttfIndex) + \"_LABEL\";\n } else {\n fontFamilyName = fontHandle.substring(slashPos + 1, ttfIndex) + \"_LABEL\";\n }\n if (fontFamilyName.indexOf(' ') !== -1) {\n fontFamilyName = '\"' + fontFamilyName + '\"';\n }\n return fontFamilyName;\n }\n};\n\nmodule.exports = fontLoader","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst { bundles } = require('./shared');\n/**\n * @module cc.AssetManager\n */\n/**\n * !#en\n * Provide some helpful function, it is a singleton. All member can be accessed with `cc.assetManager.utils`\n * \n * !#zh\n * 提供一些辅助方法,helper 是一个单例, 所有成员能通过 `cc.assetManager.utils` 访问\n * \n * @class Helper\n */\nvar helper = {\n /**\n * !#en\n * Decode uuid, returns the original uuid\n * \n * !#zh\n * 解码 uuid,返回原始 uuid\n * \n * @method decodeUuid\n * @param {String} base64 - the encoded uuid\n * @returns {String} the original uuid \n * \n * @example\n * var uuid = 'fcmR3XADNLgJ1ByKhqcC5Z';\n * var originalUuid = decodeUuid(uuid); // fc991dd7-0033-4b80-9d41-c8a86a702e59\n * \n * @typescript\n * decodeUuid(base64: string): string\n */\n decodeUuid: require('../utils/decode-uuid'),\n\n /**\n * !#en\n * Extract uuid from url\n * \n * !#zh\n * 从 url 中提取 uuid\n * \n * @method getUuidFromURL\n * @param {String} url - url\n * @returns {String} the uuid parsed from url\n * \n * @example\n * var url = 'assets/main/import/fc/fc991dd7-0033-4b80-9d41-c8a86a702e59.json';\n * var uuid = getUuidFromURL(url); // fc991dd7-0033-4b80-9d41-c8a86a702e59\n * \n * @typescript\n * getUuidFromURL(url: string): string\n */\n getUuidFromURL: (function () {\n var _uuidRegex = /.*[/\\\\][0-9a-fA-F]{2}[/\\\\]([0-9a-fA-F-]{8,})/;\n return function (url) {\n var matches = url.match(_uuidRegex);\n if (matches) {\n return matches[1];\n }\n return '';\n }\n })(),\n\n /**\n * !#en\n * Transform uuid to url\n * \n * !#zh\n * 转换 uuid 为 url\n * \n * @method getUrlWithUuid\n * @param {string} uuid - The uuid of asset\n * @param {Object} [options] - Some optional parameters\n * @param {Boolean} [options.isNative] - Indicates whether the path you want is a native resource path\n * @param {string} [options.nativeExt] - Extension of the native resource path, it is required when isNative is true\n * @returns {string} url\n * \n * @example\n * // json path, 'assets/main/import/fc/fc991dd7-0033-4b80-9d41-c8a86a702e59.json';\n * var url = getUrlWithUuid('fcmR3XADNLgJ1ByKhqcC5Z', {isNative: false});\n * \n * // png path, 'assets/main/native/fc/fc991dd7-0033-4b80-9d41-c8a86a702e59.png';\n * var url = getUrlWithUuid('fcmR3XADNLgJ1ByKhqcC5Z', {isNative: true, nativeExt: '.png'});\n * \n * @typescript\n * getUrlWithUuid(uuid: string, options?: Record): string\n */\n getUrlWithUuid: function (uuid, options) {\n options = options || Object.create(null);\n options.__isNative__ = options.isNative;\n options.ext = options.nativeExt;\n var bundle = bundles.find(function (bundle) {\n return bundle.getAssetInfo(uuid);\n });\n\n if (bundle) {\n options.bundle = bundle.name;\n }\n\n return cc.assetManager._transform(uuid, options);\n },\n\n /**\n * !#en\n * Check if the type of asset is scene\n * \n * !#zh\n * 检查资源类型是否是场景\n * \n * @method isScene\n * @param {*} asset - asset\n * @returns {boolean} - whether or not type is cc.SceneAsset\n * \n * @typescript\n * isScene(asset: any): boolean\n */\n isScene: function (asset) {\n return asset && (asset.constructor === cc.SceneAsset || asset instanceof cc.Scene);\n },\n\n /**\n * !#en\n * Normalize url, strip './' and '/'\n * \n * !#zh\n * 标准化 url ,去除 './' 和 '/' \n * \n * @method normalize\n * @param {string} url - url\n * @returns {string} - The normalized url\n * \n * @typescript\n * normalize(url: string): string\n */\n normalize: function (url) {\n if (url) {\n if (url.charCodeAt(0) === 46 && url.charCodeAt(1) === 47) {\n // strip './'\n url = url.slice(2);\n }\n else if (url.charCodeAt(0) === 47) {\n // strip '/'\n url = url.slice(1);\n }\n }\n return url;\n }\n};\n\nmodule.exports = helper;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nrequire('./deprecated');\nrequire('./CCAssetManager');\n\n","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst packManager = require('./pack-manager');\nconst Pipeline = require('./pipeline');\nconst parser = require('./parser');\nconst { getDepends, cache, gatherAsset, setProperties, forEach, clear, checkCircleReference } = require('./utilities');\nconst { assets, files, parsed, pipeline } = require('./shared');\nconst Task = require('./task');\n\nfunction load (task, done) {\n\n let firstTask = false;\n if (!task.progress) {\n task.progress = { finish: 0, total: task.input.length, canInvoke: true };\n firstTask = true;\n }\n \n var options = task.options, progress = task.progress;\n\n options.__exclude__ = options.__exclude__ || Object.create(null);\n\n task.output = [];\n \n forEach(task.input, function (item, cb) {\n\n let subTask = Task.create({ \n input: item, \n onProgress: task.onProgress, \n options, \n progress, \n onComplete: function (err, item) {\n if (err && !task.isFinish) {\n if (!cc.assetManager.force || firstTask) {\n if (!CC_EDITOR) {\n cc.error(err.message, err.stack);\n }\n progress.canInvoke = false;\n done(err);\n }\n else {\n progress.canInvoke && task.dispatch('progress', ++progress.finish, progress.total, item);\n }\n }\n task.output.push(item);\n subTask.recycle();\n cb();\n }\n });\n\n loadOneAssetPipeline.async(subTask);\n\n }, function () {\n\n options.__exclude__ = null;\n\n if (task.isFinish) {\n clear(task, true);\n return task.dispatch('error');\n }\n\n gatherAsset(task);\n clear(task, true);\n done();\n });\n}\n\nvar loadOneAssetPipeline = new Pipeline('loadOneAsset', [\n\n function fetch (task, done) {\n var item = task.output = task.input;\n var { options, isNative, uuid, file } = item;\n var { reload } = options;\n\n if (file || (!reload && !isNative && assets.has(uuid))) return done();\n\n packManager.load(item, task.options, function (err, data) {\n item.file = data;\n done(err);\n });\n },\n\n function parse (task, done) {\n\n var item = task.output = task.input, progress = task.progress, exclude = task.options.__exclude__;\n var { id, file, options } = item;\n\n if (item.isNative) {\n parser.parse(id, file, item.ext, options, function (err, asset) {\n if (err) return done(err);\n item.content = asset;\n progress.canInvoke && task.dispatch('progress', ++progress.finish, progress.total, item);\n files.remove(id);\n parsed.remove(id);\n done();\n });\n }\n else {\n var { uuid } = item;\n if (uuid in exclude) {\n \n var { finish, content, err, callbacks } = exclude[uuid];\n progress.canInvoke && task.dispatch('progress', ++progress.finish, progress.total, item);\n \n if (finish || checkCircleReference(uuid, uuid, exclude) ) {\n content && content.addRef && content.addRef();\n item.content = content;\n done(err);\n }\n else {\n callbacks.push({ done, item });\n }\n }\n else {\n if (!options.reload && assets.has(uuid)) {\n var asset = assets.get(uuid);\n if (options.__asyncLoadAssets__ || !asset.__asyncLoadAssets__) {\n item.content = asset.addRef();\n progress.canInvoke && task.dispatch('progress', ++progress.finish, progress.total, item);\n done();\n }\n else {\n loadDepends(task, asset, done, false);\n }\n }\n else {\n parser.parse(id, file, 'import', options, function (err, asset) {\n if (err) return done(err);\n asset._uuid = uuid;\n loadDepends(task, asset, done, true);\n });\n }\n }\n }\n }\n]);\n\nfunction loadDepends (task, asset, done, init) {\n\n var item = task.input, progress = task.progress;\n var { uuid, id, options, config } = item;\n var { __asyncLoadAssets__, cacheAsset } = options;\n\n var depends = [];\n // add reference avoid being released during loading dependencies\n asset.addRef && asset.addRef();\n getDepends(uuid, asset, Object.create(null), depends, false, __asyncLoadAssets__, config);\n progress.canInvoke && task.dispatch('progress', ++progress.finish, progress.total += depends.length, item);\n\n var repeatItem = task.options.__exclude__[uuid] = { content: asset, finish: false, callbacks: [{ done, item }] };\n\n let subTask = Task.create({ \n input: depends, \n options: task.options, \n onProgress: task.onProgress, \n onError: Task.prototype.recycle, \n progress, \n onComplete: function (err) {\n asset.decRef && asset.decRef(false);\n asset.__asyncLoadAssets__ = __asyncLoadAssets__;\n repeatItem.finish = true;\n repeatItem.err = err;\n\n if (!err) {\n\n var assets = Array.isArray(subTask.output) ? subTask.output : [subTask.output];\n var map = Object.create(null);\n for (let i = 0, l = assets.length; i < l; i++) {\n var dependAsset = assets[i];\n dependAsset && (map[dependAsset instanceof cc.Asset ? dependAsset._uuid + '@import' : uuid + '@native'] = dependAsset);\n }\n\n if (!init) {\n if (asset.__nativeDepend__ && !asset._nativeAsset) {\n var missingAsset = setProperties(uuid, asset, map);\n if (!missingAsset && !asset.__onLoadInvoked__) {\n try {\n asset.onLoad && asset.onLoad();\n asset.__onLoadInvoked__ = true;\n }\n catch (e) {\n cc.error(e.message, e.stack);\n }\n }\n }\n }\n else {\n var missingAsset = setProperties(uuid, asset, map);\n if (!missingAsset && !asset.__onLoadInvoked__) {\n try {\n asset.onLoad && asset.onLoad();\n asset.__onLoadInvoked__ = true;\n }\n catch (e) {\n cc.error(e.message, e.stack);\n }\n }\n files.remove(id);\n parsed.remove(id);\n cache(uuid, asset, cacheAsset !== undefined ? cacheAsset : cc.assetManager.cacheAsset); \n }\n subTask.recycle();\n }\n \n var callbacks = repeatItem.callbacks;\n\n for (var i = 0, l = callbacks.length; i < l; i++) {\n\n var cb = callbacks[i];\n asset.addRef && asset.addRef();\n cb.item.content = asset;\n cb.done(err);\n\n }\n\n callbacks.length = 0;\n }\n });\n\n pipeline.async(subTask);\n}\n\nmodule.exports = load;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nimport { unpackJSONs, packCustomObjData } from '../platform/deserialize-compiled';\n\nconst downloader = require('./downloader');\nconst Cache = require('./cache');\nconst js = require('../platform/js');\nconst { files } = require('./shared');\n\nvar _loading = new Cache();\n\nfunction isLoading (val) {\n return _loading.has(val.uuid);\n}\n\n\n/**\n * @module cc.AssetManager\n */\n/**\n * !#en\n * Handle the packed asset, include unpacking, loading, cache and so on. It is a singleton. All member can be accessed with `cc.assetManager.packManager`\n * \n * !#zh\n * 处理打包资源,包括拆包,加载,缓存等等,这是一个单例, 所有成员能通过 `cc.assetManager.packManager` 访问\n * \n * @class PackManager\n */\nvar packManager = {\n\n /**\n * !#en\n * Unpack the json, revert to what it was before packing\n * \n * !#zh\n * 拆解 json 包,恢复为打包之前的内容\n * \n * @method unpackJson\n * @param {String[]} pack - The pack\n * @param {Object} json - The content of pack\n * @param {Object} options - Some optional parameters\n * @param {Function} onComplete - Callback when finish unpacking\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {Object} onComplete.content - The unpacked assets\n * \n * @example\n * downloader.downloadFile('pack.json', {responseType: 'json'}, null, (err, file) => {\n * packManager.unpackJson(['a', 'b'], file, null, (err, data) => console.log(err));\n * });\n * \n * @typescript\n * unpackJson(pack: string[], json: any, options: Record, onComplete?: (err: Error, content: any) => void): void\n */\n unpackJson (pack, json, options, onComplete) {\n\n var out = js.createMap(true), err = null;\n \n if (Array.isArray(json)) {\n\n json = unpackJSONs(json);\n\n if (json.length !== pack.length) {\n cc.errorID(4915);\n }\n for (let i = 0; i < pack.length; i++) {\n var key = pack[i] + '@import';\n out[key] = json[i];\n }\n }\n else {\n const textureType = js._getClassId(cc.Texture2D);\n if (json.type === textureType) {\n if (json.data) {\n var datas = json.data.split('|');\n if (datas.length !== pack.length) {\n cc.errorID(4915);\n }\n for (let i = 0; i < pack.length; i++) {\n out[pack[i] + '@import'] = packCustomObjData(textureType, datas[i], true);\n }\n }\n }\n else {\n err = new Error('unmatched type pack!');\n out = null;\n }\n }\n onComplete && onComplete(err, out);\n },\n\n init () {\n _loading.clear();\n },\n\n /**\n * !#en\n * Register custom handler if you want to change default behavior or extend packManager to unpack other format pack\n * \n * !#zh\n * 当你想修改默认行为或者拓展 packManager 来拆分其他格式的包时可以注册自定义的 handler\n * \n * @method register\n * @param {string|Object} type - Extension likes '.bin' or map likes {'.bin': binHandler, '.ab': abHandler}\n * @param {Function} [handler] - handler\n * @param {string} handler.packUuid - The uuid of pack\n * @param {*} handler.data - The content of pack\n * @param {Object} handler.options - Some optional parameters\n * @param {Function} handler.onComplete - Callback when finishing unpacking\n * \n * @example\n * packManager.register('.bin', (packUuid, file, options, onComplete) => onComplete(null, null));\n * packManager.register({'.bin': (packUuid, file, options, onComplete) => onComplete(null, null), '.ab': (packUuid, file, options, onComplete) => onComplete(null, null)});\n * \n * @typescript\n * register(type: string, handler: (packUuid: string, data: any, options: Record, onComplete: (err: Error, content: any) => void) => void): void\n * register(map: Record, onComplete: (err: Error, content: any) => void) => void>): void\n */\n register (type, handler) {\n if (typeof type === 'object') {\n js.mixin(unpackers, type);\n }\n else {\n unpackers[type] = handler;\n }\n },\n \n /**\n * !#en\n * Use corresponding handler to unpack package\n * \n * !#zh\n * 用对应的 handler 来进行解包 \n * \n * @method unpack\n * @param {String[]} pack - The uuid of packed assets \n * @param {*} data - The packed data\n * @param {string} type - The type indicates that which handler should be used to download, such as '.jpg'\n * @param {Object} options - Some optional parameter\n * @param {Function} onComplete - callback when finishing unpacking\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {*} onComplete.data - Original assets\n * \n * @example\n * downloader.downloadFile('pack.json', {responseType: 'json'}, null, (err, file) => {\n * packManager.unpack(['2fawq123d', '1zsweq23f'], file, '.json', null, (err, data) => console.log(err));\n * });\n * \n * @typescript\n * unpack(pack: string[], data: any, type: string, options: Record, onComplete?: (err: Error, data: any) => void): void\n */\n unpack (pack, data, type, options, onComplete) {\n if (!data) {\n onComplete && onComplete(new Error('package data is wrong!'));\n return;\n }\n var unpacker = unpackers[type];\n unpacker(pack, data, options, onComplete);\n },\n\n /**\n * !#en\n * Download request item, If item is not in any package, download as usual. Otherwise, download the corresponding package and unpack it. \n * And then retrieve the corresponding content form it.\n * \n * !#zh\n * 下载请求对象,如果请求对象不在任何包内,则正常下载,否则下载对应的 package 并进行拆解,并取回包内对应的内容\n * \n * @method load\n * @param {RequestItem} item - Some item you want to download\n * @param {Object} options - Some optional parameters\n * @param {Function} onComplete - Callback when finished\n * @param {Err} onComplete.err - The occurred error, null indicetes success\n * @param {*} onComplete.data - The unpacked data retrieved from package\n * \n * @example\n * var requestItem = cc.AssetManager.RequestItem.create();\n * requestItem.uuid = 'fcmR3XADNLgJ1ByKhqcC5Z';\n * requestItem.info = config.getAssetInfo('fcmR3XADNLgJ1ByKhqcC5Z');\n * packManager.load(requestItem, null, (err, data) => console.log(err));\n * \n * @typescript\n * load(item: RequestItem, options: Record, onComplete: (err: Error, data: any) => void): void\n * \n */\n load (item, options, onComplete) {\n // if not in any package, download as uausl\n if (item.isNative || !item.info || !item.info.packs) return downloader.download(item.id, item.url, item.ext, item.options, onComplete);\n\n if (files.has(item.id)) return onComplete(null, files.get(item.id));\n\n var packs = item.info.packs;\n\n // find a loading package\n var pack = packs.find(isLoading);\n \n if (pack) return _loading.get(pack.uuid).push({ onComplete, id: item.id });\n\n // download a new package\n pack = packs[0];\n _loading.add(pack.uuid, [{ onComplete, id: item.id }]);\n\n let url = cc.assetManager._transform(pack.uuid, {ext: pack.ext, bundle: item.config.name});\n\n downloader.download(pack.uuid, url, pack.ext, item.options, function (err, data) {\n files.remove(pack.uuid);\n if (err) {\n cc.error(err.message, err.stack);\n }\n // unpack package\n packManager.unpack(pack.packs, data, pack.ext, item.options, function (err, result) {\n if (!err) {\n for (var id in result) {\n files.add(id, result[id]);\n }\n } else {\n err.message = `unpack ${url} failed! details: ${err.message}`;\n }\n var callbacks = _loading.remove(pack.uuid);\n for (var i = 0, l = callbacks.length; i < l; i++) {\n var cb = callbacks[i];\n if (err) {\n cb.onComplete(err);\n continue;\n }\n\n var data = result[cb.id];\n if (!data) {\n cb.onComplete(new Error('can not retrieve data from package'));\n }\n else {\n cb.onComplete(null, data);\n }\n }\n });\n });\n }\n};\n\nvar unpackers = {\n '.json': packManager.unpackJson\n};\n\nmodule.exports = packManager;\n","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n/**\n * @module cc.AssetManager\n */\n\nconst plistParser = require('../platform/CCSAXParser').plistParser;\nconst js = require('../platform/js');\nconst deserialize = require('./deserialize');\nconst Cache = require('./cache');\nconst { isScene } = require('./helper');\nconst { parsed, files } = require('./shared');\nconst { __audioSupport, capabilities } = require('../platform/CCSys');\n\nvar _parsing = new Cache();\n\n/**\n * !#en\n * Parse the downloaded file, it's a singleton, all member can be accessed with `cc.assetManager.parser`\n * \n * !#zh\n * 解析已下载的文件,parser 是一个单例, 所有成员能通过 `cc.assetManaager.parser` 访问\n * \n * @class Parser\n */\nvar parser = {\n /*\n * !#en\n * Parse image file\n * \n * !#zh\n * 解析图片文件\n * \n * @method parseImage\n * @param {Blob} file - The downloaded file\n * @param {Object} options - Some optional paramters \n * @param {Function} [onComplete] - callback when finish parsing.\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {ImageBitmap|HTMLImageElement} onComplete.img - The parsed content\n * \n * @example\n * downloader.downloadFile('test.jpg', {responseType: 'blob'}, null, (err, file) => {\n * parser.parseImage(file, null, (err, img) => console.log(err));\n * });\n * \n * @typescript\n * parseImage(file: Blob, options: Record, onComplete?: (err: Error, img: ImageBitmap|HTMLImageElement) => void): void\n */\n parseImage (file, options, onComplete) {\n if (capabilities.imageBitmap && file instanceof Blob) {\n let imageOptions = {};\n imageOptions.imageOrientation = options.__flipY__ ? 'flipY' : 'none';\n imageOptions.premultiplyAlpha = options.__premultiplyAlpha__ ? 'premultiply' : 'none';\n createImageBitmap(file, imageOptions).then(function (result) {\n result.flipY = !!options.__flipY__;\n result.premultiplyAlpha = !!options.__premultiplyAlpha__;\n onComplete && onComplete(null, result);\n }, function (err) {\n onComplete && onComplete(err, null);\n });\n }\n else {\n onComplete && onComplete(null, file);\n }\n },\n\n /*\n * !#en\n * Parse audio file\n * \n * !#zh\n * 解析音频文件\n * \n * @method parseAudio\n * @param {ArrayBuffer|HTMLAudioElement} file - The downloaded file\n * @param {Object} options - Some optional paramters\n * @param {Function} onComplete - Callback when finish parsing.\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {AudioBuffer|HTMLAudioElement} onComplete.audio - The parsed content\n * \n * @example\n * downloader.downloadFile('test.mp3', {responseType: 'arraybuffer'}, null, (err, file) => {\n * parser.parseAudio(file, null, (err, audio) => console.log(err));\n * });\n * \n * @typescript\n * parseAudio(file: ArrayBuffer|HTMLAudioElement, options: Record, onComplete?: (err: Error, audio: AudioBuffer|HTMLAudioElement) => void): void\n */\n parseAudio (file, options, onComplete) {\n if (file instanceof ArrayBuffer) { \n __audioSupport.context.decodeAudioData(file, function (buffer) {\n onComplete && onComplete(null, buffer);\n }, function(e){\n onComplete && onComplete(e, null);\n });\n }\n else {\n onComplete && onComplete(null, file);\n }\n },\n\n /*\n * !#en\n * Parse pvr file \n * \n * !#zh\n * 解析压缩纹理格式 pvr 文件\n * \n * @method parsePVRTex\n * @param {ArrayBuffer|ArrayBufferView} file - The downloaded file\n * @param {Object} options - Some optional paramters\n * @param {Function} onComplete - Callback when finish parsing.\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {Object} onComplete.pvrAsset - The parsed content\n * \n * @example\n * downloader.downloadFile('test.pvr', {responseType: 'arraybuffer'}, null, (err, file) => {\n * parser.parsePVRTex(file, null, (err, pvrAsset) => console.log(err));\n * });\n * \n * @typescript\n * parsePVRTex(file: ArrayBuffer|ArrayBufferView, options: Record, onComplete: (err: Error, pvrAsset: {_data: Uint8Array, _compressed: boolean, width: number, height: number}) => void): void\n */\n parsePVRTex : (function () {\n //===============//\n // PVR constants //\n //===============//\n // https://github.com/toji/texture-tester/blob/master/js/webgl-texture-util.js#L424\n const PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints.\n const PVR_MAGIC = 0x03525650; //0x50565203;\n \n // Offsets into the header array.\n const PVR_HEADER_MAGIC = 0;\n const PVR_HEADER_FORMAT = 2;\n const PVR_HEADER_HEIGHT = 6;\n const PVR_HEADER_WIDTH = 7;\n const PVR_HEADER_MIPMAPCOUNT = 11;\n const PVR_HEADER_METADATA = 12;\n \n return function (file, options, onComplete) {\n let err = null, out = null;\n try {\n let buffer = file instanceof ArrayBuffer ? file : file.buffer;\n // Get a view of the arrayBuffer that represents the DDS header.\n let header = new Int32Array(buffer, 0, PVR_HEADER_LENGTH);\n \n // Do some sanity checks to make sure this is a valid DDS file.\n if(header[PVR_HEADER_MAGIC] != PVR_MAGIC) {\n throw new Error(\"Invalid magic number in PVR header\");\n }\n \n // Gather other basic metrics and a view of the raw the DXT data.\n let width = header[PVR_HEADER_WIDTH];\n let height = header[PVR_HEADER_HEIGHT];\n let dataOffset = header[PVR_HEADER_METADATA] + 52;\n let pvrtcData = new Uint8Array(buffer, dataOffset);\n \n out = {\n _data: pvrtcData,\n _compressed: true,\n width: width,\n height: height,\n };\n \n }\n catch (e) {\n err = e;\n }\n onComplete && onComplete(err, out);\n };\n })(),\n\n /*\n * !#en\n * Parse pkm file\n * \n * !#zh\n * 解析压缩纹理格式 pkm 文件\n * \n * @method parsePKMTex\n * @param {ArrayBuffer|ArrayBufferView} file - The downloaded file\n * @param {Object} options - Some optional paramters\n * @param {Function} onComplete - Callback when finish parsing.\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {Object} onComplete.etcAsset - The parsed content\n * \n * @example\n * downloader.downloadFile('test.pkm', {responseType: 'arraybuffer'}, null, (err, file) => {\n * parser.parsePKMTex(file, null, (err, etcAsset) => console.log(err));\n * });\n * \n * @typescript\n * parsePKMTex(file: ArrayBuffer|ArrayBufferView, options: Record, onComplete: (err: Error, etcAsset: {_data: Uint8Array, _compressed: boolean, width: number, height: number}) => void): void\n */\n parsePKMTex: (function () {\n //===============//\n // ETC constants //\n //===============//\n const ETC_PKM_HEADER_SIZE = 16;\n\n const ETC_PKM_FORMAT_OFFSET = 6;\n const ETC_PKM_ENCODED_WIDTH_OFFSET = 8;\n const ETC_PKM_ENCODED_HEIGHT_OFFSET = 10;\n const ETC_PKM_WIDTH_OFFSET = 12;\n const ETC_PKM_HEIGHT_OFFSET = 14;\n\n const ETC1_RGB_NO_MIPMAPS = 0;\n const ETC2_RGB_NO_MIPMAPS = 1;\n const ETC2_RGBA_NO_MIPMAPS = 3;\n\n function readBEUint16(header, offset) {\n return (header[offset] << 8) | header[offset+1];\n }\n return function (file, options, onComplete) {\n let err = null, out = null;\n try {\n let buffer = file instanceof ArrayBuffer ? file : file.buffer;\n let header = new Uint8Array(buffer);\n let format = readBEUint16(header, ETC_PKM_FORMAT_OFFSET);\n if (format !== ETC1_RGB_NO_MIPMAPS && format !== ETC2_RGB_NO_MIPMAPS && format !== ETC2_RGBA_NO_MIPMAPS) {\n return new Error(\"Invalid magic number in ETC header\");\n }\n let width = readBEUint16(header, ETC_PKM_WIDTH_OFFSET);\n let height = readBEUint16(header, ETC_PKM_HEIGHT_OFFSET);\n let encodedWidth = readBEUint16(header, ETC_PKM_ENCODED_WIDTH_OFFSET);\n let encodedHeight = readBEUint16(header, ETC_PKM_ENCODED_HEIGHT_OFFSET);\n let etcData = new Uint8Array(buffer, ETC_PKM_HEADER_SIZE);\n out = {\n _data: etcData,\n _compressed: true,\n width: width,\n height: height\n };\n \n }\n catch (e) {\n err = e;\n }\n onComplete && onComplete(err, out);\n }\n })(),\n\n /*\n * !#en\n * Parse plist file\n * \n * !#zh\n * 解析 plist 文件\n * \n * @method parsePlist\n * @param {string} file - The downloaded file\n * @param {Object} options - Some optional paramters\n * @param {Function} onComplete - Callback when finish parsing\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {*} onComplete.data - The parsed content\n * \n * @example\n * downloader.downloadFile('test.plist', {responseType: 'text'}, null, (err, file) => {\n * parser.parsePlist(file, null, (err, data) => console.log(err));\n * });\n * \n * @typescript\n * parsePlist(file: string, options: Record, onComplete?: (err: Error, data: any) => void): void\n */\n parsePlist (file, options, onComplete) {\n var err = null;\n var result = plistParser.parse(file);\n if (!result) err = new Error('parse failed');\n onComplete && onComplete(err, result);\n },\n\n /*\n * !#en\n * Deserialize asset file\n * \n * !#zh\n * 反序列化资源文件\n * \n * @method parseImport\n * @param {Object} file - The serialized json\n * @param {Object} options - Some optional paramters\n * @param {Function} onComplete - Callback when finish parsing\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {Asset} onComplete.asset - The parsed content\n * \n * @example\n * downloader.downloadFile('test.json', {responseType: 'json'}, null, (err, file) => {\n * parser.parseImport(file, null, (err, data) => console.log(err));\n * });\n * \n * @typescript\n * parseImport (file: any, options: Record, onComplete?: (err: Error, asset: cc.Asset) => void): void\n */\n parseImport (file, options, onComplete) {\n if (!file) return onComplete && onComplete(new Error('Json is empty'));\n var result, err = null;\n try {\n result = deserialize(file, options);\n }\n catch (e) {\n err = e;\n }\n onComplete && onComplete(err, result);\n },\n\n init () {\n _parsing.clear();\n },\n\n /**\n * !#en\n * Register custom handler if you want to change default behavior or extend parser to parse other format file\n * \n * !#zh\n * 当你想修改默认行为或者拓展 parser 来解析其他格式文件时可以注册自定义的handler\n * \n * @method register\n * @param {string|Object} type - Extension likes '.jpg' or map likes {'.jpg': jpgHandler, '.png': pngHandler}\n * @param {Function} [handler] - The corresponding handler\n * @param {*} handler.file - File\n * @param {Object} handler.options - Some optional paramter\n * @param {Function} handler.onComplete - callback when finishing parsing\n * \n * @example\n * parser.register('.tga', (file, options, onComplete) => onComplete(null, null));\n * parser.register({'.tga': (file, options, onComplete) => onComplete(null, null), '.ext': (file, options, onComplete) => onComplete(null, null)});\n * \n * @typescript\n * register(type: string, handler: (file: any, options: Record, onComplete: (err: Error, data: any) => void) => void): void\n * register(map: Record, onComplete: (err: Error, data: any) => void) => void>): void\n */\n register (type, handler) {\n if (typeof type === 'object') {\n js.mixin(parsers, type);\n }\n else {\n parsers[type] = handler;\n }\n },\n\n /**\n * !#en\n * Use corresponding handler to parse file \n * \n * !#zh\n * 使用对应的handler来解析文件\n * \n * @method parse\n * @param {string} id - The id of file\n * @param {*} file - File\n * @param {string} type - The corresponding type of file, likes '.jpg'.\n * @param {Object} options - Some optional paramters will be transferred to the corresponding handler.\n * @param {Function} onComplete - callback when finishing downloading\n * @param {Error} onComplete.err - The occurred error, null indicetes success\n * @param {*} onComplete.contetnt - The parsed file\n * \n * @example\n * downloader.downloadFile('test.jpg', {responseType: 'blob'}, null, (err, file) => {\n * parser.parse('test.jpg', file, '.jpg', null, (err, img) => console.log(err));\n * });\n * \n * @typescript\n * parse(id: string, file: any, type: string, options: Record, onComplete: (err: Error, content: any) => void): void\n */\n parse (id, file, type, options, onComplete) {\n let parsedAsset, parsing, parseHandler;\n if (parsedAsset = parsed.get(id)) {\n onComplete(null, parsedAsset);\n }\n else if (parsing = _parsing.get(id)){\n parsing.push(onComplete);\n }\n else if (parseHandler = parsers[type]){\n _parsing.add(id, [onComplete]);\n parseHandler(file, options, function (err, data) {\n if (err) {\n files.remove(id);\n } \n else if (!isScene(data)){\n parsed.add(id, data);\n }\n let callbacks = _parsing.remove(id);\n for (let i = 0, l = callbacks.length; i < l; i++) {\n callbacks[i](err, data);\n }\n });\n }\n else {\n onComplete(null, file);\n }\n }\n};\n\nvar parsers = {\n '.png' : parser.parseImage,\n '.jpg' : parser.parseImage,\n '.bmp' : parser.parseImage,\n '.jpeg' : parser.parseImage,\n '.gif' : parser.parseImage,\n '.ico' : parser.parseImage,\n '.tiff' : parser.parseImage,\n '.webp' : parser.parseImage,\n '.image' : parser.parseImage,\n '.pvr' : parser.parsePVRTex,\n '.pkm' : parser.parsePKMTex,\n // Audio\n '.mp3' : parser.parseAudio,\n '.ogg' : parser.parseAudio,\n '.wav' : parser.parseAudio,\n '.m4a' : parser.parseAudio,\n\n // plist\n '.plist' : parser.parsePlist,\n 'import' : parser.parseImport\n};\n\nmodule.exports = parser;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n/**\n * @module cc.AssetManager\n */\n\nconst Task = require('./task');\n\nvar _pipelineId = 0;\n/**\n * !#en\n * Pipeline can execute the task for some effect.\n * \n * !#zh\n * 管线能执行任务达到某个效果\n * \n * @class Pipeline\n */\nfunction Pipeline (name, funcs) {\n if (!Array.isArray(funcs)) {\n cc.warn('funcs must be an array');\n return;\n } \n \n /**\n * !#en\n * The id of pipeline\n * \n * !#zh\n * 管线的 id\n * \n * @property id\n * @type {Number}\n */\n this.id = _pipelineId++;\n\n /**\n * !#en\n * The name of pipeline\n * \n * !#zh\n * 管线的名字\n * \n * @property name\n * @type {String}\n */\n this.name = name;\n\n /**\n * !#en\n * All pipes of pipeline\n * \n * !#zh\n * 所有的管道\n * \n * @property pipes\n * @type {Function[]}\n */\n this.pipes = [];\n\n for (var i = 0, l = funcs.length; i < l; i++) {\n if (typeof funcs[i] === 'function') {\n this.pipes.push(funcs[i]);\n }\n }\n\n}\n\nPipeline.prototype = {\n\n\n /**\n * !#en\n * Create a new pipeline\n * \n * !#zh\n * 创建一个管线\n * \n * @method constructor\n * @param {string} name - The name of pipeline\n * @param {Function[]} funcs - The array of pipe, every pipe must be function which take two parameters, the first is a `Task` flowed in pipeline, the second is complete callback\n * \n * @example\n * var pipeline = new Pipeline('download', [\n * (task, done) => {\n * var url = task.input;\n * cc.assetManager.downloader.downloadFile(url, null, null, (err, result) => {\n * task.output = result;\n * done(err);\n * });\n * },\n * (task, done) => {\n * var text = task.input;\n * var json = JSON.stringify(text);\n * task.output = json;\n * done();\n * }\n * ]);\n * \n * @typescript\n * constructor(name: string, funcs: Array<(task: Task, done?: (err: Error) => void) => void>)\n */\n constructor: Pipeline,\n\n /**\n * !#en\n * At specific point insert a new pipe to pipeline\n * \n * !#zh\n * 在某个特定的点为管线插入一个新的 pipe\n * \n * @method insert\n * @param {Function} func - The new pipe\n * @param {Task} func.task - The task handled with pipeline will be transferred to this function\n * @param {Function} [func.callback] - Callback you need to invoke manually when this pipe is finished. if the pipeline is synchronous, callback is unnecessary.\n * @param {number} index - The specific point you want to insert at.\n * @return {Pipeline} pipeline\n * \n * @example\n * var pipeline = new Pipeline('test', []);\n * pipeline.insert((task, done) => {\n * // do something\n * done();\n * }, 0);\n * \n * @typescript\n * insert(func: (task: Task, callback?: (err: Error) => void) => void, index: number): Pipeline\n */\n insert (func, index) {\n if (typeof func !== 'function' || index > this.pipes.length) {\n cc.warnID(4921);\n return;\n }\n \n this.pipes.splice(index, 0, func);\n return this;\n },\n\n\n /**\n * !#en\n * Append a new pipe to the pipeline\n * \n * !#zh\n * 添加一个管道到管线中\n * \n * @method append\n * @param {Function} func - The new pipe\n * @param {Task} func.task - The task handled with pipeline will be transferred to this function\n * @param {Function} [func.callback] - Callback you need to invoke manually when this pipe is finished. if the pipeline is synchronous, callback is unnecessary.\n * @return {Pipeline} pipeline\n * \n * @example\n * var pipeline = new Pipeline('test', []);\n * pipeline.append((task, done) => {\n * // do something\n * done();\n * });\n * \n * @typescript\n * append(func: (task: Task, callback?: (err: Error) => void) => void): Pipeline\n */\n append (func) {\n if (typeof func !== 'function') {\n return;\n }\n \n this.pipes.push(func);\n return this;\n },\n\n /**\n * !#en\n * Remove pipe which at specific point\n * \n * !#zh\n * 移除特定位置的管道\n * \n * @method remove\n * @param {number} index - The specific point\n * @return {Pipeline} pipeline\n * \n * @example\n * var pipeline = new Pipeline('test', (task, done) => {\n * // do something\n * done(); \n * });\n * pipeline.remove(0);\n * \n * @typescript\n * remove(index: number): Pipeline\n */\n remove (index) {\n if (typeof index !== 'number') {\n return;\n }\n \n this.pipes.splice(index, 1);\n return this;\n },\n\n /**\n * !#en\n * Execute task synchronously\n * \n * !#zh\n * 同步执行任务\n * \n * @method sync\n * @param {Task} task - The task will be executed\n * @returns {*} result\n * \n * @example\n * var pipeline = new Pipeline('sync', [(task) => {\n * let input = task.input;\n * task.output = doSomething(task.input);\n * }]);\n * \n * var task = new Task({input: 'test'});\n * console.log(pipeline.sync(task));\n * \n * @typescript\n * sync(task: Task): any \n */\n sync (task) {\n var pipes = this.pipes;\n if (!(task instanceof Task) || pipes.length === 0) return;\n if (task.output != null) {\n task.input = task.output;\n task.output = null;\n }\n task._isFinish = false;\n for (var i = 0, l = pipes.length; i < l;) {\n var pipe = pipes[i];\n var result = pipe(task);\n if (result) {\n task._isFinish = true;\n return result;\n }\n i++;\n if (i !== l) {\n task.input = task.output;\n task.output = null;\n }\n }\n task._isFinish = true;\n return task.output;\n },\n\n /**\n * !#en\n * Execute task asynchronously\n * \n * !#zh\n * 异步执行任务\n * \n * @method async\n * @param {Task} task - The task will be executed\n * \n * @example\n * var pipeline = new Pipeline('sync', [(task, done) => {\n * let input = task.input;\n * task.output = doSomething(task.input);\n * done();\n * }]);\n * var task = new Task({input: 'test', onComplete: (err, result) => console.log(result)});\n * pipeline.async(task);\n * \n * @typescript\n * async(task: Task): void\n */\n async (task) {\n var pipes = this.pipes;\n if (!(task instanceof Task) || pipes.length === 0) return;\n if (task.output != null) {\n task.input = task.output;\n task.output = null;\n }\n task._isFinish = false;\n this._flow(0, task);\n },\n\n _flow (index, task) {\n var self = this;\n var pipe = this.pipes[index];\n pipe(task, function (result) {\n if (result) {\n task._isFinish = true;\n task.onComplete && task.onComplete(result);\n }\n else {\n index++;\n if (index < self.pipes.length) {\n // move output to input\n task.input = task.output;\n task.output = null;\n self._flow(index, task);\n }\n else {\n task._isFinish = true;\n task.onComplete && task.onComplete(result, task.output);\n }\n }\n });\n }\n};\n\nmodule.exports = Pipeline;\n","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst Task = require('./task');\nconst { transformPipeline, RequestType } = require('./shared');\n\nfunction preprocess (task, done) {\n var options = task.options, subOptions = Object.create(null), leftOptions = Object.create(null);\n\n for (var op in options) {\n switch (op) {\n // can't set these attributes in options\n case RequestType.PATH:\n case RequestType.UUID:\n case RequestType.DIR:\n case RequestType.SCENE:\n case RequestType.URL : break;\n // only need these attributes to transform url\n case '__requestType__':\n case '__isNative__':\n case 'ext' :\n case 'type':\n case '__nativeName__':\n case 'audioLoadMode':\n case 'bundle':\n subOptions[op] = options[op];\n break;\n // other settings, left to next pipe\n case '__exclude__':\n case '__outputAsArray__':\n leftOptions[op] = options[op];\n break;\n default: \n subOptions[op] = options[op];\n leftOptions[op] = options[op];\n break;\n }\n }\n task.options = leftOptions;\n\n // transform url\n let subTask = Task.create({input: task.input, options: subOptions});\n var err = null;\n try {\n task.output = task.source = transformPipeline.sync(subTask);\n }\n catch (e) {\n err = e;\n for (var i = 0, l = subTask.output.length; i < l; i++) {\n subTask.output[i].recycle();\n }\n }\n subTask.recycle();\n done(err);\n}\n\nmodule.exports = preprocess;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst dependUtil = require('./depend-util');\nconst Cache = require('./cache');\nrequire('../assets/CCAsset');\nconst { assets } = require('./shared');\nconst { callInNextTick } = require('../platform/utils');\n\nfunction visitAsset (asset, deps) {\n // Skip assets generated programmatically or by user (e.g. label texture)\n if (!asset._uuid) {\n return;\n }\n deps.push(asset._uuid);\n}\n\nfunction visitComponent (comp, deps) {\n var props = Object.getOwnPropertyNames(comp);\n for (let i = 0; i < props.length; i++) {\n var propName = props[i];\n if (propName === 'node' || propName === '__eventTargets') continue;\n var value = comp[propName];\n if (typeof value === 'object' && value) {\n if (Array.isArray(value)) {\n for (let j = 0; j < value.length; j++) {\n let val = value[j];\n if (val instanceof cc.Asset) {\n visitAsset(val, deps);\n }\n }\n }\n else if (!value.constructor || value.constructor === Object) {\n let keys = Object.getOwnPropertyNames(value);\n for (let j = 0; j < keys.length; j++) {\n let val = value[keys[j]];\n if (val instanceof cc.Asset) {\n visitAsset(val, deps);\n }\n }\n }\n else if (value instanceof cc.Asset) {\n visitAsset(value, deps);\n }\n }\n }\n}\n\nlet _temp = [];\n\nfunction visitNode (node, deps) {\n for (let i = 0; i < node._components.length; i++) {\n visitComponent(node._components[i], deps);\n }\n for (let i = 0; i < node._children.length; i++) {\n visitNode(node._children[i], deps);\n }\n}\n\nfunction descendOpRef (asset, refs, exclude, op) {\n exclude.push(asset._uuid);\n var depends = dependUtil.getDeps(asset._uuid);\n for (let i = 0, l = depends.length; i < l; i++) {\n var dependAsset = assets.get(depends[i]);\n if (dependAsset) {\n let uuid = dependAsset._uuid;\n if (!(uuid in refs)) { \n refs[uuid] = dependAsset.refCount + op;\n }\n else {\n refs[uuid] += op;\n }\n if (exclude.includes(uuid)) continue; \n descendOpRef(dependAsset, refs, exclude, op);\n }\n }\n}\n\nfunction checkCircularReference (asset) {\n // check circular reference\n var refs = Object.create(null);\n refs[asset._uuid] = asset.refCount;\n descendOpRef(asset, refs, _temp, -1);\n _temp.length = 0;\n if (refs[asset._uuid] !== 0) return refs[asset._uuid];\n\n for (let uuid in refs) {\n if (refs[uuid] !== 0) {\n descendOpRef(assets.get(uuid), refs, _temp, 1);\n }\n }\n _temp.length = 0;\n\n return refs[asset._uuid];\n}\n\nvar _persistNodeDeps = new Cache();\nvar _toDelete = new Cache();\nvar eventListener = false;\n\nfunction freeAssets () {\n eventListener = false;\n _toDelete.forEach(function (asset) {\n releaseManager._free(asset);\n });\n _toDelete.clear();\n}\n\nvar releaseManager = {\n init () {\n _persistNodeDeps.clear();\n _toDelete.clear();\n },\n\n _addPersistNodeRef (node) {\n var deps = [];\n visitNode(node, deps);\n for (let i = 0, l = deps.length; i < l; i++) {\n var dependAsset = assets.get(deps[i]);\n if (dependAsset) {\n dependAsset.addRef();\n }\n }\n _persistNodeDeps.add(node.uuid, deps);\n },\n\n _removePersistNodeRef (node) {\n if (_persistNodeDeps.has(node.uuid)) {\n var deps = _persistNodeDeps.get(node.uuid);\n for (let i = 0, l = deps.length; i < l; i++) {\n var dependAsset = assets.get(deps[i]);\n if (dependAsset) {\n dependAsset.decRef();\n }\n }\n _persistNodeDeps.remove(node.uuid);\n }\n },\n\n // do auto release\n _autoRelease (oldScene, newScene, persistNodes) { \n\n if (oldScene) {\n var childs = dependUtil.getDeps(oldScene._id);\n for (let i = 0, l = childs.length; i < l; i++) {\n let asset = assets.get(childs[i]);\n asset && asset.decRef(CC_TEST || oldScene.autoReleaseAssets);\n }\n var dependencies = dependUtil._depends.get(oldScene._id);\n if (dependencies && dependencies.persistDeps) {\n var persistDeps = dependencies.persistDeps;\n for (let i = 0, l = persistDeps.length; i < l; i++) {\n let asset = assets.get(persistDeps[i]);\n asset && asset.decRef(CC_TEST || oldScene.autoReleaseAssets);\n }\n }\n oldScene._id !== newScene._id && dependUtil.remove(oldScene._id);\n }\n\n var sceneDeps = dependUtil._depends.get(newScene._id);\n sceneDeps && (sceneDeps.persistDeps = []);\n // transfer refs from persist nodes to new scene\n for (let key in persistNodes) {\n var node = persistNodes[key];\n var deps = _persistNodeDeps.get(node.uuid);\n for (let i = 0, l = deps.length; i < l; i++) {\n var dependAsset = assets.get(deps[i]);\n if (dependAsset) {\n dependAsset.addRef();\n }\n }\n if (sceneDeps) {\n sceneDeps.persistDeps.push.apply(sceneDeps.persistDeps, deps);\n }\n }\n },\n\n _free (asset, force) {\n _toDelete.remove(asset._uuid);\n\n if (!cc.isValid(asset, true)) return;\n\n if (!force) {\n if (asset.refCount > 0) {\n if (checkCircularReference(asset) > 0) return; \n }\n }\n \n // remove from cache\n assets.remove(asset._uuid);\n var depends = dependUtil.getDeps(asset._uuid);\n for (let i = 0, l = depends.length; i < l; i++) {\n var dependAsset = assets.get(depends[i]);\n if (dependAsset) {\n dependAsset.decRef(false);\n releaseManager._free(dependAsset, false);\n }\n }\n asset.destroy();\n dependUtil.remove(asset._uuid);\n },\n\n tryRelease (asset, force) {\n if (!(asset instanceof cc.Asset)) return;\n if (force) {\n releaseManager._free(asset, force);\n }\n else {\n _toDelete.add(asset._uuid, asset);\n if (!eventListener) {\n eventListener = true;\n callInNextTick(freeAssets);\n }\n }\n }\n};\n\nmodule.exports = releaseManager;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n/**\n * @module cc.AssetManager\n */\n\nvar MAX_DEAD_NUM = 500;\nvar _deadPool = [];\n\n/**\n * !#en\n * A collection of information about a request\n * \n * !#zh\n * 请求的相关信息集合\n * \n * @class RequestItem\n */\nfunction RequestItem () {\n\n this._id = '';\n\n /**\n * !#en \n * The uuid of request\n * \n * !#zh \n * 请求资源的uuid\n * \n * @property uuid\n * @type {String}\n */\n this.uuid = '';\n\n /**\n * !#en \n * The final url of request\n * \n * !#zh\n * 请求的最终url\n * \n * @property url\n * @type {String}\n */\n this.url = '';\n\n /**\n * !#en\n * The extension name of asset\n * \n * !#zh\n * 资源的扩展名\n * \n * @property ext\n * @type {String}\n */\n this.ext = '.json';\n\n /**\n * !#en\n * The content of asset\n * \n * !#zh\n * 资源的内容\n * \n * @property content\n * @type {*}\n */\n this.content = null;\n\n /**\n * !#en\n * The file of asset\n * \n * !#zh\n * 资源的文件\n * \n * @property file\n * @type {*}\n */\n this.file = null;\n\n /**\n * !#en\n * The information of asset\n * \n * !#zh\n * 资源的相关信息\n * \n * @property info\n * @type {Object}\n */\n this.info = null;\n\n this.config = null;\n\n /**\n * !#en\n * Whether or not it is native asset\n * \n * !#zh\n * 资源是否是原生资源\n * \n * @property isNative\n * @type {Boolean}\n */\n this.isNative = false;\n\n /**\n * !#en\n * Custom options\n * \n * !#zh\n * 自定义参数\n * \n * @property options\n * @type {Object}\n */\n this.options = Object.create(null);\n}\n\nRequestItem.prototype = {\n\n /**\n * !#en\n * Create a request item\n * \n * !#zh\n * 创建一个 request item\n * \n * @method constructor\n * \n * @typescript\n * constructor()\n */\n constructor: RequestItem,\n\n /**\n * !#en\n * The id of request, combined from uuid and isNative\n * \n * !#zh\n * 请求的 id, 由 uuid 和 isNative 组合而成\n * \n * @property id\n * @type {String}\n */\n get id () {\n if (!this._id) {\n this._id = this.uuid + '@' + (this.isNative ? 'native' : 'import');\n }\n return this._id;\n },\n\n /**\n * !#en\n * Recycle this for reuse\n * \n * !#zh\n * 回收 requestItem 用于复用\n * \n * @method recycle\n * \n * @typescript\n * recycle(): void\n */\n recycle () {\n if (_deadPool.length === MAX_DEAD_NUM) return;\n this._id = '';\n this.uuid = '';\n this.url = '';\n this.ext = '.json';\n this.content = null;\n this.file = null;\n this.info = null;\n this.config = null;\n this.isNative = false;\n this.options = Object.create(null);\n _deadPool.push(this);\n }\n};\n\n/**\n * !#en\n * Create a new request item from pool\n * \n * !#zh\n * 从对象池中创建 requestItem\n * \n * @static\n * @method create\n * @returns {RequestItem} requestItem\n * \n * @typescript \n * create(): RequestItem\n */\nRequestItem.create = function () {\n var out = null;\n if (_deadPool.length !== 0) {\n out = _deadPool.pop();\n }\n else {\n out = new RequestItem();\n }\n\n return out;\n};\n\nmodule.exports = RequestItem;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst Cache = require('./cache');\nconst Pipeline = require('./pipeline');\n\nvar assets = new Cache();\nvar files = new Cache();\nvar parsed = new Cache();\nvar bundles = new Cache();\nvar pipeline = new Pipeline('normal load', []);\nvar fetchPipeline = new Pipeline('fetch', []);\nvar transformPipeline = new Pipeline('transform url', []);\n\n/**\n * @module cc.AssetManager\n */\n\nvar RequestType = {\n \n UUID: 'uuid',\n\n PATH: 'path',\n\n DIR: 'dir',\n\n URL: 'url',\n\n SCENE: 'scene'\n};\n\n/**\n * !#en\n * The builtin bundles \n * \n * !#zh\n * 内置 bundle\n * \n * @enum BuiltinBundleName\n */\nvar BuiltinBundleName = {\n /**\n * !#en\n * The builtin bundle corresponds to 'assets/resources'.\n * \n * !#zh\n * 内置 bundle, 对应 'assets/resources' 目录\n * \n * @property RESOURCES\n * @readonly\n * @type {String}\n */\n RESOURCES: 'resources',\n\n /**\n * !#en\n * The builtin bundle corresponds to 'internal/resources'.\n * \n * !#zh\n * 内置 bundle, 对应 'internal/resources' 目录\n * \n * @property INTERNAL\n * @readonly\n * @type {String}\n */\n INTERNAL: 'internal',\n\n /**\n * !#en\n * The builtin bundle\n * \n * !#zh\n * 内置 bundle\n * \n * @property MAIN\n * @readonly\n * @type {String}\n */\n MAIN: 'main',\n\n /**\n * !#en\n * The builtin bundle, exists when Start Scene asset bundle is checked on the project building panel\n * \n * !#zh\n * 内置 bundle, 如果构建面板开启了首场景分包,则会有 START_SCENE bundle\n * \n * @property START_SCENE\n * @readonly\n * @type {String}\n */\n START_SCENE: 'start-scene',\n};\n\nmodule.exports = { assets, files, parsed, pipeline, fetchPipeline, transformPipeline, RequestType, bundles, BuiltinBundleName };","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\n/**\n * @module cc.AssetManager\n */\n\nvar _taskId = 0;\nvar MAX_DEAD_NUM = 500;\nvar _deadPool = [];\n\n/**\n * !#en\n * Task is used to run in the pipeline for some effect\n * \n * !#zh\n * 任务用于在管线中运行以达成某种效果\n * \n * @class Task\n */\nfunction Task (options) {\n /**\n * !#en\n * The id of task\n * \n * !#zh\n * 任务id\n * \n * @property id\n * @type {Number}\n */\n this.id = _taskId++;\n\n this._isFinish = true;\n\n /**\n * !#en\n * The callback when task is completed\n * \n * !#zh\n * 完成回调\n * \n * @property onComplete\n * @type {Function}\n */\n this.onComplete = null;\n\n /**\n * !#en\n * The callback of progression\n * \n * !#zh\n * 进度回调\n * \n * @property onProgress\n * @type {Function}\n */\n this.onProgress = null;\n\n /**\n * !#en\n * The callback when something goes wrong\n * \n * !#zh\n * 错误回调\n * \n * @property onError\n * @type {Function}\n */\n this.onError = null;\n\n /**\n * !#en\n * The source of task\n * \n * !#zh\n * 任务的源\n * \n * @property source\n * @type {*}\n */\n this.source = null;\n\n /**\n * !#en\n * The output of task\n * \n * !#zh\n * 任务的输出\n * \n * @property output\n * @type {*}\n */\n this.output = null\n\n /**\n * !#en\n * The input of task\n * \n * !#zh\n * 任务的输入\n * \n * @property input\n * @type {*}\n */\n this.input = null;\n\n /**\n * !#en\n * The progression of task\n * \n * !#zh\n * 任务的进度\n * \n * @property progress\n * @type {*}\n */\n this.progress = null;\n\n /**\n * !#en\n * Custom options\n * \n * !#zh\n * 自定义参数\n * \n * @property options\n * @type {Object}\n */\n this.options = null;\n this.set(options);\n};\n\nTask.prototype = {\n \n /**\n * !#en\n * Create a new Task\n * \n * !#zh\n * 创建一个任务\n * \n * @method constructor\n * @param {Object} [options] - Some optional paramters\n * @param {Function} [options.onComplete] - Callback when the task is completed, if the pipeline is synchronous, onComplete is unnecessary.\n * @param {Function} [options.onProgress] - Continuously callback when the task is runing, if the pipeline is synchronous, onProgress is unnecessary.\n * @param {Function} [options.onError] - Callback when something goes wrong, if the pipeline is synchronous, onError is unnecessary.\n * @param {*} options.input - Something will be handled with pipeline\n * @param {*} [options.progress] - Progress information, you may need to assign it manually when multiple pipeline share one progress\n * @param {Object} [options.options] - Custom parameters\n * \n * @typescript\n * constructor(options?: {onComplete?: (err: Error, result: any) => void, onError?: () => void, onProgress?: Function, input: any, progress?: any, options?: Record})\n */\n constructor: Task,\n\n /**\n * !#en\n * Set paramters of this task\n * \n * !#zh\n * 设置任务的参数\n * \n * @method set\n * @param {Object} [options] - Some optional paramters\n * @param {Function} [options.onComplete] - Callback when the task complete, if the pipeline is synchronous, onComplete is unnecessary.\n * @param {Function} [options.onProgress] - Continuously callback when the task is runing, if the pipeline is synchronous, onProgress is unnecessary.\n * @param {Function} [options.onError] - Callback when something goes wrong, if the pipeline is synchronous, onError is unnecessary.\n * @param {*} options.input - Something will be handled with pipeline\n * @param {*} [options.progress] - Progress information, you may need to assign it manually when multiple pipeline share one progress\n * @param {Object} [options.options] - Custom parameters\n * \n * @example \n * var task = new Task();\n * task.set({input: ['test'], onComplete: (err, result) => console.log(err), onProgress: (finish, total) => console.log(finish / total)});\n * \n * @typescript\n * set(options?: {onComplete?: (err: Error, result: any) => void, onError?: () => void, onProgress?: Function, input: any, progress?: any, options?: Record}): void\n */\n set (options) {\n options = options || Object.create(null);\n this.onComplete = options.onComplete;\n this.onProgress = options.onProgress;\n this.onError = options.onError;\n this.source = this.input = options.input;\n this.output = null;\n this.progress = options.progress;\n // custom data\n this.options = options.options || Object.create(null);\n },\n\n /**\n * !#en\n * Dispatch event\n * \n * !#zh\n * 发布事件\n * \n * @method dispatch\n * @param {string} event - The event name\n * @param {*} param1 - Parameter 1\n * @param {*} param2 - Parameter 2\n * @param {*} param3 - Parameter 3\n * @param {*} param4 - Parameter 4\n * \n * @example\n * var task = Task.create();\n * Task.onComplete = (msg) => console.log(msg);\n * Task.dispatch('complete', 'hello world');\n * \n * @typescript\n * dispatch(event: string, param1?: any, param2?: any, param3?: any, param4?: any): void\n */\n dispatch (event, param1, param2, param3, param4) {\n switch (event) {\n case 'complete' :\n this.onComplete && this.onComplete(param1, param2, param3, param4);\n break; \n case 'progress': \n this.onProgress && this.onProgress(param1, param2, param3, param4);\n break;\n case 'error': \n this.onError && this.onError(param1, param2, param3, param4);\n break;\n default:\n var str = 'on' + event[0].toUpperCase() + event.substr(1);\n if (typeof this[str] === 'function') {\n this[str](param1, param2, param3, param4);\n }\n break;\n }\n },\n\n /**\n * !#en\n * Recycle this for reuse\n * \n * !#zh\n * 回收 task 用于复用\n * \n * @method recycle\n * \n * @typescript\n * recycle(): void\n */\n recycle () {\n if (_deadPool.length === MAX_DEAD_NUM) return;\n this.onComplete = null;\n this.onProgress = null;\n this.onError = null;\n this.source = this.output = this.input = null;\n this.progress = null;\n this.options = null;\n _deadPool.push(this);\n },\n\n /**\n * !#en\n * Whether or not this task is completed\n * \n * !#zh\n * 此任务是否已经完成\n * \n * @property isFinish\n * @type {Boolean}\n */\n get isFinish () {\n return this._isFinish;\n }\n};\n\n/**\n * !#en\n * Create a new task from pool\n * \n * !#zh\n * 从对象池中创建 task\n * \n * @static\n * @method create\n * @param {Object} [options] - Some optional paramters\n * @param {Function} [options.onComplete] - Callback when the task complete, if the pipeline is synchronous, onComplete is unnecessary.\n * @param {Function} [options.onProgress] - Continuously callback when the task is runing, if the pipeline is synchronous, onProgress is unnecessary.\n * @param {Function} [options.onError] - Callback when something goes wrong, if the pipeline is synchronous, onError is unnecessary.\n * @param {*} options.input - Something will be handled with pipeline\n * @param {*} [options.progress] - Progress information, you may need to assign it manually when multiple pipeline share one progress\n * @param {Object} [options.options] - Custom parameters\n * @returns {Task} task\n * \n * @typescript \n * create(options?: {onComplete?: (err: Error, result: any) => void, onError?: () => void, onProgress?: Function, input: any, progress?: any, options?: Record}): Task\n */\nTask.create = function (options) {\n var out = null;\n if (_deadPool.length !== 0) {\n out = _deadPool.pop();\n out.set(options);\n }\n else {\n out = new Task(options);\n }\n\n return out;\n};\n\nmodule.exports = Task;","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst { decodeUuid } = require('./helper');\nconst RequestItem = require('./request-item');\nconst { RequestType, bundles } = require('./shared');\n\nfunction parse (task) {\n\n var input = task.input, options = task.options;\n input = Array.isArray(input) ? input : [ input ];\n\n task.output = [];\n for (var i = 0; i < input.length; i ++ ) {\n var item = input[i];\n var out = RequestItem.create();\n if (typeof item === 'string') {\n item = Object.create(null);\n item[options.__requestType__ || RequestType.UUID] = input[i];\n }\n if (typeof item === 'object') {\n // local options will overlap glabal options\n cc.js.addon(item, options);\n if (item.preset) {\n cc.js.addon(item, cc.assetManager.presets[item.preset]);\n }\n for (var key in item) {\n switch (key) {\n case RequestType.UUID: \n var uuid = out.uuid = decodeUuid(item.uuid);\n if (bundles.has(item.bundle)) {\n var config = bundles.get(item.bundle)._config;\n var info = config.getAssetInfo(uuid);\n if (info && info.redirect) {\n if (!bundles.has(info.redirect)) throw new Error(`Please load bundle ${info.redirect} first`);\n config = bundles.get(info.redirect)._config;\n info = config.getAssetInfo(uuid);\n }\n out.config = config;\n out.info = info;\n }\n out.ext = item.ext || '.json';\n break;\n case '__requestType__':\n case 'ext': \n case 'bundle':\n case 'preset':\n case 'type': break;\n case RequestType.DIR: \n if (bundles.has(item.bundle)) {\n var infos = [];\n bundles.get(item.bundle)._config.getDirWithPath(item.dir, item.type, infos);\n for (let i = 0, l = infos.length; i < l; i++) {\n var info = infos[i];\n input.push({uuid: info.uuid, __isNative__: false, ext: '.json', bundle: item.bundle});\n }\n }\n out.recycle();\n out = null;\n break;\n case RequestType.PATH: \n if (bundles.has(item.bundle)) {\n var config = bundles.get(item.bundle)._config;\n var info = config.getInfoWithPath(item.path, item.type);\n \n if (info && info.redirect) {\n if (!bundles.has(info.redirect)) throw new Error(`you need to load bundle ${info.redirect} first`);\n config = bundles.get(info.redirect)._config;\n info = config.getAssetInfo(info.uuid);\n }\n\n if (!info) {\n out.recycle();\n throw new Error(`Bundle ${item.bundle} doesn't contain ${item.path}`);\n }\n out.config = config; \n out.uuid = info.uuid;\n out.info = info;\n }\n out.ext = item.ext || '.json';\n break;\n case RequestType.SCENE:\n if (bundles.has(item.bundle)) {\n var config = bundles.get(item.bundle)._config;\n var info = config.getSceneInfo(item.scene);\n \n if (info && info.redirect) {\n if (!bundles.has(info.redirect)) throw new Error(`you need to load bundle ${info.redirect} first`);\n config = bundles.get(info.redirect)._config;\n info = config.getAssetInfo(info.uuid);\n }\n if (!info) {\n out.recycle();\n throw new Error(`Bundle ${config.name} doesn't contain scene ${item.scene}`);\n }\n out.config = config; \n out.uuid = info.uuid;\n out.info = info;\n }\n break;\n case '__isNative__': \n out.isNative = item.__isNative__;\n break;\n case RequestType.URL: \n out.url = item.url;\n out.uuid = item.uuid || item.url;\n out.ext = item.ext || cc.path.extname(item.url);\n out.isNative = item.__isNative__ !== undefined ? item.__isNative__ : true;\n break;\n default: out.options[key] = item[key];\n }\n if (!out) break;\n }\n }\n if (!out) continue;\n task.output.push(out);\n if (!out.uuid && !out.url) throw new Error('Can not parse this input:' + JSON.stringify(item));\n }\n return null;\n}\n\nfunction combine (task) {\n var input = task.output = task.input;\n for (var i = 0; i < input.length; i++) {\n var item = input[i];\n if (item.url) continue;\n\n var url = '', base = '';\n var config = item.config;\n if (item.isNative) {\n base = (config && config.nativeBase) ? (config.base + config.nativeBase) : cc.assetManager.generalNativeBase;\n } \n else {\n base = (config && config.importBase) ? (config.base + config.importBase) : cc.assetManager.generalImportBase;\n }\n\n let uuid = item.uuid;\n \n var ver = '';\n if (item.info) {\n if (item.isNative) {\n ver = item.info.nativeVer ? ('.' + item.info.nativeVer) : '';\n }\n else {\n ver = item.info.ver ? ('.' + item.info.ver) : '';\n }\n }\n\n // ugly hack, WeChat does not support loading font likes 'myfont.dw213.ttf'. So append hash to directory\n if (item.ext === '.ttf') {\n url = `${base}/${uuid.slice(0, 2)}/${uuid}${ver}/${item.options.__nativeName__}`;\n }\n else {\n url = `${base}/${uuid.slice(0, 2)}/${uuid}${ver}${item.ext}`;\n }\n \n item.url = url;\n }\n return null;\n}\n\nmodule.exports = { parse, combine };","/****************************************************************************\n Copyright (c) 2019 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\nconst dependUtil = require('./depend-util');\nconst { isScene, decodeUuid } = require('./helper');\nconst { assets } = require('./shared');\nconst { callInNextTick } = require('../platform/utils');\nconst MissingObjectReporter = CC_EDITOR && Editor.require('app://editor/page/scene-utils/missing-object-reporter');\nrequire('../assets/CCAsset');\n\nvar utils = {\n\n processOptions (options) {\n if (CC_EDITOR) return;\n var uuids = options.uuids;\n var paths = options.paths;\n var types = options.types;\n var bundles = options.deps;\n var realEntries = options.paths = Object.create(null);\n\n if (options.debug === false) {\n for (let i = 0, l = uuids.length; i < l; i++) {\n uuids[i] = decodeUuid(uuids[i]);\n }\n\n for (let id in paths) {\n let entry = paths[id];\n let type = entry[1];\n entry[1] = types[type];\n }\n }\n else {\n var out = Object.create(null);\n for (let i = 0, l = uuids.length; i < l; i++) {\n let uuid = uuids[i];\n uuids[i] = out[uuid] = decodeUuid(uuid);\n }\n uuids = out;\n }\n\n for (let id in paths) {\n let entry = paths[id];\n realEntries[uuids[id]] = entry;\n }\n\n var scenes = options.scenes;\n for (let name in scenes) {\n let uuid = scenes[name];\n scenes[name] = uuids[uuid];\n }\n\n var packs = options.packs;\n for (let packId in packs) {\n let packedIds = packs[packId];\n for (let j = 0; j < packedIds.length; ++j) {\n packedIds[j] = uuids[packedIds[j]];\n }\n }\n\n var versions = options.versions;\n if (versions) {\n for (let folder in versions) {\n var entries = versions[folder];\n for (let i = 0; i < entries.length; i += 2) {\n let uuid = entries[i];\n entries[i] = uuids[uuid] || uuid;\n }\n }\n }\n\n var redirect = options.redirect;\n if (redirect) {\n for (let i = 0; i < redirect.length; i += 2) {\n redirect[i] = uuids[redirect[i]];\n redirect[i + 1] = bundles[redirect[i + 1]];\n }\n }\n\n },\n\n clear (task, clearRef) {\n for (var i = 0, l = task.input.length; i < l; i++) {\n var item = task.input[i];\n if (clearRef) {\n !item.isNative && item.content && item.content.decRef && item.content.decRef(false);\n }\n item.recycle();\n }\n task.input = null;\n },\n\n urlAppendTimestamp (url) {\n if (cc.assetManager.downloader.appendTimeStamp && typeof url === 'string') {\n if (/\\?/.test(url))\n return url + '&_t=' + (new Date() - 0);\n else\n return url + '?_t=' + (new Date() - 0);\n }\n return url;\n },\n\n retry (process, times, wait, onComplete, index) {\n index = index || 0;\n process(index, function (err, result) {\n index++;\n if (!err || index > times) {\n onComplete && onComplete(err, result);\n }\n else {\n setTimeout(function () {\n utils.retry(process, times, wait, onComplete, index);\n }, wait);\n }\n });\n },\n\n getDepends (uuid, data, exclude, depends, preload, asyncLoadAssets, config) {\n try {\n var info = dependUtil.parse(uuid, data);\n var includeNative = true;\n if (data instanceof cc.Asset && (!data.__nativeDepend__ || data._nativeAsset)) includeNative = false; \n if (!preload) {\n asyncLoadAssets = !CC_EDITOR && (!!data.asyncLoadAssets || (asyncLoadAssets && !info.preventDeferredLoadDependents));\n for (let i = 0, l = info.deps.length; i < l; i++) {\n let dep = info.deps[i];\n if (!(dep in exclude)) {\n exclude[dep] = true;\n depends.push({uuid: dep, __asyncLoadAssets__: asyncLoadAssets, bundle: config && config.name});\n }\n }\n\n if (includeNative && !asyncLoadAssets && !info.preventPreloadNativeObject && info.nativeDep) {\n config && (info.nativeDep.bundle = config.name);\n depends.push(Object.assign({}, info.nativeDep));\n }\n \n } else {\n for (let i = 0, l = info.deps.length; i < l; i++) {\n let dep = info.deps[i];\n if (!(dep in exclude)) {\n exclude[dep] = true;\n depends.push({uuid: dep, bundle: config && config.name});\n }\n }\n if (includeNative && info.nativeDep) {\n config && (info.nativeDep.bundle = config.name);\n depends.push(Object.assign({}, info.nativeDep));\n }\n }\n }\n catch (e) {\n cc.error(e.message, e.stack);\n }\n },\n \n cache (id, asset, cacheAsset) {\n if (!asset) return;\n var _isScene = isScene(asset);\n if (!_isScene && cacheAsset) {\n assets.add(id, asset);\n }\n if (_isScene) {\n if (CC_EDITOR && !asset.scene) {\n Editor.error('Sorry, the scene data of \"%s\" is corrupted!', asset._uuid);\n }\n }\n },\n\n setProperties (uuid, asset, assetsMap) {\n\n var missingAsset = false;\n let depends = asset.__depends__;\n if (depends) {\n var missingAssetReporter = null;\n for (var i = 0, l = depends.length; i < l; i++) {\n var depend = depends[i];\n var dependAsset = assetsMap[depend.uuid + '@import'];\n if (!dependAsset) {\n if (CC_EDITOR) {\n !missingAssetReporter && (missingAssetReporter = new MissingObjectReporter(asset));\n missingAssetReporter.stashByOwner(depend.owner, depend.prop, Editor.serialize.asAsset(depend.uuid));\n }\n else {\n cc.error('The asset ' + depend.uuid + ' is missing!');\n }\n missingAsset = true;\n }\n else {\n depend.owner[depend.prop] = dependAsset.addRef();\n }\n }\n\n missingAssetReporter && missingAssetReporter.reportByOwner();\n asset.__depends__ = undefined;\n }\n \n if (asset.__nativeDepend__) {\n if (!asset._nativeAsset) {\n if (assetsMap[uuid + '@native']) {\n asset._nativeAsset = assetsMap[uuid + '@native'];\n }\n else {\n missingAsset = true;\n if (CC_EDITOR) {\n console.error(`the native asset of ${uuid} is missing!`);\n }\n }\n }\n asset.__nativeDepend__ = undefined;\n }\n return missingAsset;\n },\n\n gatherAsset (task) {\n let source = task.source;\n if (!task.options.__outputAsArray__ && source.length === 1) {\n task.output = source[0].content;\n }\n else {\n let output = task.output = [];\n for (var i = 0, l = source.length; i < l; i++) {\n output.push(source[i].content);\n }\n }\n },\n\n forEach (array, process, onComplete) {\n var count = 0;\n var errs = [];\n if (array.length === 0) onComplete && onComplete(errs);\n for (var i = 0, l = array.length; i < l; i++) {\n process(array[i], function (err) {\n if (err) {\n errs.push(err);\n }\n count ++;\n if (count === l) {\n onComplete && onComplete(errs);\n }\n });\n }\n },\n\n parseParameters (options, onProgress, onComplete) {\n if (onComplete === undefined) {\n var isCallback = typeof options === 'function';\n if (onProgress) {\n onComplete = onProgress;\n if (!isCallback) {\n onProgress = null;\n }\n }\n else if (onProgress === undefined && isCallback) {\n onComplete = options;\n options = null;\n onProgress = null;\n }\n if (onProgress !== undefined && isCallback) {\n onProgress = options;\n options = null;\n }\n }\n options = options || Object.create(null);\n return { options, onProgress, onComplete };\n },\n\n parseLoadResArgs (type, onProgress, onComplete) {\n if (onComplete === undefined) {\n var isValidType = cc.js.isChildClassOf(type, cc.Asset);\n if (onProgress) {\n onComplete = onProgress;\n if (isValidType) {\n onProgress = null;\n }\n }\n else if (onProgress === undefined && !isValidType) {\n onComplete = type;\n onProgress = null;\n type = null;\n }\n if (onProgress !== undefined && !isValidType) {\n onProgress = type;\n type = null;\n }\n }\n return { type, onProgress, onComplete };\n },\n\n checkCircleReference (owner, uuid, map, checked) {\n if (!checked) { \n checked = Object.create(null);\n }\n let item = map[uuid];\n if (!item || checked[uuid]) {\n return false;\n }\n checked[uuid] = true;\n var result = false;\n var deps = dependUtil.getDeps(uuid);\n if (deps) {\n for (var i = 0, l = deps.length; i < l; i++) {\n var dep = deps[i];\n if (dep === owner || utils.checkCircleReference(owner, dep, map, checked)) {\n result = true;\n break;\n }\n }\n }\n return result;\n },\n\n asyncify (cb) {\n return function (p1, p2) {\n if (!cb) return;\n let refs = [];\n if (Array.isArray(p2)) {\n p2.forEach(x => x instanceof cc.Asset && refs.push(x.addRef()));\n } else {\n p2 instanceof cc.Asset && refs.push(p2.addRef());\n }\n callInNextTick(() => {\n refs.forEach(x => x.decRef(false));\n cb(p1, p2);\n }); \n }\n }\n};\n\nmodule.exports = utils;","/****************************************************************************\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nvar CCObject = require('../platform/CCObject');\n\n/**\n * !#en\n * Base class for handling assets used in Creator.
\n *\n * You may want to override:
\n * - createNode
\n * - getset functions of _nativeAsset
\n * - cc.Object._serialize
\n * - cc.Object._deserialize
\n * !#zh\n * Creator 中的资源基类。
\n *\n * 您可能需要重写:
\n * - createNode
\n * - _nativeAsset 的 getset 方法
\n * - cc.Object._serialize
\n * - cc.Object._deserialize
\n *\n * @class Asset\n * @extends Object\n */\ncc.Asset = cc.Class({\n name: 'cc.Asset', extends: CCObject,\n\n ctor () {\n /**\n * @property {String} _uuid\n * @private\n */\n // enumerable is false by default, to avoid uuid being assigned to empty string during destroy\n Object.defineProperty(this, '_uuid', {\n value: '',\n writable: true,\n });\n /**\n * !#en\n * Whether the asset is loaded or not.\n * !#zh\n * 该资源是否已经成功加载。\n *\n * @property loaded\n * @type {Boolean}\n */\n this.loaded = true;\n this._nativeUrl = '';\n this._ref = 0;\n },\n\n properties: {\n /**\n * !#en\n * Returns the url of this asset's native object, if none it will returns an empty string.\n * !#zh\n * 返回该资源对应的目标平台资源的 URL,如果没有将返回一个空字符串。\n * @property nativeUrl\n * @type {String}\n * @readOnly\n */\n nativeUrl: {\n get: function () {\n if (!this._nativeUrl) {\n if (this._native) {\n var name = this._native;\n if (name.charCodeAt(0) === 47) { // '/'\n // remove library tag\n // not imported in library, just created on-the-fly\n return name.slice(1);\n }\n if (name.charCodeAt(0) === 46) { // '.'\n // imported in dir where json exist\n this._nativeUrl = cc.assetManager.utils.getUrlWithUuid(this._uuid, {nativeExt: name, isNative: true });\n }\n else {\n // imported in an independent dir\n this._nativeUrl = cc.assetManager.utils.getUrlWithUuid(this._uuid, {__nativeName__: name, nativeExt: cc.path.extname(name), isNative: true});\n }\n }\n }\n return this._nativeUrl;\n },\n visible: false\n },\n\n /**\n * !#en\n * The number of reference\n *\n * !#zh\n * 引用的数量\n *\n * @property refCount\n * @type {Number}\n */\n refCount: {\n get () {\n return this._ref;\n }\n },\n\n /**\n * !#en\n * Serializable url for native asset.\n * !#zh\n * 保存原生资源的 URL。\n * @property {String} _native\n * @default undefined\n * @private\n */\n _native: \"\",\n\n /**\n * !#en\n * The underlying native asset of this asset if one is available.\n * This property can be used to access additional details or functionality releated to the asset.\n * This property will be initialized by the loader if `_native` is available.\n * !#zh\n * 此资源依赖的底层原生资源(如果有的话)。\n * 此属性可用于访问与资源相关的其他详细信息或功能。\n * 如果 `_native` 可用,则此属性将由加载器初始化。\n * @property {Object} _nativeAsset\n * @default null\n * @private\n */\n _nativeAsset: {\n get () {\n return this._$nativeAsset;\n },\n set (obj) {\n this._$nativeAsset = obj;\n }\n },\n\n _nativeDep: {\n get () {\n if (this._native) {\n return {__isNative__: true, uuid: this._uuid, ext: this._native};\n }\n }\n }\n },\n\n statics: {\n /**\n * !#en\n * Provide this method at the request of AssetDB.\n * !#zh\n * 应 AssetDB 要求提供这个方法。\n *\n * @method deserialize\n * @param {String} data\n * @return {Asset}\n * @static\n * @private\n */\n deserialize: CC_EDITOR && function (data) {\n return cc.deserialize(data);\n },\n\n /**\n * !#en Indicates whether its dependent raw assets can support deferred load if the owner scene (or prefab) is marked as `asyncLoadAssets`.\n * !#zh 当场景或 Prefab 被标记为 `asyncLoadAssets`,禁止延迟加载该资源所依赖的其它原始资源。\n *\n * @property {Boolean} preventDeferredLoadDependents\n * @default false\n * @static\n */\n preventDeferredLoadDependents: false,\n\n /**\n * !#en Indicates whether its native object should be preloaded from native url.\n * !#zh 禁止预加载原生对象。\n *\n * @property {Boolean} preventPreloadNativeObject\n * @default false\n * @static\n */\n preventPreloadNativeObject: false\n\n },\n\n /**\n * !#en\n * Returns the asset's url.\n\n * The `Asset` object overrides the `toString()` method of the `Object` object.\n * For `Asset` objects, the `toString()` method returns a string representation of the object.\n * JavaScript calls the `toString()` method automatically when an asset is to be represented as a text value or when a texture is referred to in a string concatenation.\n * !#zh\n * 返回资源的 URL。\n *\n * Asset 对象将会重写 Object 对象的 `toString()` 方法。\n * 对于 Asset 对象,`toString()` 方法返回该对象的字符串表示形式。\n * 当资源要表示为文本值时或在字符串连接时引用时,JavaScript 会自动调用 `toString()` 方法。\n * @method toString\n * @return {String}\n */\n toString () {\n return this.nativeUrl;\n },\n\n /**\n * !#en\n * Provide this method at the request of AssetDB.\n * !#zh\n * 应 AssetDB 要求提供这个方法。\n *\n * @method serialize\n * @return {String}\n * @private\n */\n serialize: CC_EDITOR && function () {\n return Editor.serialize(this);\n },\n\n /**\n * !#en\n * Create a new node using this asset in the scene.
\n * If this type of asset dont have its corresponding node type, this method should be null.\n * !#zh\n * 使用该资源在场景中创建一个新节点。
\n * 如果这类资源没有相应的节点类型,该方法应该是空的。\n *\n * @method createNode\n * @param {Function} callback\n * @param {String} callback.error - null or the error info\n * @param {Object} callback.node - the created node or null\n */\n createNode: null,\n\n /**\n * !#en\n * Set native file name for this asset.\n * !#zh\n * 为此资源设置原生文件名。\n *\n * @seealso nativeUrl\n *\n * @method _setRawAsset\n * @param {String} filename\n * @param {Boolean} [inLibrary=true]\n * @private\n */\n _setRawAsset: function (filename, inLibrary) {\n if (inLibrary !== false) {\n this._native = filename || undefined;\n }\n else {\n this._native = '/' + filename; // simply use '/' to tag location where is not in the library\n }\n },\n\n /**\n * !#en\n * Add references of asset\n *\n * !#zh\n * 增加资源的引用\n *\n * @method addRef\n * @return {Asset} itself\n *\n * @typescript\n * addRef(): cc.Asset\n */\n addRef () {\n this._ref++;\n return this;\n },\n\n /**\n * !#en\n * Reduce references of asset and it will be auto released when refCount equals 0.\n *\n * !#zh\n * 减少资源的引用并尝试进行自动释放。\n *\n * @method decRef\n * @return {Asset} itself\n *\n * @typescript\n * decRef(): cc.Asset\n */\n decRef (autoRelease) {\n this._ref > 0 && this._ref--;\n autoRelease !== false && cc.assetManager._releaseManager.tryRelease(this);\n return this;\n },\n\n destroy () {\n this.loaded = false;\n return this._super();\n }\n});\n\nmodule.exports = cc.Asset;\n","/****************************************************************************\n Copyright (c) 2013-2016 Chukong Technologies Inc.\n Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.\n\n https://www.cocos.com/\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated engine source code (the \"Software\"), a limited,\n worldwide, royalty-free, non-assignable, revocable and non-exclusive license\n to use Cocos Creator solely to develop games on your target platforms. You shall\n not use Cocos Creator software for developing other software or tools that's\n used for developing games. You are not granted to publish, distribute,\n sublicense, and/or sell copies of Cocos Creator.\n\n The software or tools in this License Agreement are licensed, not sold.\n Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n ****************************************************************************/\n\nconst Asset = require('./CCAsset');\nconst EventTarget = require('../event/event-target');\n\nvar LoadMode = cc.Enum({\n WEB_AUDIO: 0,\n DOM_AUDIO: 1,\n});\n\n/**\n * !#en Class for audio data handling.\n * !#zh 音频资源类。\n * @class AudioClip\n * @extends Asset\n * @uses EventTarget\n */\nvar AudioClip = cc.Class({\n name: 'cc.AudioClip',\n extends: Asset,\n mixins: [EventTarget],\n\n ctor () {\n this._loading = false;\n this.loaded = false;\n\n // the web audio buffer or