{"version":3,"sources":["Users/smallmain/Documents/Work/test/engine/gulp/browserify_prelude.js","Users/smallmain/Documents/Work/test/engine/DebugInfos.json","cocos2d-js.c901d.js","Users/smallmain/Documents/Work/test/engine/cocos2d/actions/CCAction.js","Users/smallmain/Documents/Work/test/engine/cocos2d/actions/CCActionCatmullRom.js","Users/smallmain/Documents/Work/test/engine/cocos2d/actions/CCActionEase.js","Users/smallmain/Documents/Work/test/engine/cocos2d/actions/CCActionInstant.js","Users/smallmain/Documents/Work/test/engine/cocos2d/actions/CCActionInterval.js","Users/smallmain/Documents/Work/test/engine/cocos2d/actions/CCActionManager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/actions/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/actions/tween.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/animation-animator.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/animation-clip.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/animation-curves.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/animation-manager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/animation-state.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/bezier.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/easing.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/motion-path-helper.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/playable.js","Users/smallmain/Documents/Work/test/engine/cocos2d/animation/types.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/CCDebug.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/CCDirector.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/CCGame.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/CCNode.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/CCPrivateNode.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/CCScene.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/CCScheduler.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/CCAssetManager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/builtins.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/bundle.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/cache.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/config.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/depend-util.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/deprecated.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/deserialize.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/download-dom-audio.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/download-dom-image.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/download-file.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/download-script.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/downloader.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/factory.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/fetch.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/font-loader.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/helper.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/load.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/pack-manager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/parser.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/pipeline.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/preprocess.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/releaseManager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/request-item.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/shared.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/task.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/urlTransformer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/asset-manager/utilities.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCAsset.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCAudioClip.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCBitmapFont.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCBufferAsset.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCFont.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCJsonAsset.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCLabelAtlas.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCPrefab.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCRenderTexture.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCSceneAsset.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCScripts.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCSpriteAtlas.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCSpriteFrame.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCTTFFont.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCTextAsset.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/CCTexture2D.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/CCEffectAsset.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/CCMaterial.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/effect-base.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/effect-parser.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/effect-variant.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/effect.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/material-pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/material-variant.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/assets/material/utils.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/base-ui/CCWidgetManager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/camera/CCCamera.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/component-scheduler.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCAnimation.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCBlockInputEvents.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCButton.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCCanvas.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCComponent.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCComponentEventHandler.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCLabel.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCLabelOutline.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCLabelShadow.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCLayout.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCMotionStreak.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCRenderComponent.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCRichText.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCScrollBar.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCSprite.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCToggle.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCToggleContainer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCToggleGroup.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/CCWidget.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/components/missing-script.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event-manager/CCEvent.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event-manager/CCEventListener.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event-manager/CCEventManager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event-manager/CCTouch.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event-manager/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event/event-listeners.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event/event-target.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event/event.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/event/system-event.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/graphics/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/node-activator.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCClass.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCClassDecorator.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCEnum.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCInputExtension.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCInputManager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCMacro.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCObject.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCSAXParser.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCScreen.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCSys.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCView.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/CCVisibleRect.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/attribute.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/callbacks-invoker.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/compiler.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/deserialize-compiled.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/deserialize.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/id-generater.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/instantiate-jit.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/instantiate.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/js.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/preprocess-class.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/requiring-frame.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/platform/utils.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/predefine.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/assembler-2d.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/assembler-pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/assembler.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/canvas/Device.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/canvas/Texture2D.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/render-flow.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/utils/dynamic-atlas/manager.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/utils/dynamic-atlas/reusable-atlas.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/utils/label/bmfont.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/utils/label/label-frame.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/utils/label/letter-font.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/utils/label/ttf.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/utils/utils.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/label/2d-multi/bmfont.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/label/2d-multi/ttf.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/label/2d/bmfont.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/label/2d/letter.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/label/2d/nativeTTF.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/label/2d/ttf.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/label/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/motion-streak-multi.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/motion-streak.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/bar-filled.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/mesh.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/radial-filled.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/simple.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/sliced.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d-multi/tiled.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/bar-filled.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/mesh.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/radial-filled.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/simple.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/sliced.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/2d/tiled.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/assemblers/sprite/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/flex-buffer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/mesh-buffer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/model-batcher.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/quad-buffer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/render-data.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/spine-buffer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/renderer/webgl/vertex-format.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/sp/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/sp/multi-batcher.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/sp/multi-handler.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/sp/sp.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/CCPath.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/affine-transform.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/base-node.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/binary-search.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/blend-func.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/decode-uuid.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/find.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/gray-sprite-state.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/html-text-parser.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/misc.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/mutable-forward-iterator.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/prefab-helper.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/profiler/CCProfiler.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/profiler/counter.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/profiler/perf-counter.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/text-utils.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/texture-util.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/trans-pool/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/trans-pool/mem-pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/trans-pool/node-mem-pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/trans-pool/node-unit.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/utils/trans-pool/unit-base.js","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/color.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/index.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/mat3.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/mat4.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/quat.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/rect.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/size.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/trs.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/utils.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/value-type.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/vec2.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/vec3.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/core/value-types/vec4.ts","Users/smallmain/Documents/Work/test/engine/cocos2d/deprecated.js","Users/smallmain/Documents/Work/test/engine/cocos2d/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/particle/CCParticleAsset.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/build/mappings/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/core/base-renderer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/core/input-assembler.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/core/pass.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/core/program-lib.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/core/technique.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/core/view.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/enums.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/device.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/enums.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/frame-buffer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/index-buffer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/misc.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/program.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/render-buffer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/state.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/texture-2d.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/texture-cube.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/texture.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/vertex-buffer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/gfx/vertex-format.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/memop/circular-pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/memop/fixed-array.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/memop/index.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/memop/linked-array.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/memop/pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/memop/recycle-pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/memop/timsort.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/memop/typed-array-pool.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/murmurhash2_gc.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/renderers/forward-renderer.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/scene/camera.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/scene/model.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/scene/scene.js","Users/smallmain/Documents/Work/test/engine/cocos2d/renderer/types.js","Users/smallmain/Documents/Work/test/engine/cocos2d/tilemap/CCTiledMapAsset.js","Users/smallmain/Documents/Work/test/engine/extends.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/AttachUtil.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/Skeleton.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/index.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/lib/spine.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/skeleton-cache.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/skeleton-data.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/skeleton-texture.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/spine-assembler.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/track-entry-listeners.js","Users/smallmain/Documents/Work/test/engine/extensions/spine/vertex-effect-delegate.js","Users/smallmain/Documents/Work/test/engine/index.js","Users/smallmain/Documents/Work/test/engine/polyfill/array-buffer.js","Users/smallmain/Documents/Work/test/engine/polyfill/array.js","Users/smallmain/Documents/Work/test/engine/polyfill/misc.js","Users/smallmain/Documents/Work/test/engine/polyfill/number.js","Users/smallmain/Documents/Work/test/engine/polyfill/object.js","Users/smallmain/Documents/Work/test/engine/polyfill/string.js","Users/smallmain/Documents/Work/test/engine/polyfill/typescript.js","Users/smallmain/Documents/Work/test/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","setBoudarySet","value","_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","removeActionByTag","hashTargets","_element","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","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","_cachedArray","POSITION_ON","SCALE_ON","ROTATION_ON","SIZE_ON","ANCHOR_ON","COLOR_ON","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","_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","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","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","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","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","put","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","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","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","./CCAudioClip","./CCBitmapFont","./CCBufferAsset","./CCJsonAsset","./CCLabelAtlas","./CCPrefab","./CCRenderTexture","./CCSceneAsset","./CCScripts","./CCSpriteAtlas","./CCSpriteFrame","./CCTTFFont","./CCTextAsset","./material","74","_CCAsset","_effectParser","_effect","techniques","shaders","lib","_programLib","define","_initEffect","parseEffect","freeze","getInstantiatedEffect","getEffect","../CCAsset","./effect-parser","75","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","76","_pass","_defineProperties","descriptor","enumerable","configurable","_createClass","Constructor","protoProps","staticProps","EffectBase","_dirtyCode","_technique","_proto","_createPassProp","pass","_properties","uniform","Float32Array","Float64Array","_setPassProperty","setStencilFront","setStencilBack","../../../renderer/core/pass","77","_types","_enums","getInvolvedProgram","programName","getTemplate","parseProperties","passJson","propertiesJson","program","uniformInfo","uniforms","_ret","propInfo","PARAM_TEXTURE_2D","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/enums","../../../renderer/types","./effect","78","_murmurhash2_gc","_utils","_effectBase","_inheritsLoose","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","EffectVariant","_EffectBase","_passes","_stagePasses","_effectDirtyCode","_onEffectChanged","variantPasses","stagePasses","variant","_stage","serializePasses","../../../renderer/murmurhash2_gc","./effect-base","./utils","79","Effect","_techniques","createNative","80","./CCMaterial","./material-variant","81","_pool","MaterialPool","_Pool","_len","_key","exampleMat","renderComponent","MaterialVariant","_owner","instance","serializeDefines","serializeTechniques","mat","maxSize","_clean","materialPool","../../utils/pool","82","_CCMaterial","_effectVariant","_materialPool","_dec","_class","ccclass","_decorator","_Material","materialName","_material","./effect-variant","./material-pool","83","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","hashData","param","PARAM_TEXTURE_CUBE","84","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","85","_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","86","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","87","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","addClip","newName","contains","oldState","newState","removeClip","filter","_EventTargetOn","states","_EventTargetOff","_createStates","defaultClipState","../../animation/animation-animator","../../animation/animation-clip","./CCComponent","88","BlockEvents","BlockInputEvents","menu","inspector","help","89","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","90","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","91","IsOnLoadCalled","getClassName","trimLeft","__scriptAsset","_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","92","_componentId","_componentName","_genCompIdIfNeeded","_compId2Name","_compName2Id","customEventData","compType","getClassByName","compId","93","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","_updateColor","_srcBlendFactor","BlendFactor","SRC_ALPHA","FLAG_OPACITY","_validateRender","disableRender","_resetAssembler","_resetFrame","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","94","LabelOutline","_updateRenderData","label","95","LabelShadow","_blur","blur","96","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","97","MotionStreak","preview","_fadeTime","fadeTime","_minSeg","minSeg","_stroke","stroke","_checkSwitchMaterial","_fastMode","fastMode","checkAndSwitchMaterial","_updateMultiTexId","updateTexId","_renderData","../../core/utils/blend-func","../components/CCRenderComponent","98","_materialVariant","_temp_color","ENABLE","DISABLE","materials","_activateMaterial","_vertsDirty","_texId","assembler","registerValidate","enable","FLAG_RENDER","FLAG_UPDATE_RENDER_DATA","instantiated","getMaterials","updateColor","srcBlendFactor","_checkBacth","_flush","_dummyNode","multi","spTexture","nSpTexture","same","isChanged","texId","getIndex","../assets/material/material-variant","../renderer/assembler","99","HtmlTextParser","_htmlTextParser","RichTextChildName","RichTextChildImageName","debounce","immediate","later","callNow","Pool","outline","richtext","labelNode","_get","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","100","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","../utils/misc","101","SpriteType","SIMPLE","TILED","FILLED","MESH","FillType","RADIAL","TRIMMED","RAW","GRAY","_spriteFrame","_type","_sizeMode","_fillType","_fillCenter","_fillStart","_fillRange","_isTrimmedMode","_atlas","lastSprite","_applySpriteFrame","fillType","fillCenter","fillStart","fillRange","trim","_applySpriteSize","setVisible","setState","getState","_applyAtlas","oldFrame","oldTexture","newTexture","102","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","103","toggleItems","_allowOnlyOneToggleChecked","_makeAtLeastOneToggleChecked","Boolean","104","ToggleGroup","_toggleItems","showed","105","WidgetManager","AlignFlags","TOP_BOT","LEFT_RIGHT","_setAlign","horizontalCenter","verticalCenter","isAbsoluteHorizontalCenter","isAbsoluteVerticalCenter","isAbsoluteTop","isAbsoluteBottom","isAbsoluteLeft","isAbsoluteRight","_wasAlignOnce","_originalWidth","_originalHeight","_validateTargetInDEV","isAlign","isHorizontal","../base-ui/CCWidgetManager","106","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","107","MissingScript","compiled","_$erialized","reportMissingClass","108","EventMouse","eventType","_eventType","_button","_prevX","_prevY","_scrollX","_scrollY","setScrollData","scrollX","scrollY","getScrollX","getScrollY","setLocation","getLocationInView","_designResolutionSize","_setPrevCursor","getPreviousLocation","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","EventTouch","touchArr","TOUCH","_eventCode","_touches","currentTouch","getEventCode","getTouches","_setEventCode","eventCode","_setTouches","touches","setTouchInfo","getID","getStartLocation","MAX_TOUCHES","BEGAN","MOVED","ENDED","CANCELED","EventAcceleration","acc","ACCELERATION","EventKeyboard","keyCode","isPressed","KEYBOARD","../event/event","109","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","110","_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","_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","_clearCurTouch","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","111","Touch","_lastModified","_point","_prevPoint","_startPoint","getPreviousLocationInView","getStartLocationInView","_startPointCaptured","_convertPointWithScale","_setPoint","_setPrevPoint","112","./CCEvent","./CCEventManager","./CCTouch","113","CallbacksInvoker","EventListeners","captureListeners","_callbackTable","rootInvoker","isInvoking","callbackInfos","containCanceled","purgeCanceled","../platform/callbacks-invoker","114","__on","__off","115","unuse","NO_TYPE","reuse","stopPropagationImmediate","getCurrentTarget","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","detail","getUserData","getEventName","_eventPool","116","./event","./event-listeners","./event-target","./system-event","117","inputManger","KEY_DOWN","KEY_UP","DEVICEMOTION","keyboardListener","accelerationListener","SystemEvent","setAccelerometerEnabled","isEnable","DeviceMotionEvent","requestPermission","setAccelerometerInterval","systemEvent","hasKeyDownEventListener","hasKeyUpEventListener","../event-manager","../platform/CCInputManager","118","./graphics","119","./3d","./CCPrivateNode","./CCScene","./assets","./base-ui/CCWidgetManager","./camera/CCCamera","./collider","./collider/CCIntersection","./components","./geom-utils","./mesh","./physics","./platform","./sp","120","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","121","_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","122","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","123","reverseKey","enumType","enumDef","__enums__","enums","_TestEnum","124","PORTRAIT","LANDSCAPE_LEFT","PORTRAIT_UPSIDE_DOWN","LANDSCAPE_RIGHT","_didAccelerateFun","timestamp","_accelEnabled","_registerAccelerometerEvent","_accelCurTime","_unregisterAccelerometerEvent","_accelInterval","_registerKeyboardEvent","preventDefault","_acceleration","_accelDeviceEvent","DeviceOrientationEvent","browserType","BROWSER_TYPE_MOBILE_QQ","_deviceEventType","ua","BROWSER_TYPE_UC","_minus","didAccelerate","mAcceleration","eventAcceleration","_accelMinus","timeStamp","tmpX","orientation","os","OS_ANDROID","./CCInputManager","125","TOUCH_TIMEOUT","_vec2","_mousePressed","_isRegisterEvent","_preTouchPoint","_prevMousePoint","_preTouchPool","_preTouchPoolPointer","_touchesIntegerDict","_indexBitsUsed","_maxTouches","_canvasBoundingRect","adjustedLeft","adjustedTop","_getUnUsedIndex","_removeUsedIndexBit","_glView","_updateCanvasBoundingRect","canvasBoundingRect","docElem","handleTouchesBegin","curTouch","touchID","handleTouches","locTouchIntDict","unusedIndex","_convertTouchesWithScale","handleTouchesMove","locTouches","handleTouchesEnd","getSetOfTouchesEndOrCancel","handleTouchesCancel","locTouchesIntDict","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","BROWSER_TYPE_FIREFOX","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","126","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","shift","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","127","Destroyed","RealDestroyed","ToDestroy","DontSave","EditorOnly","Dirty","DontDestroy","LockedInEditor","IsRotationLocked","IsScaleLocked","IsAnchorLocked","IsSizeLocked","IsPositionLocked","PersistentMask","objectsToDestroy","deferredDestroy","deleteCount","deferredDestroyTimer","compileDestruct","shouldSkipId","idToSkip","propsToReset","_destruct","__destruct__","strictMode","128","SAXParser","DOMParser","_isSupportDOMParser","_parser","xmlTxt","_parseXML","textxml","xmlDoc","parseFromString","ActiveXObject","loadXML","PlistParser","plist","childNodes","nodeType","_parseNode","_parseDict","_parseArray","firstChild","nodeValue","saxParser","129","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","130","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_WINDOWS","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","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","glExtension","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","131","__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","scrollTo","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","132","topLeft","topRight","bottomLeft","bottomRight","133","isPlainEmptyObj","createAttrsSingle","superAttrs","createAttrs","subclass","chains","__attrs__","newAttrs","prefix","PrimitiveType","getTypeChecker","mainPropName","mainPropAttrs","mainPropAttrsType","isContainer","defaultType","type_lowerCase","getObjTypeChecker","typeCtor","classCtor","defaultDef","typename","134","CallbackInfo","callbackInfoPool","CallbackList","removeByCallback","removeByTarget","cancelAll","MAX_SIZE","callbackListPool","keyOrTarget","_list","135","deepFlatten","strList","flattenCodeArray","separator","136","_js","_vec","_vec3","_size","_quat","_mat","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/mat4","../value-types/quat","../value-types/rect","../value-types/size","../value-types/vec2","../value-types/vec3","../value-types/vec4","137","./deserialize-compiled","./deserialize-editor","138","NonUuidMark","category","random","139","./CCClassDecorator","./CCObject","./CCVisibleRect","./callbacks-invoker","./instantiate","./instantiate-jit","140","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","./compiler","141","CCValueType","_isDomNode","isDomNode","original","internal_force","doInstantiate","objsToClearTmpVar","initValue","../value-types/value-type","142","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","143","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","144","requiringFrames","beh","frameInfo","anyKey","145","refNode","otherNode","compareDocumentPosition","nodeName","146","./CCDirector","./asset-manager","./platform/CCInputExtension","./platform/CCInputManager","./platform/CCScreen","./platform/CCSys","./platform/CCView","147","_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","148","_pool3","_assemblerId","getAssemblerId","assemblerCtor","__assemblerId__","AssemblerPool","_pool2","assemblers","_renderComp","../utils/pool","149","_vertexFormat","_assemblerPool","Assembler","_extendNative","renderComp","updateRenderDataForSwitchMaterial","getVfmt","vfmtPosUvColor","packDynamicAtlasAndCheckMaterial","packedFrame","insertSpriteFrame","renderCompCtor","__assembler__","getConstructor","./assembler-pool","./webgl/vertex-format","150","Device","canvasEL","_canvas","_caps","_stats","drawcalls","_vx","_vy","_vw","_vh","_sx","_sy","_sw","_sh","_restoreTexture","unit","setViewport","setScissor","clearRect","fillStyle","globalAlpha","fillRect","resetDrawCalls","getDrawCalls","151","_device","updateImage","152","_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","153","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_POST_RENDER","FLAG_FINAL","154","_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","ScrollView","layout","./reusable-atlas","155","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","156","_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","_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","px","wordWidth","_isHorizontalClamped","letterOverClamp","appx","appy","py","clipTop","_determineRect","letterPositionX","appendQuad","_quadsUpdated","tempRect","trimmedLeft","trimmedTop","originalX","blank","../../../components/CCLabel","../../../platform/CCMacro","../../../utils/text-utils","../../assembler-2d","../utils","157","158","_bmfont","OUTLINE_SUPPORTED","getFontFamily","bleed","_invisibleAlpha","LetterTexture","labelInfo","_labelInfo","_context","_updateTexture","_canvasPool","startX","startY","MIDDLE_RATIO","BASELINE_OFFSET","lineJoin","textAlign","isOutlined","strokeColor","strokeStyle","lineWidth","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","_needCheckMaterial","_usedMaterial","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","159","_fontDesc","_drawFontSize","_splitedStrings","_canvasSize","_premultiply","_outlineComp","_outlineColor","_shadowComp","_shadowColor","BLACK","_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","_fillColor","recreate","nodeSpacingY","_calculateParagraphLength","paragraphedStrings","paragraphLength","_calculateShrinkFont","totalHeight","maxLength","canvasWidthNoMargin","canvasHeightNoMargin","textFragment","allWidth","_calculateWrapText","canvasSizeX","canvasSizeY","paraLength","rawWidth","rawHeight","_rawHeight","../../../components/CCLabelShadow","160","hAlign","vAlign","./dynamic-atlas/manager","161","./label","./mask-assembler","./motion-streak","./motion-streak-multi","./sprite","162","MultiWebglBmfontAssembler","../../../../webgl/vertex-format","../2d/bmfont","163","_ttf","MultiWebglTTFAssembler","_WebglTTFAssembler","indices","initQuadIndices","../2d/ttf","164","_dataOffset","WebglBmfontAssembler","_BmfontAssembler","flexBuffer","_flexBuffer","reserve","vid","_getColor","rectWidth","rectHeight","uvDataOffset","retinaScale","world","../../../../utils/label/bmfont","165","WebglLetterFontAssembler","_LetterFontAssembler","createData","requestRenderData","../../../../../platform/js","../../../../utils/label/letter-font","./bmfont","166","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","167","WebglTTFAssembler","_TTFAssembler","updateUVs","srcOffset","dstOffset","canvasWidth","canvasHeight","shadowOffset","../../../../utils/label/ttf","168","_CCLabel","_ttf2","_bmfont2","_letter2","_ttf3","_bmfont3","textBaseline","TTF","Bmfont","Letter","TTF3D","Bmfont3D","Letter3D","TTFMulti","BmfontMulti","../../../../components/CCLabel","../../../assembler","./2d-multi/bmfont","./2d-multi/ttf","./2d/bmfont","./2d/letter","./2d/nativeTTF","./2d/ttf","./3d/bmfont","./3d/letter","./3d/ttf","169","_motionStreak","Point","setPoint","setDir","_normal","MultiMotionStreakAssembler","_MotionStreakAssemble","cur","difx","dify","cr","cg","ca","normalizeSelf","uintVData","vertsOffset","findLast","da","_this$_renderData$_fl","usedVertices","usedIndices","usedVerticesFloats","MotionStreakAssembler","../../../components/CCMotionStreak","../../render-flow","170","_tangent","_miter","computeMiter","miter","lineA","lineB","halfThick","maxMultiple","multiple","dot","171","_barFilled","BarFilledAssemblerMulti","_BarFilledAssembler","fillEnd","../2d/bar-filled","172","_mesh","MultiMeshSpriteAssembler","_MeshSpriteAssembler","updateIndices","../2d/mesh","173","_radialFilled","MultiRadialFilledAssembler","_RadialFilledAssemble","../2d/radial-filled","174","_simple","MultiSimpleSpriteAssembler","_SimpleSpriteAssemble","../2d/simple","175","_sliced","MultiSlicedAssembler","_SlicedAssembler","meshCount","indexOffset","../2d/sliced","176","_tiled","MultiTiledAssembler","_TiledAssembler","contentWidth","contentHeight","sizableWidth","sizableHeight","hRepeat","vRepeat","_updateIndices","../2d/tiled","177","BarFilledAssembler","textureRect","ul","ur","quadUV0","quadUV1","quadUV2","quadUV3","quadUV4","quadUV5","quadUV6","quadUV7","progressStart","progressEnd","../../../../../components/CCSprite","../../../../assembler-2d","178","MeshSpriteAssembler","originalWidth","originalHeight","trimX","trimY","_l3","lx","ly","179","PI_2","_vertPos","_vertices","_uvs","_intersectPoint_1","_intersectPoint_2","_center","_triangles","_calcInsectedPoints","intersectPoints","sinAngle","cosAngle","tanAngle","cotAngle","yleft","yright","xtop","xbottom","_calculateVertices","cx","cy","_calculateUVs","u0","v0","_getVertAngle","placementX","placementY","RadialFilledAssembler","floatsPerTriangle","triangleIndex","triangle","_generateTriangle","endAngle","testIndex","allocWorldVerts","vert0","vert1","vert2","v0x","v0y","v1x","v1y","progressX","progressY","_generateUV","px1","px2","py1","py2","180","SimpleSpriteAssembler","cw","ch","ow","oh","rw","rh","trimRight","trimBottom","trimTop","181","SlicedAssembler","xScale","yScale","voffset","localRowY","localColX","worldIndex","182","TiledAssembler","_this$_local","offsetWidth","offsetHeight","localX","localY","yindex","ylength","xindex","xlength","coefu","coefv","tempXVerts","tempYVerts","183","_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","184","FlexBuffer","vfmt","_handler","_index","_vfmt","_verticesBytes","_bytes","_initVerticesCount","_initIndicesCount","_reallocVData","floatsCount","oldData","updateMesh","_reallocIData","newFloatsCount","realloced","newIndicesCount","updateMeshRange","185","FIX_IOS14_BUFFER","MeshBuffer","vertexFormat","indiceStart","_vertexBytes","_arrOffset","_vbArr","_vb","VertexBuffer","USAGE_DYNAMIC","_ibArr","_ib","IndexBuffer","INDEX_FMT_UINT16","USAGE_STATIC","_uintVData","_initVDataCount","_initIDataCount","_offsetInfo","_reallocBuffer","uploadData","vertexsData","indicesData","ib","switchBuffer","checkAndSwitchBuffer","vertexCount","requestStatic","indiceCount","byteLength","indiceLength","_updateOffset","requestForSpine","requestStaticForSpine","adjustForSpine","copyOldData","oldVData","newData","oldIData","forwardIndiceStartToOffset","../../../renderer/gfx","186","_recyclePool","_model","vfmt3D","QuadBuffer","SpineBuffer","_buffers","empty_material","empty_ia","renderScene","_iaPool","_modelPool","_quadBuffer","_quadBuffer3D","_meshBuffer3D","_batchedModels","_sortKey","models","setInputAssembler","removeModel","_flushMaterial","model","sortKey","addModel","ia","_vertexBuffer","_indexBuffer","_start","_flushIA","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","187","_fillQuadBuffer","vertextID","188","RenderData","_infos","./flex-buffer","189","adjust","190","VertexFormat","ATTR_POSITION","ATTR_TYPE_FLOAT32","num","ATTR_UV0","ATTR_COLOR","ATTR_TYPE_UINT8","XYZ_UV_Color","XY_UV_Color","ATTR_TEX_ID","XY_UV_Color_TexId","vfmtPosUvTwoColor","ATTR_COLOR0","XY_UV_Two_Color","vfmtPosUv","XY_UV","vfmtPosColor","XY_Color","vfmtPos","XY","191","./multi-batcher","./multi-handler","192","MultiBatcher","handlers","nextHandler","getEmptyIndex","193","textures","hasEmptySlot","texture2","texture3","texture4","texture5","texture6","texture7","texture8","propertyIndex2Name","hasTexture","194","i2nMap","n2iMap","propertyName2Index","195","EXTNAME_RE","DIRNAME_RE","NORMALIZE_RE","pathStr","mainFileName","fileName","reg","baseName","tempStr","changeBasename","isSameExt","_normalize","oldUrl","sep","stripSep","196","AffineTransform","determinant","matm","transformVec2","transOrY","transformSize","transformRect","ol","ob","or","ot","lbx","lby","rbx","rby","ltx","lty","rtx","rty","minX","minY","transformObb","out_bl","out_tl","out_tr","out_br","anAffineTransform","197","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","198","199","_dstBlendFactor","_updateBlendFunc","dstBlendFactor","materialVar","_updateMaterialBlendFunc","200","Base64Values","BASE64_VALUES","HexChars","UuidTemplate","Indices","isFinite","base64","lhs","rhs","201","referenceNode","nameList","subChild","202","_normalMaterial","normalMaterial","_grayMaterial","grayMaterial","203","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","204","./CCPath","./find","./mutable-forward-iterator","./profiler/CCProfiler","205","sameNameGetSets","diffNameGetSets","np","getterFunc","suffix","NextPOT","BUILTIN_CLASSID_RE","BASE64_KEYS","pushToMap","pushFront","exists","min_inclusive","max_inclusive","degreesToRadians","radiansToDegrees","206","207","208","_PrefabInfo","fileId","eulerAnglesX","eulerAnglesY","eulerAnglesZ","prefabRoot","209","PerfCounter","_showFPS","_rootNode","generateStats","below","average","draws","logic","_counter","generateNode","leftLabel","rightLabel","beforeUpdate","afterUpdate","updateLabel","stat","human","afterDraw","../../platform/CCMacro","./perf-counter","210","Counter","_value","_averageValue","_accumValue","_accumSamples","_accumStart","_average","alarm","over","211","tick","avg","./counter","212","_BASELINE_RATIO","_BASELINE_OFFSET","MAX_CACHE_SIZE","LRUCache","limit","tail","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","213","loadImage","tex","cacheImage","postLoadTexture","../assets/CCTexture2D","214","NodeUnit","./node-mem-pool","./node-unit","215","MemPool","unitClass","_unitClass","_findOrder","_initNative","_nativeMemPool","_buildUnit","unitID","_destroyUnit","_findUnitID","findUnit","findOrder","hasSpace","firstUnit","isAllFree","216","Super","./mem-pool","217","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","218","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","219","_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","220","_exportNames","Vec4","Mat3","_mat2","math","./color","./mat3","./mat4","./quat","./rect","./size","./trs","./vec2","./vec3","./vec4","221","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","cross","normalFromMat4","a03","a13","a23","a30","a31","a32","a33","b03","b04","b05","b06","b07","b08","b09","frob","multiplyScalar","multiplyScalarAndAdd","exactEquals","a0","a1","a2","a4","a5","a6","a7","a8","b0","b5","b6","b7","b8","IDENTITY","../value-types/utils","222","_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","fuzzyEquals","number","m14","m15","223","_z","_w","rotationTo","fromAxisAngle","getAxisAngle","outAxis","scaleAndAdd","bx","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","atan2","sqx","sqy","sqz","euler","224","fromMinMax","min_x","min_y","max_x","max_y","intersects","maxax","maxay","maxbx","maxby","intersection","rectB","axMin","ayMin","axMax","ayMax","bxMin","byMin","bxMax","byMax","containsRect","ax","ay","aw","ah","bh","225","ZERO_R","226","tmp_quat","227","INT_MIN","INT_MAX","INT_BITS","approx","clamp","inverseLerp","nextPow2","pingPong","pseudoRandom","pseudoRandomRange","pseudoRandomRangeInt","randomRange","randomRangeInt","toRadian","_d2r","_r2d","maxDiff","seed","228","229","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","230","zero","az","cosTheta","sinTheta","rhw","transformMat4Normal","transformAffine","ix","iy","iz","iw","transformRTS","transformInverseRTS","rx","ry","rz","v3_2","projectOnPlane","sqrLen","vec1","vec2","FRONT_R","231","v4","equals4f","strictEquals4f","minInclusive","maxInclusive","NEG_ONE_R","NEG_ONE","232","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","233","./actions","./core/CCGame","234","CCSpriteFrame","ParticleAsset","../core/assets/CCAsset","../core/assets/CCSpriteFrame","235","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_NEVER","DS_FUNC_EQUAL","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_DISABLE","STENCIL_ENABLE","STENCIL_OP_ZERO","STENCIL_OP_REPLACE","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","236","_memop","_view","_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","237","pt","238","_detailName","setStage","newProperties","../../core/value-types/value-type","239","_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","240","Technique","241","_genID","_priority","_clearModel","_matView","_matViewInv","_matProj","_matViewProj","_matInvViewProj","_cullingByID","_shadowLight","getForward","242","_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","243","_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","maxTextureSize","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","failOp","zFailOp","zPassOp","writeMask","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","244","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","245","createFramebuffer","deleteFramebuffer","246","_BYTES_PER_INDEX","BYTES_PER_INDEX","usage","_usage","_numIndices","_needExpandDataStore","createBuffer","deleteBuffer","bytes","glUsage","bufferData","bufferSubData","setUsage","247","TextureCube","./device","./frame-buffer","./index-buffer","./program","./render-buffer","./texture","./vertex-buffer","248","isPow2","249","_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","250","createRenderbuffer","bindRenderbuffer","renderbufferStorage","deleteRenderbuffer","251","cpy","252","_Texture","_genMipmap","caps","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","253","TEXTURE_CUBE_MAP","faceIndex","levelImages","254","_nullWebGLTexture","_textureID","255","_bytesPerVertex","_numVertices","getFormat","256","_attr2el","_elements","_el","../murmurhash2_gc","257","CircularPool","_cursor","258","_timsort","FixedArray","cmp","./timsort","259","TypedArrayPool","LinkedArray","_circularPool","_fixedArray","_linkedArray","_typedArrayPool","./circular-pool","./fixed-array","./linked-array","./pool","./recycle-pool","./typed-array-pool","260","_head","_tail","alloc","_prev","free","binder","cursor","261","_idx","_frees","_expand","262","263","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","264","_bufferPools","_nextPow16","_log2","_alloc","buf","alloc_int8","alloc_uint8","alloc_int16","alloc_uint16","alloc_int32","alloc_uint32","alloc_float32","alloc_float64","alloc_dataview","265","266","_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","267","_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","268","Model","_viewID","_cameraID","_userKey","_castShadow","_boundingShape","setUserKey","269","app","_app","_views","_add","_remove","setDebugCamera","cam","getCameraCount","getCamera","getModelCount","getModel","getLightCount","getLight","addLight","removeLight","addView","removeView","270","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","271","TiledMapAsset","tmxXmlStr","textureNames","textureSizes","imageLayerTextures","imageLayerTextureNames","tsxFiles","tsxFileNames","272","./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","273","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","_n","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","274","TrackEntryListeners","spine","Graphics","SkeletonCache","DefaultSkinsEnum","DefaultAnimsEnum","","AnimationCacheMode","REALTIME","SHARED_CACHE","PRIVATE_CACHE","setEnumAttr","Skeleton","skeletonData","SkeletonData","defaultSkin","defaultAnimation","_updateSkeletonData","_animationName","getCurrent","setAnimation","loop","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","isTexturesLoaded","setSkeletonData","sharedCache","enablePrivateMode","skeletonInfo","getSkeletonCache","skeleton","_clipper","clipper","getRootBone","SkeletonClipping","setSlotsRange","startSlotIndex","endSlotIndex","setAnimationStateData","stateData","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","getRegion","region","setRegion","MeshAttachment","RegionAttachment","updateOffset","getTextureAtlas","regionAttachment","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","_updateAnimEnum","_updateSkinEnum","getRuntimeData","AnimationStateData","_refreshInspector","refreshSelectedInspector","debugDrawNode","debugDraw","../../cocos2d/core/components/CCRenderComponent","../../cocos2d/core/graphics/graphics","./AttachUtil","./lib/spine","./skeleton-cache","./track-entry-listeners","275","_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","276","__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","first","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","queue","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","newMeshAttachment","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","dx","dy","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","closed","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","BoundingBox","readVertices","readFloatArray","readShortArray","hullLength","edges","regionUVs","LinkedMesh","parent_4","Path","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","inside","vertexY","vertexX","intersectsSegment","intersectsSegmentPolygon","width12","height12","det1","y3","x4","y4","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","area","p1x","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","eventMap","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","totalTime","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","radius","interpolation","centerX","centerY","radAngle","dist","277","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","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","278","_skeletonJson","skeletonJsonStr","skeletonJson","_atlasText","createRegion","origSize","skelTex","SkeletonTexture","setRealTexture","updateRegionUV","createSpriteFrame","_atlasCache","_cloneId","ensureTexturesLoaded","caller","texsLen","loadedCount","loadedItem","quiet","_getAtlas","resData","_getTexture","names","_region","279","getRealTexture","280","VFOneColor","VFOneColorTexId","VFTwoColor","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","_getSlotMaterial","useModel","materialCache","materialInfo","_handleColor","_spineColorToInt32","spineColor","SpineAssembler","packDynamicAtlasForSpine","_v2","_n2","_v3","_n3","realTimeTraverse","locSkeleton","graphics","worldMatm","lineTo","_ii2","_nn2","_ii3","_nn3","fillColor","_n4","circle","fill","cacheTraverse","uintbuf","frameVFOffset","frameIndexOffset","segVFCount","needBatch","calcTranslate","nowColor","maxVFOffset","segInfo","_ii4","_il","_ii5","_il2","frameColorOffset","_ii6","_il3","nodeColor","../../cocos2d/core/renderer/assembler","../../cocos2d/core/renderer/webgl/vertex-format","281","282","VertexEffectDelegate","_interpolation","_effectType","initJitter","initSwirlWithPow","initSwirlWithPowOut","getJitterVertexEffect","getSwirlVertexEffect","getVertexEffect","getEffectType","283","./cocos2d","./cocos2d/core/predefine","./extends","./package","./polyfill/array","./polyfill/array-buffer","./polyfill/misc","./polyfill/number","./polyfill/object","./polyfill/string","./polyfill/typescript","./predefine","284","TypedArray","285","286","LOG2E","Timer","_timerTable","287","288","ownKeys","getOwnPropertySymbols","289","searchString","290","__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","291","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.c901d.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 setBoudarySet:function (value) {\n this._boundarySet = 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\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 _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 * !#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 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().removeActionByTag(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: function (action) {\n // TODO: fixed with cc.repeatForever\n return cc.repeat(action, 10e8);\n },\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';\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\nvar _cachedArray = new Array(16);\n_cachedArray.length = 0;\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\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) {\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 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;\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 _doDispatchEvent(this, event);\n _cachedArray.length = 0;\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 ((size.width === locContentSize.width) && (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 ((size === locContentSize.width) && (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 * 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;\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._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
\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 },\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-sprite', (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: typeof cc.Asset, onProgress: (finish: number, total: number, item: RequestItem) => void, onComplete: (error: Error, assets: T) => void): void\n * load(paths: string[], type: typeof cc.Asset, 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: typeof cc.Asset, onComplete?: (error: Error, assets: T) => void): void\n * load(paths: string[], type: typeof cc.Asset, 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: typeof cc.Asset, 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: typeof cc.Asset, onComplete: (error: Error, assets: Array) => void): void\n * loadDir(dir: string, type: typeof cc.Asset): 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?: typeof cc.Asset): 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).splice(0, 0, 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.splice(0, 0, 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 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 // 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 }\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\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