@caperjs/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +62 -0
- package/cli/add.mjs +197 -0
- package/cli/audio/cc.mjs +128 -0
- package/cli/audio/index.mjs +42 -0
- package/cli/audio/utils.mjs +56 -0
- package/cli/create-caper.mjs +8 -0
- package/cli/create.mjs +351 -0
- package/cli/install-peerdeps.mjs +57 -0
- package/cli/update.mjs +9 -0
- package/cli/utils.mjs +81 -0
- package/cli/vite.mjs +55 -0
- package/cli/voiceover/generateVoiceoverCSV.mjs +158 -0
- package/cli/voiceover/index.mjs +1 -0
- package/cli.mjs +157 -0
- package/client.d.ts +7 -0
- package/config/assetpack.mjs +212 -0
- package/config/tsconfig.base.json +28 -0
- package/config/vite.mjs +2464 -0
- package/extras/css/accessibility.css +9 -0
- package/extras/css/fullscreen.css +28 -0
- package/extras/css/loader.css +67 -0
- package/extras/llms.txt +1602 -0
- package/lib/CaptionsPlugin-Dc8fIrjy.js +277 -0
- package/lib/CaptionsPlugin-Dc8fIrjy.js.map +1 -0
- package/lib/DataAdapter-BY2114sp.js +84 -0
- package/lib/DataAdapter-BY2114sp.js.map +1 -0
- package/lib/DebugRenderer-BJMLILqI.js +1385 -0
- package/lib/DebugRenderer-BJMLILqI.js.map +1 -0
- package/lib/DevToolsPlugin-wQ5rOkn0.js +31 -0
- package/lib/DevToolsPlugin-wQ5rOkn0.js.map +1 -0
- package/lib/GSAPPlugin-DHhSZKv8.js +350 -0
- package/lib/GSAPPlugin-DHhSZKv8.js.map +1 -0
- package/lib/LayoutPlugin-B-DF9SYM.js +1271 -0
- package/lib/LayoutPlugin-B-DF9SYM.js.map +1 -0
- package/lib/SpinePlugin-Dz_3dljz.js +6077 -0
- package/lib/SpinePlugin-Dz_3dljz.js.map +1 -0
- package/lib/StatsPlugin-Cg82JMBD.js +70 -0
- package/lib/StatsPlugin-Cg82JMBD.js.map +1 -0
- package/lib/VoiceOverPlugin-BR3ImT8C.js +114 -0
- package/lib/VoiceOverPlugin-BR3ImT8C.js.map +1 -0
- package/lib/caper.mjs +1233 -0
- package/lib/caper.mjs.map +1 -0
- package/lib/core/Application.d.ts +268 -0
- package/lib/core/Application.d.ts.map +1 -0
- package/lib/core/config.d.ts +39 -0
- package/lib/core/config.d.ts.map +1 -0
- package/lib/core/create.d.ts +41 -0
- package/lib/core/create.d.ts.map +1 -0
- package/lib/core/globals.d.ts +51 -0
- package/lib/core/globals.d.ts.map +1 -0
- package/lib/core/index.d.ts +7 -0
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/interfaces/IApplication.d.ts +566 -0
- package/lib/core/interfaces/IApplication.d.ts.map +1 -0
- package/lib/core/interfaces/IApplicationOptions.d.ts +65 -0
- package/lib/core/interfaces/IApplicationOptions.d.ts.map +1 -0
- package/lib/core/interfaces/ICoreFunctions.d.ts +49 -0
- package/lib/core/interfaces/ICoreFunctions.d.ts.map +1 -0
- package/lib/core/interfaces/ICoreSignals.d.ts +57 -0
- package/lib/core/interfaces/ICoreSignals.d.ts.map +1 -0
- package/lib/core/interfaces/IStorageCapability.d.ts +20 -0
- package/lib/core/interfaces/IStorageCapability.d.ts.map +1 -0
- package/lib/core/interfaces/IStorageCapability.test.d.ts +2 -0
- package/lib/core/interfaces/IStorageCapability.test.d.ts.map +1 -0
- package/lib/core/interfaces/index.d.ts +7 -0
- package/lib/core/interfaces/index.d.ts.map +1 -0
- package/lib/core/registries.d.ts +8 -0
- package/lib/core/registries.d.ts.map +1 -0
- package/lib/core/types.d.ts +12 -0
- package/lib/core/types.d.ts.map +1 -0
- package/lib/display/AnimatedSprite.d.ts +40 -0
- package/lib/display/AnimatedSprite.d.ts.map +1 -0
- package/lib/display/Camera.d.ts +102 -0
- package/lib/display/Camera.d.ts.map +1 -0
- package/lib/display/Container.d.ts +115 -0
- package/lib/display/Container.d.ts.map +1 -0
- package/lib/display/Entity.d.ts +46 -0
- package/lib/display/Entity.d.ts.map +1 -0
- package/lib/display/ParticleContainer.d.ts +58 -0
- package/lib/display/ParticleContainer.d.ts.map +1 -0
- package/lib/display/Scene.d.ts +250 -0
- package/lib/display/Scene.d.ts.map +1 -0
- package/lib/display/SceneTransition.d.ts +41 -0
- package/lib/display/SceneTransition.d.ts.map +1 -0
- package/lib/display/SpineAnimation.d.ts +76 -0
- package/lib/display/SpineAnimation.d.ts.map +1 -0
- package/lib/display/Svg.d.ts +5 -0
- package/lib/display/Svg.d.ts.map +1 -0
- package/lib/display/index.d.ts +10 -0
- package/lib/display/index.d.ts.map +1 -0
- package/lib/env.d.ts +6 -0
- package/lib/hello.d.ts +2 -0
- package/lib/hello.d.ts.map +1 -0
- package/lib/index.d.ts +15 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/mixins/animated.d.ts +53 -0
- package/lib/mixins/animated.d.ts.map +1 -0
- package/lib/mixins/factory/Factory.d.ts +8 -0
- package/lib/mixins/factory/Factory.d.ts.map +1 -0
- package/lib/mixins/factory/const.d.ts +67 -0
- package/lib/mixins/factory/const.d.ts.map +1 -0
- package/lib/mixins/factory/index.d.ts +8 -0
- package/lib/mixins/factory/index.d.ts.map +1 -0
- package/lib/mixins/factory/methods.d.ts +3 -0
- package/lib/mixins/factory/methods.d.ts.map +1 -0
- package/lib/mixins/factory/props.d.ts +160 -0
- package/lib/mixins/factory/props.d.ts.map +1 -0
- package/lib/mixins/factory/registry.d.ts +27 -0
- package/lib/mixins/factory/registry.d.ts.map +1 -0
- package/lib/mixins/factory/registry.test.d.ts +2 -0
- package/lib/mixins/factory/registry.test.d.ts.map +1 -0
- package/lib/mixins/factory/schema.d.ts +71 -0
- package/lib/mixins/factory/schema.d.ts.map +1 -0
- package/lib/mixins/factory/ui-registry.d.ts +20 -0
- package/lib/mixins/factory/ui-registry.d.ts.map +1 -0
- package/lib/mixins/factory/utils.d.ts +11 -0
- package/lib/mixins/factory/utils.d.ts.map +1 -0
- package/lib/mixins/focus.d.ts +15 -0
- package/lib/mixins/focus.d.ts.map +1 -0
- package/lib/mixins/index.d.ts +6 -0
- package/lib/mixins/index.d.ts.map +1 -0
- package/lib/mixins/interaction.d.ts +20 -0
- package/lib/mixins/interaction.d.ts.map +1 -0
- package/lib/mixins/signals.d.ts +15 -0
- package/lib/mixins/signals.d.ts.map +1 -0
- package/lib/plugins/AssetsPlugin.d.ts +79 -0
- package/lib/plugins/AssetsPlugin.d.ts.map +1 -0
- package/lib/plugins/DataAdapter.d.ts +95 -0
- package/lib/plugins/DataAdapter.d.ts.map +1 -0
- package/lib/plugins/DevToolsPlugin.d.ts +97 -0
- package/lib/plugins/DevToolsPlugin.d.ts.map +1 -0
- package/lib/plugins/FullScreenPlugin.d.ts +240 -0
- package/lib/plugins/FullScreenPlugin.d.ts.map +1 -0
- package/lib/plugins/GSAPPlugin.d.ts +634 -0
- package/lib/plugins/GSAPPlugin.d.ts.map +1 -0
- package/lib/plugins/KeyboardPlugin.d.ts +53 -0
- package/lib/plugins/KeyboardPlugin.d.ts.map +1 -0
- package/lib/plugins/LayoutPlugin.d.ts +100 -0
- package/lib/plugins/LayoutPlugin.d.ts.map +1 -0
- package/lib/plugins/LookupPlugin.d.ts +223 -0
- package/lib/plugins/LookupPlugin.d.ts.map +1 -0
- package/lib/plugins/Plugin.d.ts +132 -0
- package/lib/plugins/Plugin.d.ts.map +1 -0
- package/lib/plugins/Plugin.test.d.ts +2 -0
- package/lib/plugins/Plugin.test.d.ts.map +1 -0
- package/lib/plugins/PopupManagerPlugin.d.ts +108 -0
- package/lib/plugins/PopupManagerPlugin.d.ts.map +1 -0
- package/lib/plugins/ResizerPlugin.d.ts +62 -0
- package/lib/plugins/ResizerPlugin.d.ts.map +1 -0
- package/lib/plugins/SceneManagerPlugin.d.ts +122 -0
- package/lib/plugins/SceneManagerPlugin.d.ts.map +1 -0
- package/lib/plugins/StatsPlugin.d.ts +8 -0
- package/lib/plugins/StatsPlugin.d.ts.map +1 -0
- package/lib/plugins/TimerPlugin.d.ts +401 -0
- package/lib/plugins/TimerPlugin.d.ts.map +1 -0
- package/lib/plugins/WebEventsPlugin.d.ts +60 -0
- package/lib/plugins/WebEventsPlugin.d.ts.map +1 -0
- package/lib/plugins/actions/ActionsPlugin.d.ts +39 -0
- package/lib/plugins/actions/ActionsPlugin.d.ts.map +1 -0
- package/lib/plugins/actions/constants.d.ts +52 -0
- package/lib/plugins/actions/constants.d.ts.map +1 -0
- package/lib/plugins/actions/index.d.ts +5 -0
- package/lib/plugins/actions/index.d.ts.map +1 -0
- package/lib/plugins/actions/methods.d.ts +11 -0
- package/lib/plugins/actions/methods.d.ts.map +1 -0
- package/lib/plugins/actions/types.d.ts +25 -0
- package/lib/plugins/actions/types.d.ts.map +1 -0
- package/lib/plugins/audio/AudioChannel.d.ts +46 -0
- package/lib/plugins/audio/AudioChannel.d.ts.map +1 -0
- package/lib/plugins/audio/AudioChannel.test.d.ts +2 -0
- package/lib/plugins/audio/AudioChannel.test.d.ts.map +1 -0
- package/lib/plugins/audio/AudioInstance.d.ts +79 -0
- package/lib/plugins/audio/AudioInstance.d.ts.map +1 -0
- package/lib/plugins/audio/AudioManagerPlugin.d.ts +323 -0
- package/lib/plugins/audio/AudioManagerPlugin.d.ts.map +1 -0
- package/lib/plugins/audio/VoiceOverPlugin.d.ts +69 -0
- package/lib/plugins/audio/VoiceOverPlugin.d.ts.map +1 -0
- package/lib/plugins/audio/index.d.ts +4 -0
- package/lib/plugins/audio/index.d.ts.map +1 -0
- package/lib/plugins/breakpoints/BreakpointPlugin.d.ts +109 -0
- package/lib/plugins/breakpoints/BreakpointPlugin.d.ts.map +1 -0
- package/lib/plugins/breakpoints/BreakpointPlugin.test.d.ts +2 -0
- package/lib/plugins/breakpoints/BreakpointPlugin.test.d.ts.map +1 -0
- package/lib/plugins/breakpoints/evaluate.d.ts +53 -0
- package/lib/plugins/breakpoints/evaluate.d.ts.map +1 -0
- package/lib/plugins/breakpoints/evaluate.test.d.ts +2 -0
- package/lib/plugins/breakpoints/evaluate.test.d.ts.map +1 -0
- package/lib/plugins/breakpoints/index.d.ts +4 -0
- package/lib/plugins/breakpoints/index.d.ts.map +1 -0
- package/lib/plugins/breakpoints/methods.d.ts +23 -0
- package/lib/plugins/breakpoints/methods.d.ts.map +1 -0
- package/lib/plugins/breakpoints/types.d.ts +70 -0
- package/lib/plugins/breakpoints/types.d.ts.map +1 -0
- package/lib/plugins/captions/CaptionsPlugin.d.ts +150 -0
- package/lib/plugins/captions/CaptionsPlugin.d.ts.map +1 -0
- package/lib/plugins/captions/CaptionsRenderer.d.ts +37 -0
- package/lib/plugins/captions/CaptionsRenderer.d.ts.map +1 -0
- package/lib/plugins/captions/index.d.ts +3 -0
- package/lib/plugins/captions/index.d.ts.map +1 -0
- package/lib/plugins/defaults.d.ts +4 -0
- package/lib/plugins/defaults.d.ts.map +1 -0
- package/lib/plugins/focus/FocusManagerPlugin.d.ts +148 -0
- package/lib/plugins/focus/FocusManagerPlugin.d.ts.map +1 -0
- package/lib/plugins/focus/FocusOutliner.d.ts +32 -0
- package/lib/plugins/focus/FocusOutliner.d.ts.map +1 -0
- package/lib/plugins/focus/index.d.ts +3 -0
- package/lib/plugins/focus/index.d.ts.map +1 -0
- package/lib/plugins/i18nPlugin.d.ts +128 -0
- package/lib/plugins/i18nPlugin.d.ts.map +1 -0
- package/lib/plugins/index.d.ts +18 -0
- package/lib/plugins/index.d.ts.map +1 -0
- package/lib/plugins/input/AbstractControls.d.ts +8 -0
- package/lib/plugins/input/AbstractControls.d.ts.map +1 -0
- package/lib/plugins/input/Controls.d.ts +16 -0
- package/lib/plugins/input/Controls.d.ts.map +1 -0
- package/lib/plugins/input/InputPlugin.d.ts +52 -0
- package/lib/plugins/input/InputPlugin.d.ts.map +1 -0
- package/lib/plugins/input/constants.d.ts +8 -0
- package/lib/plugins/input/constants.d.ts.map +1 -0
- package/lib/plugins/input/index.d.ts +10 -0
- package/lib/plugins/input/index.d.ts.map +1 -0
- package/lib/plugins/input/interfaces.d.ts +30 -0
- package/lib/plugins/input/interfaces.d.ts.map +1 -0
- package/lib/plugins/input/keyboard/KeyboardContols.d.ts +28 -0
- package/lib/plugins/input/keyboard/KeyboardContols.d.ts.map +1 -0
- package/lib/plugins/input/keyboard/index.d.ts +3 -0
- package/lib/plugins/input/keyboard/index.d.ts.map +1 -0
- package/lib/plugins/input/keyboard/interfaces.d.ts +18 -0
- package/lib/plugins/input/keyboard/interfaces.d.ts.map +1 -0
- package/lib/plugins/input/methods.d.ts +4 -0
- package/lib/plugins/input/methods.d.ts.map +1 -0
- package/lib/plugins/input/touch/TouchControls.d.ts +35 -0
- package/lib/plugins/input/touch/TouchControls.d.ts.map +1 -0
- package/lib/plugins/input/touch/constants.d.ts +14 -0
- package/lib/plugins/input/touch/constants.d.ts.map +1 -0
- package/lib/plugins/input/touch/index.d.ts +4 -0
- package/lib/plugins/input/touch/index.d.ts.map +1 -0
- package/lib/plugins/input/touch/interfaces.d.ts +15 -0
- package/lib/plugins/input/touch/interfaces.d.ts.map +1 -0
- package/lib/plugins/input/types.d.ts +32 -0
- package/lib/plugins/input/types.d.ts.map +1 -0
- package/lib/plugins/input/utils.d.ts +23 -0
- package/lib/plugins/input/utils.d.ts.map +1 -0
- package/lib/plugins/spine/SpinePlugin.d.ts +6 -0
- package/lib/plugins/spine/SpinePlugin.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/BatchableSpineSlot.d.ts +31 -0
- package/lib/plugins/spine/pixi-spine/BatchableSpineSlot.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/Spine.d.ts +211 -0
- package/lib/plugins/spine/pixi-spine/Spine.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/SpineDebugRenderer.d.ts +81 -0
- package/lib/plugins/spine/pixi-spine/SpineDebugRenderer.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/SpinePipe.d.ts +21 -0
- package/lib/plugins/spine/pixi-spine/SpinePipe.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/SpineTexture.d.ts +16 -0
- package/lib/plugins/spine/pixi-spine/SpineTexture.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/assets/atlasLoader.d.ts +10 -0
- package/lib/plugins/spine/pixi-spine/assets/atlasLoader.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/assets/skeletonLoader.d.ts +6 -0
- package/lib/plugins/spine/pixi-spine/assets/skeletonLoader.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.d.ts +5 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatcher.d.ts +22 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatcher.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintShader.d.ts +5 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintShader.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/darktint/darkTintBit.d.ts +51 -0
- package/lib/plugins/spine/pixi-spine/darktint/darkTintBit.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/index.d.ts +9 -0
- package/lib/plugins/spine/pixi-spine/index.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/require-shim.d.ts +34 -0
- package/lib/plugins/spine/pixi-spine/require-shim.d.ts.map +1 -0
- package/lib/registries-CYCaYKZI.js +6885 -0
- package/lib/registries-CYCaYKZI.js.map +1 -0
- package/lib/signals/Signal.d.ts +16 -0
- package/lib/signals/Signal.d.ts.map +1 -0
- package/lib/signals/Signal.test.d.ts +2 -0
- package/lib/signals/Signal.test.d.ts.map +1 -0
- package/lib/signals/index.d.ts +3 -0
- package/lib/signals/index.d.ts.map +1 -0
- package/lib/store/Store.d.ts +56 -0
- package/lib/store/Store.d.ts.map +1 -0
- package/lib/store/Store.test.d.ts +2 -0
- package/lib/store/Store.test.d.ts.map +1 -0
- package/lib/store/index.d.ts +2 -0
- package/lib/store/index.d.ts.map +1 -0
- package/lib/types/framework.d.ts +46 -0
- package/lib/types/gsap.d.ts +23 -0
- package/lib/ui/Button.d.ts +162 -0
- package/lib/ui/Button.d.ts.map +1 -0
- package/lib/ui/FlexContainer.d.ts +109 -0
- package/lib/ui/FlexContainer.d.ts.map +1 -0
- package/lib/ui/Input.d.ts +384 -0
- package/lib/ui/Input.d.ts.map +1 -0
- package/lib/ui/Joystick.d.ts +61 -0
- package/lib/ui/Joystick.d.ts.map +1 -0
- package/lib/ui/Popup.d.ts +109 -0
- package/lib/ui/Popup.d.ts.map +1 -0
- package/lib/ui/Toast.d.ts +131 -0
- package/lib/ui/Toast.d.ts.map +1 -0
- package/lib/ui/Toaster.d.ts +188 -0
- package/lib/ui/Toaster.d.ts.map +1 -0
- package/lib/ui/UICanvas.d.ts +155 -0
- package/lib/ui/UICanvas.d.ts.map +1 -0
- package/lib/ui/index.d.ts +9 -0
- package/lib/ui/index.d.ts.map +1 -0
- package/lib/utils/array.d.ts +11 -0
- package/lib/utils/array.d.ts.map +1 -0
- package/lib/utils/bind.d.ts +21 -0
- package/lib/utils/bind.d.ts.map +1 -0
- package/lib/utils/canvas.d.ts +2 -0
- package/lib/utils/canvas.d.ts.map +1 -0
- package/lib/utils/color.d.ts +66 -0
- package/lib/utils/color.d.ts.map +1 -0
- package/lib/utils/console/Logger.d.ts +15 -0
- package/lib/utils/console/Logger.d.ts.map +1 -0
- package/lib/utils/console/index.d.ts +2 -0
- package/lib/utils/console/index.d.ts.map +1 -0
- package/lib/utils/debug.d.ts +34 -0
- package/lib/utils/debug.d.ts.map +1 -0
- package/lib/utils/define.d.ts +100 -0
- package/lib/utils/define.d.ts.map +1 -0
- package/lib/utils/env.d.ts +4 -0
- package/lib/utils/env.d.ts.map +1 -0
- package/lib/utils/events.d.ts +12 -0
- package/lib/utils/events.d.ts.map +1 -0
- package/lib/utils/framework.d.ts +12 -0
- package/lib/utils/framework.d.ts.map +1 -0
- package/lib/utils/index.d.ts +28 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/map.d.ts +31 -0
- package/lib/utils/map.d.ts.map +1 -0
- package/lib/utils/math.d.ts +15 -0
- package/lib/utils/math.d.ts.map +1 -0
- package/lib/utils/misc.d.ts +13 -0
- package/lib/utils/misc.d.ts.map +1 -0
- package/lib/utils/number.d.ts +2 -0
- package/lib/utils/number.d.ts.map +1 -0
- package/lib/utils/object.d.ts +21 -0
- package/lib/utils/object.d.ts.map +1 -0
- package/lib/utils/padding.d.ts +4 -0
- package/lib/utils/padding.d.ts.map +1 -0
- package/lib/utils/pixi.d.ts +42 -0
- package/lib/utils/pixi.d.ts.map +1 -0
- package/lib/utils/platform.d.ts +20 -0
- package/lib/utils/platform.d.ts.map +1 -0
- package/lib/utils/point.d.ts +66 -0
- package/lib/utils/point.d.ts.map +1 -0
- package/lib/utils/promise/Queue.d.ts +60 -0
- package/lib/utils/promise/Queue.d.ts.map +1 -0
- package/lib/utils/promise/functions.d.ts +14 -0
- package/lib/utils/promise/functions.d.ts.map +1 -0
- package/lib/utils/promise/index.d.ts +3 -0
- package/lib/utils/promise/index.d.ts.map +1 -0
- package/lib/utils/random.d.ts +42 -0
- package/lib/utils/random.d.ts.map +1 -0
- package/lib/utils/rect.d.ts +26 -0
- package/lib/utils/rect.d.ts.map +1 -0
- package/lib/utils/set.d.ts +15 -0
- package/lib/utils/set.d.ts.map +1 -0
- package/lib/utils/string.d.ts +3 -0
- package/lib/utils/string.d.ts.map +1 -0
- package/lib/utils/text.d.ts +3 -0
- package/lib/utils/text.d.ts.map +1 -0
- package/lib/utils/typefilters.d.ts +4 -0
- package/lib/utils/typefilters.d.ts.map +1 -0
- package/lib/utils/types.d.ts +209 -0
- package/lib/utils/types.d.ts.map +1 -0
- package/lib/utils/vite.d.ts +25 -0
- package/lib/utils/vite.d.ts.map +1 -0
- package/lib/utils/web.d.ts +3 -0
- package/lib/utils/web.d.ts.map +1 -0
- package/lib/version.d.ts +3 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/webgl-check.d.ts +2 -0
- package/lib/webgl-check.d.ts.map +1 -0
- package/package.json +138 -0
- package/src/core/Application.ts +1091 -0
- package/src/core/config.ts +168 -0
- package/src/core/create.ts +186 -0
- package/src/core/globals.ts +299 -0
- package/src/core/index.ts +6 -0
- package/src/core/interfaces/IApplication.ts +628 -0
- package/src/core/interfaces/IApplicationOptions.ts +81 -0
- package/src/core/interfaces/ICoreFunctions.ts +86 -0
- package/src/core/interfaces/ICoreSignals.ts +77 -0
- package/src/core/interfaces/IStorageCapability.test.ts +27 -0
- package/src/core/interfaces/IStorageCapability.ts +26 -0
- package/src/core/interfaces/index.ts +6 -0
- package/src/core/registries.ts +7 -0
- package/src/core/types.ts +13 -0
- package/src/display/AnimatedSprite.ts +227 -0
- package/src/display/Camera.ts +371 -0
- package/src/display/Container.ts +240 -0
- package/src/display/Entity.ts +50 -0
- package/src/display/ParticleContainer.ts +107 -0
- package/src/display/Scene.ts +305 -0
- package/src/display/SceneTransition.ts +108 -0
- package/src/display/SpineAnimation.ts +170 -0
- package/src/display/Svg.ts +9 -0
- package/src/display/index.ts +11 -0
- package/src/env.d.ts +6 -0
- package/src/hello.ts +20 -0
- package/src/index.ts +17 -0
- package/src/mixins/animated.ts +340 -0
- package/src/mixins/factory/Factory.ts +24 -0
- package/src/mixins/factory/const.ts +363 -0
- package/src/mixins/factory/index.ts +7 -0
- package/src/mixins/factory/methods.ts +21 -0
- package/src/mixins/factory/props.ts +207 -0
- package/src/mixins/factory/registry.test.ts +83 -0
- package/src/mixins/factory/registry.ts +61 -0
- package/src/mixins/factory/schema.ts +153 -0
- package/src/mixins/factory/ui-registry.ts +54 -0
- package/src/mixins/factory/utils.ts +130 -0
- package/src/mixins/focus.ts +124 -0
- package/src/mixins/index.ts +5 -0
- package/src/mixins/interaction.ts +74 -0
- package/src/mixins/signals.ts +49 -0
- package/src/plugins/AssetsPlugin.ts +407 -0
- package/src/plugins/DataAdapter.ts +259 -0
- package/src/plugins/DevToolsPlugin.ts +103 -0
- package/src/plugins/FullScreenPlugin.ts +359 -0
- package/src/plugins/GSAPPlugin.ts +811 -0
- package/src/plugins/KeyboardPlugin.ts +160 -0
- package/src/plugins/LayoutPlugin.ts +127 -0
- package/src/plugins/LookupPlugin.ts +308 -0
- package/src/plugins/Plugin.test.ts +73 -0
- package/src/plugins/Plugin.ts +200 -0
- package/src/plugins/PopupManagerPlugin.ts +263 -0
- package/src/plugins/ResizerPlugin.ts +220 -0
- package/src/plugins/SceneManagerPlugin.ts +669 -0
- package/src/plugins/StatsPlugin.ts +24 -0
- package/src/plugins/TimerPlugin.ts +841 -0
- package/src/plugins/WebEventsPlugin.ts +132 -0
- package/src/plugins/actions/ActionsPlugin.ts +113 -0
- package/src/plugins/actions/constants.ts +45 -0
- package/src/plugins/actions/index.ts +4 -0
- package/src/plugins/actions/methods.ts +28 -0
- package/src/plugins/actions/types.ts +47 -0
- package/src/plugins/audio/AudioChannel.test.ts +101 -0
- package/src/plugins/audio/AudioChannel.ts +164 -0
- package/src/plugins/audio/AudioInstance.ts +228 -0
- package/src/plugins/audio/AudioManagerPlugin.ts +903 -0
- package/src/plugins/audio/VoiceOverPlugin.ts +354 -0
- package/src/plugins/audio/index.ts +3 -0
- package/src/plugins/breakpoints/BreakpointPlugin.test.ts +228 -0
- package/src/plugins/breakpoints/BreakpointPlugin.ts +293 -0
- package/src/plugins/breakpoints/evaluate.test.ts +239 -0
- package/src/plugins/breakpoints/evaluate.ts +201 -0
- package/src/plugins/breakpoints/index.ts +3 -0
- package/src/plugins/breakpoints/methods.ts +22 -0
- package/src/plugins/breakpoints/types.ts +86 -0
- package/src/plugins/captions/CaptionsPlugin.ts +468 -0
- package/src/plugins/captions/CaptionsRenderer.ts +184 -0
- package/src/plugins/captions/font/Sans.fnt +116 -0
- package/src/plugins/captions/font/Sans.png +0 -0
- package/src/plugins/captions/index.ts +2 -0
- package/src/plugins/defaults.ts +95 -0
- package/src/plugins/focus/FocusManagerPlugin.ts +773 -0
- package/src/plugins/focus/FocusOutliner.ts +111 -0
- package/src/plugins/focus/index.ts +2 -0
- package/src/plugins/i18nPlugin.ts +284 -0
- package/src/plugins/index.ts +17 -0
- package/src/plugins/input/AbstractControls.ts +15 -0
- package/src/plugins/input/Controls.ts +55 -0
- package/src/plugins/input/InputPlugin.ts +168 -0
- package/src/plugins/input/constants.ts +12 -0
- package/src/plugins/input/index.ts +9 -0
- package/src/plugins/input/interfaces.ts +37 -0
- package/src/plugins/input/keyboard/KeyboardContols.ts +182 -0
- package/src/plugins/input/keyboard/index.ts +2 -0
- package/src/plugins/input/keyboard/interfaces.ts +21 -0
- package/src/plugins/input/methods.ts +9 -0
- package/src/plugins/input/touch/TouchControls.ts +237 -0
- package/src/plugins/input/touch/constants.ts +34 -0
- package/src/plugins/input/touch/index.ts +3 -0
- package/src/plugins/input/touch/interfaces.ts +15 -0
- package/src/plugins/input/types.ts +41 -0
- package/src/plugins/input/utils.ts +10 -0
- package/src/plugins/spine/SpinePlugin.ts +14 -0
- package/src/plugins/spine/pixi-spine/BatchableSpineSlot.ts +138 -0
- package/src/plugins/spine/pixi-spine/Spine.ts +897 -0
- package/src/plugins/spine/pixi-spine/SpineDebugRenderer.ts +615 -0
- package/src/plugins/spine/pixi-spine/SpinePipe.ts +197 -0
- package/src/plugins/spine/pixi-spine/SpineTexture.ts +143 -0
- package/src/plugins/spine/pixi-spine/assets/atlasLoader.ts +156 -0
- package/src/plugins/spine/pixi-spine/assets/skeletonLoader.ts +80 -0
- package/src/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.ts +92 -0
- package/src/plugins/spine/pixi-spine/darktint/DarkTintBatcher.ts +186 -0
- package/src/plugins/spine/pixi-spine/darktint/DarkTintShader.ts +74 -0
- package/src/plugins/spine/pixi-spine/darktint/darkTintBit.ts +77 -0
- package/src/plugins/spine/pixi-spine/index.ts +43 -0
- package/src/plugins/spine/pixi-spine/require-shim.ts +43 -0
- package/src/signals/Signal.test.ts +54 -0
- package/src/signals/Signal.ts +68 -0
- package/src/signals/index.ts +10 -0
- package/src/store/Store.test.ts +146 -0
- package/src/store/Store.ts +192 -0
- package/src/store/index.ts +1 -0
- package/src/types/framework.d.ts +47 -0
- package/src/types/gsap.d.ts +26 -0
- package/src/ui/Button.ts +454 -0
- package/src/ui/FlexContainer.ts +526 -0
- package/src/ui/Input.ts +1274 -0
- package/src/ui/Joystick.ts +288 -0
- package/src/ui/Popup.ts +242 -0
- package/src/ui/Toast.ts +399 -0
- package/src/ui/Toaster.ts +409 -0
- package/src/ui/UICanvas.ts +812 -0
- package/src/ui/index.ts +8 -0
- package/src/utils/array.ts +24 -0
- package/src/utils/bind.ts +79 -0
- package/src/utils/canvas.ts +26 -0
- package/src/utils/color.ts +126 -0
- package/src/utils/console/Logger.ts +86 -0
- package/src/utils/console/index.ts +1 -0
- package/src/utils/debug.ts +69 -0
- package/src/utils/define.ts +120 -0
- package/src/utils/env.ts +3 -0
- package/src/utils/events.ts +10 -0
- package/src/utils/framework.ts +45 -0
- package/src/utils/index.ts +27 -0
- package/src/utils/map.ts +59 -0
- package/src/utils/math.ts +19 -0
- package/src/utils/misc.ts +45 -0
- package/src/utils/number.ts +3 -0
- package/src/utils/object.ts +43 -0
- package/src/utils/padding.ts +43 -0
- package/src/utils/pixi.ts +116 -0
- package/src/utils/platform.ts +33 -0
- package/src/utils/point.ts +123 -0
- package/src/utils/promise/Queue.ts +125 -0
- package/src/utils/promise/functions.ts +16 -0
- package/src/utils/promise/index.ts +2 -0
- package/src/utils/random.ts +69 -0
- package/src/utils/rect.ts +50 -0
- package/src/utils/set.ts +32 -0
- package/src/utils/string.ts +9 -0
- package/src/utils/text.ts +30 -0
- package/src/utils/typefilters.ts +29 -0
- package/src/utils/types.ts +426 -0
- package/src/utils/vite.ts +41 -0
- package/src/utils/web.ts +7 -0
- package/src/version.ts +3 -0
- package/src/webgl-check.ts +12 -0
- package/templates/app/default/.eslintrc.json +21 -0
- package/templates/app/default/.meta.json +4 -0
- package/templates/app/default/.nvmrc +1 -0
- package/templates/app/default/.prettierrc.json +7 -0
- package/templates/app/default/README.md +8 -0
- package/templates/app/default/assets/audio{m}/music/Cheerful Annoyance.ogg +0 -0
- package/templates/app/default/assets/audio{m}/music/Drumming Sticks.ogg +0 -0
- package/templates/app/default/assets/audio{m}/music/Game Over.ogg +0 -0
- package/templates/app/default/assets/audio{m}/music/Mishief Stroll.ogg +0 -0
- package/templates/app/default/assets/audio{m}/music/Night at the Beach.ogg +0 -0
- package/templates/app/default/assets/audio{m}/sfx/click.ogg +0 -0
- package/templates/app/default/assets/audio{m}/sfx/hover.ogg +0 -0
- package/templates/app/default/assets/required{m}/caper.png +0 -0
- package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Bold{family=Space Grotesk}{wf}.ttf +0 -0
- package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Medium{family=Space Grotesk}{wf}.ttf +0 -0
- package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Regular{family=Space Grotesk}{wf}.ttf +0 -0
- package/templates/app/default/assets/required{m}/fonts{fix}/Syncopate-Bold{family=Syncopate}{wf}.ttf +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/blue.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/green.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/grey.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/orange.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/purple.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/red.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/yellow.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_a/down.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_a/over.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_a/up.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_b/down.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_b/over.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_b/up.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/joystick/base.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/joystick/handle.png +0 -0
- package/templates/app/default/assets/required{m}/wordmark.svg +1 -0
- package/templates/app/default/assets/spine{m}/spineboy-pro.png +0 -0
- package/templates/app/default/assets/spine{m}/spineboy-pro.skel +0 -0
- package/templates/app/default/assets/spine{m}/spineboy-pro{fix}.atlas +94 -0
- package/templates/app/default/caper.config.ts +60 -0
- package/templates/app/default/index.html +23 -0
- package/templates/app/default/package.template.json +17 -0
- package/templates/app/default/public/favicon.ico +0 -0
- package/templates/app/default/src/__APPLICATION_NAME__.ts +3 -0
- package/templates/app/default/src/main.ts +9 -0
- package/templates/app/default/src/scenes/Base.ts +39 -0
- package/templates/app/default/src/scenes/Game.ts +34 -0
- package/templates/app/default/src/scenes/Splash.ts +70 -0
- package/templates/app/default/src/scenes/Start.ts +90 -0
- package/templates/app/default/src/utils/Constants.ts +3 -0
- package/templates/app/default/tsconfig.json +1 -0
- package/templates/plugin/package.template.json +33 -0
- package/templates/plugin/src/Plugin.template.ts +24 -0
- package/templates/plugin/src/index.template.ts +3 -0
- package/templates/plugin/tsconfig.template.json +43 -0
- package/templates/plugin/vite-env.template.d.ts +16 -0
- package/templates/plugin/vite.config.template.ts +19 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Container } from 'pixi.js';
|
|
2
|
+
import { IApplication } from '../core';
|
|
3
|
+
import { IScene, ISceneTransition, SceneTransition } from '../display';
|
|
4
|
+
import { Signal } from '../signals';
|
|
5
|
+
import { AppTypeOverrides, AssetTypes, BundleTypes, SceneId, SceneImportList, SceneLoadArgs } from '../utils';
|
|
6
|
+
import { IPlugin, Plugin } from './Plugin';
|
|
7
|
+
export type AppScenes = AppTypeOverrides['Scenes'];
|
|
8
|
+
export interface ISceneManagerPlugin extends IPlugin {
|
|
9
|
+
isFirstScene: boolean;
|
|
10
|
+
onSceneChangeStart: Signal<(detail: {
|
|
11
|
+
exiting: string | null;
|
|
12
|
+
entering: string;
|
|
13
|
+
}) => void>;
|
|
14
|
+
onSceneChangeComplete: Signal<(detail: {
|
|
15
|
+
current: string;
|
|
16
|
+
}) => void>;
|
|
17
|
+
view: Container;
|
|
18
|
+
list: SceneImportList<IScene>;
|
|
19
|
+
splash: {
|
|
20
|
+
view: ISceneTransition | null;
|
|
21
|
+
hideWhen: SplashHideWhen;
|
|
22
|
+
zOrder: SplashZOrder;
|
|
23
|
+
};
|
|
24
|
+
transition?: ISceneTransition;
|
|
25
|
+
currentScene: IScene;
|
|
26
|
+
readonly ids: AppScenes[];
|
|
27
|
+
readonly defaultScene: string;
|
|
28
|
+
readonly debugGroupsList: any[];
|
|
29
|
+
setDefaultLoadMethod(method: LoadSceneMethod): void;
|
|
30
|
+
loadDefaultScene(): Promise<void>;
|
|
31
|
+
/** Typed overload — enforces `props` required when `Scene<Props>` declares a non-void generic. */
|
|
32
|
+
loadScene<K extends SceneId>(id: K, ...args: SceneLoadArgs<K>): Promise<void>;
|
|
33
|
+
loadScene(sceneIdOrLoadSceneConfig: LoadSceneConfig | AppScenes): Promise<void>;
|
|
34
|
+
getSceneFromHash(): string | null;
|
|
35
|
+
}
|
|
36
|
+
export type LoadSceneMethod = 'immediate' | 'exitEnter' | 'enterExit' | 'enterBehind' | 'transitionExitEnter' | 'exitTransitionEnter';
|
|
37
|
+
export type SplashHideWhen = 'firstSceneEnter' | 'requiredAssetsLoaded';
|
|
38
|
+
export type SplashZOrder = 'top' | 'bottom';
|
|
39
|
+
export type SplashOptions = {
|
|
40
|
+
view: ISceneTransition | typeof SceneTransition | null;
|
|
41
|
+
zOrder: SplashZOrder;
|
|
42
|
+
hideWhen: SplashHideWhen;
|
|
43
|
+
preload?: {
|
|
44
|
+
assets?: AssetTypes;
|
|
45
|
+
bundles?: BundleTypes;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export type LoadSceneConfig = {
|
|
49
|
+
id: AppScenes;
|
|
50
|
+
method?: LoadSceneMethod;
|
|
51
|
+
};
|
|
52
|
+
export declare class SceneManagerPlugin extends Plugin implements ISceneManagerPlugin {
|
|
53
|
+
readonly id: string;
|
|
54
|
+
onSceneChangeStart: Signal<(detail: {
|
|
55
|
+
exiting: string | null;
|
|
56
|
+
entering: string;
|
|
57
|
+
}) => void>;
|
|
58
|
+
onSceneChangeComplete: Signal<(detail: {
|
|
59
|
+
current: string;
|
|
60
|
+
}) => void>;
|
|
61
|
+
splash: {
|
|
62
|
+
view: ISceneTransition | null;
|
|
63
|
+
hideWhen: SplashHideWhen;
|
|
64
|
+
zOrder: SplashZOrder;
|
|
65
|
+
preload?: {
|
|
66
|
+
assets?: AssetTypes;
|
|
67
|
+
bundles?: BundleTypes;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
transition?: ISceneTransition;
|
|
71
|
+
view: Container;
|
|
72
|
+
isFirstScene: boolean;
|
|
73
|
+
list: SceneImportList<IScene>;
|
|
74
|
+
groupOrder: string[];
|
|
75
|
+
currentScene: IScene;
|
|
76
|
+
defaultScene: string;
|
|
77
|
+
debugGroupsList: any[];
|
|
78
|
+
private _sceneModules;
|
|
79
|
+
/** Props for the pending `loadScene(id, props)` call, assigned onto the new scene before `initialize()` runs. */
|
|
80
|
+
private _pendingLoadProps;
|
|
81
|
+
private _lastScene;
|
|
82
|
+
private _queue;
|
|
83
|
+
private _defaultLoadMethod;
|
|
84
|
+
private _currentSceneId;
|
|
85
|
+
private _debugVisible;
|
|
86
|
+
private _debugMenu;
|
|
87
|
+
private _useHash;
|
|
88
|
+
private _sceneSelect;
|
|
89
|
+
constructor();
|
|
90
|
+
get ids(): string[];
|
|
91
|
+
setDefaultLoadMethod(method: LoadSceneMethod): void;
|
|
92
|
+
destroy(): void;
|
|
93
|
+
initialize(_options: any, app: IApplication): Promise<void>;
|
|
94
|
+
private _onPause;
|
|
95
|
+
private _onResume;
|
|
96
|
+
loadDefaultScene(): Promise<void>;
|
|
97
|
+
loadScene<K extends SceneId>(id: K, ...args: SceneLoadArgs<K>): Promise<void>;
|
|
98
|
+
loadScene(sceneIdOrLoadSceneConfig: LoadSceneConfig | string): Promise<void>;
|
|
99
|
+
getSceneFromHash(): string | null;
|
|
100
|
+
protected getCoreSignals(): string[];
|
|
101
|
+
protected getCoreFunctions(): string[];
|
|
102
|
+
private _listenForHashChange;
|
|
103
|
+
private _createCurrentScene;
|
|
104
|
+
private _queueComplete;
|
|
105
|
+
private _destroyLastScene;
|
|
106
|
+
private _exitLastScene;
|
|
107
|
+
private _loadCurrentScene;
|
|
108
|
+
private _unloadLastScene;
|
|
109
|
+
private _initializeCurrentScene;
|
|
110
|
+
private _addCurrentScene;
|
|
111
|
+
private _addCurrentSceneBehind;
|
|
112
|
+
private _enterCurrentScene;
|
|
113
|
+
private _startCurrentScene;
|
|
114
|
+
private _showTransition;
|
|
115
|
+
private _hideTransition;
|
|
116
|
+
private _showSplash;
|
|
117
|
+
private _hideSplash;
|
|
118
|
+
private _createDebugMenu;
|
|
119
|
+
private _enableDebugMenu;
|
|
120
|
+
private _disableDebugMenu;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=SceneManagerPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneManagerPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/SceneManagerPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatsPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/StatsPlugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,WAAY,SAAQ,MAAM;IACrC,SAAgB,EAAE,iBAAiB;IAC5B,KAAK,EAAE,KAAK,CAAC;IAEP,UAAU;CAcxB"}
|
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
import { Signal } from '../signals';
|
|
2
|
+
import { IPlugin, Plugin } from './Plugin';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for creating a timer.
|
|
5
|
+
*/
|
|
6
|
+
export interface TimerOptions {
|
|
7
|
+
/** Duration in milliseconds. If not provided, timer counts up indefinitely */
|
|
8
|
+
duration?: number;
|
|
9
|
+
/** Whether to start the timer immediately upon creation */
|
|
10
|
+
autoStart?: boolean;
|
|
11
|
+
/** Whether to restart the timer when it completes */
|
|
12
|
+
loop?: boolean;
|
|
13
|
+
/** Run timer in a web worker for better performance and independence from main thread */
|
|
14
|
+
useWorker?: boolean;
|
|
15
|
+
/** Update interval in milliseconds for worker-based timers. Default is 16ms (roughly 60fps) */
|
|
16
|
+
workerInterval?: number;
|
|
17
|
+
/** Callback fired when the timer completes. Not called in count-up mode */
|
|
18
|
+
onComplete?: () => void;
|
|
19
|
+
/** Callback fired on each timer tick with the remaining time (or elapsed time in count-up mode) */
|
|
20
|
+
onTick?: (remaining: number) => void;
|
|
21
|
+
}
|
|
22
|
+
export type TimeFormat = 'mm:ss' | 'hh:mm:ss' | 'ms';
|
|
23
|
+
export type TimerObject = {
|
|
24
|
+
h: number;
|
|
25
|
+
m: number;
|
|
26
|
+
s: number;
|
|
27
|
+
ms: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Formats a time duration in milliseconds into a human-readable string or object.
|
|
31
|
+
* Supports multiple time formats and return types for flexible time representation.
|
|
32
|
+
*
|
|
33
|
+
* @param ms - Time duration in milliseconds to format
|
|
34
|
+
* @param format - Output format for string representation
|
|
35
|
+
* - 'mm:ss' (default): Minutes and seconds (e.g., "02:30")
|
|
36
|
+
* - 'hh:mm:ss': Hours, minutes, and seconds (e.g., "01:30:45")
|
|
37
|
+
* - 'ms': Total seconds with milliseconds (e.g., "90.50")
|
|
38
|
+
* @param returnFormat - Determines the return type
|
|
39
|
+
* - 'string' (default): Returns formatted time string
|
|
40
|
+
* - 'object': Returns object with h, m, s, ms properties
|
|
41
|
+
*
|
|
42
|
+
* @returns Formatted time string or object containing time components
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Format as mm:ss string (default)
|
|
47
|
+
* formatTime(150000) // "02:30"
|
|
48
|
+
*
|
|
49
|
+
* // Format as hh:mm:ss string
|
|
50
|
+
* formatTime(5430000, 'hh:mm:ss') // "01:30:30"
|
|
51
|
+
*
|
|
52
|
+
* // Format as seconds with milliseconds
|
|
53
|
+
* formatTime(90500, 'ms') // "90.50"
|
|
54
|
+
*
|
|
55
|
+
* // Get time components as object
|
|
56
|
+
* formatTime(5430000, 'hh:mm:ss', 'object')
|
|
57
|
+
* // Returns: { h: 1, m: 30, s: 30, ms: 0 }
|
|
58
|
+
*
|
|
59
|
+
* // Use in a game timer display
|
|
60
|
+
* timer.onTick = (remaining) => {
|
|
61
|
+
* display.text = formatTime(remaining, 'mm:ss');
|
|
62
|
+
* };
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function formatTime(ms: number, format?: TimeFormat, returnFormat?: 'object'): TimerObject;
|
|
66
|
+
export declare function formatTime(ms: number, format?: TimeFormat, returnFormat?: 'string'): string;
|
|
67
|
+
/**
|
|
68
|
+
* A Timer instance that can count down or up, optionally running in a web worker.
|
|
69
|
+
*
|
|
70
|
+
* Features:
|
|
71
|
+
* - Count down from a duration or count up indefinitely
|
|
72
|
+
* - Run in main thread (synced with Pixi ticker) or web worker
|
|
73
|
+
* - Pause, resume, and reset functionality
|
|
74
|
+
* - Loop option for repeating timers
|
|
75
|
+
* - Tick and completion callbacks
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* // Create a 10-second countdown timer
|
|
80
|
+
* const timer = new Timer({
|
|
81
|
+
* duration: 10000,
|
|
82
|
+
* autoStart: true,
|
|
83
|
+
* loop: true,
|
|
84
|
+
* onTick: (remaining) => {
|
|
85
|
+
* console.log(`${remaining / 1000} seconds remaining`);
|
|
86
|
+
* },
|
|
87
|
+
* onComplete: () => {
|
|
88
|
+
* console.log('Timer completed!');
|
|
89
|
+
* }
|
|
90
|
+
* }, timerPlugin);
|
|
91
|
+
*
|
|
92
|
+
* // Pause the timer
|
|
93
|
+
* timer.pause();
|
|
94
|
+
*
|
|
95
|
+
* // Resume the timer
|
|
96
|
+
* timer.start();
|
|
97
|
+
*
|
|
98
|
+
* // Reset the timer
|
|
99
|
+
* timer.reset();
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export declare class Timer {
|
|
103
|
+
private options;
|
|
104
|
+
private plugin;
|
|
105
|
+
private startTime;
|
|
106
|
+
private pausedTime;
|
|
107
|
+
private isPaused;
|
|
108
|
+
private isDestroyed;
|
|
109
|
+
private timerId;
|
|
110
|
+
private isWorkerTimer;
|
|
111
|
+
constructor(options: TimerOptions | undefined, plugin: TimerPlugin);
|
|
112
|
+
/**
|
|
113
|
+
* Starts or resumes the timer.
|
|
114
|
+
* If the timer was paused, it will continue from where it left off.
|
|
115
|
+
*/
|
|
116
|
+
start(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Pauses the timer, maintaining its current state.
|
|
119
|
+
* The timer can be resumed later from the same point.
|
|
120
|
+
*/
|
|
121
|
+
pause(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Resets the timer to its initial state.
|
|
124
|
+
* If the timer is not paused, it will start running immediately after reset.
|
|
125
|
+
*/
|
|
126
|
+
reset(): void;
|
|
127
|
+
/**
|
|
128
|
+
* Destroys the timer, cleaning up all resources.
|
|
129
|
+
* A destroyed timer cannot be restarted.
|
|
130
|
+
*/
|
|
131
|
+
destroy(): void;
|
|
132
|
+
private _destroy;
|
|
133
|
+
update(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Gets the current time value (elapsed time for count-up, remaining time for countdown).
|
|
136
|
+
* @returns Time in milliseconds
|
|
137
|
+
*/
|
|
138
|
+
getTime(): number;
|
|
139
|
+
/**
|
|
140
|
+
* Gets the remaining time for countdown timers.
|
|
141
|
+
* @returns Remaining time in milliseconds, or 0 for count-up timers
|
|
142
|
+
*/
|
|
143
|
+
getRemainingTime(): number;
|
|
144
|
+
/**
|
|
145
|
+
* Gets the unique ID of this timer.
|
|
146
|
+
* @returns The timer's UUID
|
|
147
|
+
*/
|
|
148
|
+
getId(): string;
|
|
149
|
+
/**
|
|
150
|
+
* Gets the timer's configuration options.
|
|
151
|
+
* @returns The TimerOptions object used to create this timer
|
|
152
|
+
*/
|
|
153
|
+
getOptions(): TimerOptions;
|
|
154
|
+
/**
|
|
155
|
+
* Checks if this timer is running in a web worker.
|
|
156
|
+
* @returns true if the timer is worker-based, false if running on main thread
|
|
157
|
+
*/
|
|
158
|
+
isWorker(): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Adds time to the timer. For countdown timers, this increases the duration.
|
|
161
|
+
* For count-up timers, this effectively adds time to the elapsed time.
|
|
162
|
+
*
|
|
163
|
+
* @param ms - Time to add in milliseconds
|
|
164
|
+
* @returns The new time value after adjustment
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* // Add 5 seconds to a countdown timer
|
|
169
|
+
* timer.addTime(5000);
|
|
170
|
+
*
|
|
171
|
+
* // Add 5 seconds to a count-up timer
|
|
172
|
+
* timer.addTime(5000);
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
addTime(ms: number): number;
|
|
176
|
+
/**
|
|
177
|
+
* Removes time from the timer. For countdown timers, this decreases the duration.
|
|
178
|
+
* For count-up timers, this effectively removes time from the elapsed time.
|
|
179
|
+
*
|
|
180
|
+
* @param ms - Time to remove in milliseconds
|
|
181
|
+
* @returns The new time value after adjustment
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* // Remove 5 seconds from a countdown timer
|
|
186
|
+
* timer.removeTime(5000);
|
|
187
|
+
*
|
|
188
|
+
* // Remove 5 seconds from a count-up timer
|
|
189
|
+
* timer.removeTime(5000);
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
removeTime(ms: number): number;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Interface for the Timer Plugin which manages both main-thread and web worker timers.
|
|
196
|
+
*
|
|
197
|
+
* The Timer Plugin provides functionality for:
|
|
198
|
+
* - Creating and managing countdown and count-up timers
|
|
199
|
+
* - Running timers in a web worker for better performance
|
|
200
|
+
* - Pausing and resuming all timers
|
|
201
|
+
* - Handling timer lifecycle events
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* // Create a 5-second countdown timer
|
|
206
|
+
* const countdown = this.app.timers.createTimer({
|
|
207
|
+
* duration: 5000,
|
|
208
|
+
* autoStart: true,
|
|
209
|
+
* onTick: (remaining) => {
|
|
210
|
+
* console.log(`Time remaining: ${formatTime(remaining, 'mm:ss')}`);
|
|
211
|
+
* },
|
|
212
|
+
* onComplete: () => {
|
|
213
|
+
* console.log('Timer completed!');
|
|
214
|
+
* }
|
|
215
|
+
* });
|
|
216
|
+
*
|
|
217
|
+
* // Create a count-up timer in a web worker
|
|
218
|
+
* const stopwatch = this.app.timers.createTimer({
|
|
219
|
+
* useWorker: true,
|
|
220
|
+
* workerInterval: 100, // Update every 100ms
|
|
221
|
+
* onTick: (elapsed) => {
|
|
222
|
+
* console.log(`Time elapsed: ${formatTime(elapsed, 'mm:ss')}`);
|
|
223
|
+
* }
|
|
224
|
+
* });
|
|
225
|
+
*
|
|
226
|
+
* // Pause all timers
|
|
227
|
+
* this.app.timers.pauseAllTimers();
|
|
228
|
+
*
|
|
229
|
+
* // Resume all timers
|
|
230
|
+
* this.app.timers.resumeAllTimers();
|
|
231
|
+
* ```
|
|
232
|
+
*/
|
|
233
|
+
export interface ITimerPlugin extends IPlugin {
|
|
234
|
+
/**
|
|
235
|
+
* Signal emitted when a new timer is created.
|
|
236
|
+
* @example
|
|
237
|
+
* ```typescript
|
|
238
|
+
* this.app.timers.onTimerCreated.connect((timer) => {
|
|
239
|
+
* console.log(`New timer created with ID: ${timer.getId()}`);
|
|
240
|
+
* });
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
onTimerCreated: Signal<(timer: Timer) => void>;
|
|
244
|
+
/**
|
|
245
|
+
* Signal emitted when a timer is destroyed.
|
|
246
|
+
* @example
|
|
247
|
+
* ```typescript
|
|
248
|
+
* this.app.timers.onTimerDestroyed.connect((timer) => {
|
|
249
|
+
* console.log(`Timer destroyed: ${timer.getId()}`);
|
|
250
|
+
* });
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
onTimerDestroyed: Signal<(timer: Timer) => void>;
|
|
254
|
+
/**
|
|
255
|
+
* Signal emitted when all timers are paused.
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* this.app.timers.onAllTimersPaused.connect(() => {
|
|
259
|
+
* console.log('All timers paused');
|
|
260
|
+
* });
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
onAllTimersPaused: Signal<() => void>;
|
|
264
|
+
/**
|
|
265
|
+
* Signal emitted when all timers are resumed.
|
|
266
|
+
* @example
|
|
267
|
+
* ```typescript
|
|
268
|
+
* this.app.timers.onAllTimersResumed.connect(() => {
|
|
269
|
+
* console.log('All timers resumed');
|
|
270
|
+
* });
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
onAllTimersResumed: Signal<() => void>;
|
|
274
|
+
/**
|
|
275
|
+
* Creates a new timer with the specified options.
|
|
276
|
+
*
|
|
277
|
+
* @param options - Configuration options for the timer
|
|
278
|
+
* @returns A new Timer instance
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* ```typescript
|
|
282
|
+
* // Create a looping timer that runs in a web worker
|
|
283
|
+
* const timer = this.app.timers.createTimer({
|
|
284
|
+
* duration: 1000,
|
|
285
|
+
* loop: true,
|
|
286
|
+
* useWorker: true,
|
|
287
|
+
* onTick: (remaining) => {
|
|
288
|
+
* console.log(`${remaining}ms remaining`);
|
|
289
|
+
* }
|
|
290
|
+
* });
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
293
|
+
createTimer(options?: TimerOptions): Timer;
|
|
294
|
+
/**
|
|
295
|
+
* Destroys a timer, cleaning up all resources and removing it from the plugin.
|
|
296
|
+
*
|
|
297
|
+
* @param timer - The timer instance to destroy
|
|
298
|
+
*
|
|
299
|
+
* @example
|
|
300
|
+
* ```typescript
|
|
301
|
+
* const timer = this.app.timers.createTimer({ duration: 5000 });
|
|
302
|
+
* // ... later ...
|
|
303
|
+
* this.app.timers.destroyTimer(timer);
|
|
304
|
+
* ```
|
|
305
|
+
*/
|
|
306
|
+
destroyTimer(timer: Timer): void;
|
|
307
|
+
/**
|
|
308
|
+
* Pauses all active timers, both main thread and worker timers.
|
|
309
|
+
* Timers will maintain their current state and can be resumed later.
|
|
310
|
+
*
|
|
311
|
+
* @example
|
|
312
|
+
* ```typescript
|
|
313
|
+
* // Pause all timers when the game loses focus
|
|
314
|
+
* window.onblur = () => {
|
|
315
|
+
* this.app.timers.pauseAllTimers();
|
|
316
|
+
* };
|
|
317
|
+
* ```
|
|
318
|
+
*/
|
|
319
|
+
pauseAllTimers(): void;
|
|
320
|
+
/**
|
|
321
|
+
* Resumes all paused timers, both main thread and worker timers.
|
|
322
|
+
* Timers will continue from their paused state.
|
|
323
|
+
*
|
|
324
|
+
* @example
|
|
325
|
+
* ```typescript
|
|
326
|
+
* // Resume all timers when the game regains focus
|
|
327
|
+
* window.onfocus = () => {
|
|
328
|
+
* this.app.timers.resumeAllTimers();
|
|
329
|
+
* };
|
|
330
|
+
* ```
|
|
331
|
+
*/
|
|
332
|
+
resumeAllTimers(): void;
|
|
333
|
+
/**
|
|
334
|
+
* Destroys all active timers, both main thread and worker timers .
|
|
335
|
+
* This will remove all timers from the plugin and stop them.
|
|
336
|
+
*
|
|
337
|
+
* @example
|
|
338
|
+
* ```typescript
|
|
339
|
+
* this.app.timers.destroyAllTimers();
|
|
340
|
+
* ```
|
|
341
|
+
*/
|
|
342
|
+
destroyAllTimers(): void;
|
|
343
|
+
/**
|
|
344
|
+
* Resets a worker timer to its initial state.
|
|
345
|
+
* This is primarily used internally by the Timer class.
|
|
346
|
+
*
|
|
347
|
+
* @param timerId - The ID of the worker timer to reset
|
|
348
|
+
*
|
|
349
|
+
* @example
|
|
350
|
+
* ```typescript
|
|
351
|
+
* // This is typically called internally by the Timer class
|
|
352
|
+
* this.app.timers.resetWorkerTimer(timer.getId());
|
|
353
|
+
* ```
|
|
354
|
+
*/
|
|
355
|
+
resetWorkerTimer(timerId: string): void;
|
|
356
|
+
/**
|
|
357
|
+
* Adjusts the time of a worker timer.
|
|
358
|
+
* This is primarily used internally by the Timer class.
|
|
359
|
+
*
|
|
360
|
+
* @param timerId - The ID of the worker timer to adjust
|
|
361
|
+
* @param timeAdjustment - The amount of time to add (positive) or remove (negative) in milliseconds
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
* ```typescript
|
|
365
|
+
* // This is typically called internally by the Timer class
|
|
366
|
+
* this.app.timers.adjustWorkerTimer(timer.getId(), 5000); // Add 5 seconds
|
|
367
|
+
* ```
|
|
368
|
+
*/
|
|
369
|
+
adjustWorkerTimer(timerId: string, timeAdjustment: number): void;
|
|
370
|
+
}
|
|
371
|
+
export declare class TimerPlugin extends Plugin implements ITimerPlugin {
|
|
372
|
+
private mainThreadTimers;
|
|
373
|
+
private workerTimers;
|
|
374
|
+
private isPageVisible;
|
|
375
|
+
private worker;
|
|
376
|
+
private timerCallbacks;
|
|
377
|
+
private _hasWorkerSupport;
|
|
378
|
+
get hasWorkerSupport(): boolean;
|
|
379
|
+
readonly onTimerCreated: Signal<(timer: Timer) => void>;
|
|
380
|
+
readonly onTimerDestroyed: Signal<(timer: Timer) => void>;
|
|
381
|
+
readonly onAllTimersPaused: Signal<() => void>;
|
|
382
|
+
readonly onAllTimersResumed: Signal<() => void>;
|
|
383
|
+
constructor();
|
|
384
|
+
protected getCoreFunctions(): string[];
|
|
385
|
+
protected getCoreSignals(): string[];
|
|
386
|
+
postInitialize(): void;
|
|
387
|
+
private initWorker;
|
|
388
|
+
private handleWorkerMessage;
|
|
389
|
+
startWorkerTimer(timerId: string, options: TimerOptions): void;
|
|
390
|
+
stopWorkerTimer(timerId: string): void;
|
|
391
|
+
resetWorkerTimer(timerId: string): void;
|
|
392
|
+
destroy(): void;
|
|
393
|
+
private update;
|
|
394
|
+
createTimer(options?: TimerOptions): Timer;
|
|
395
|
+
destroyTimer(timer: Timer): void;
|
|
396
|
+
pauseAllTimers(): void;
|
|
397
|
+
resumeAllTimers(): void;
|
|
398
|
+
destroyAllTimers(): void;
|
|
399
|
+
adjustWorkerTimer(timerId: string, timeAdjustment: number): void;
|
|
400
|
+
}
|
|
401
|
+
//# sourceMappingURL=TimerPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimerPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/TimerPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Application } from '../core/Application';
|
|
2
|
+
import { Signal } from '../signals';
|
|
3
|
+
import { Size, Orientation } from '../utils';
|
|
4
|
+
import { IPlugin, Plugin } from './Plugin';
|
|
5
|
+
export interface IWebEventsPlugin extends IPlugin {
|
|
6
|
+
onResize: Signal<(size: {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
}) => void>;
|
|
10
|
+
onVisibilityChanged: Signal<(visible: boolean) => void>;
|
|
11
|
+
onOrientationChanged: Signal<({ orientation, screenOrientation }: {
|
|
12
|
+
orientation: Orientation;
|
|
13
|
+
screenOrientation: ScreenOrientation;
|
|
14
|
+
}) => void>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Maintains a list of callbacks for specific web events and invokes callbacks when event occurs.
|
|
18
|
+
*/
|
|
19
|
+
export declare class WebEventsPlugin extends Plugin implements IWebEventsPlugin {
|
|
20
|
+
readonly id = "webEvents";
|
|
21
|
+
onResize: Signal<(size: Size) => void>;
|
|
22
|
+
onVisibilityChanged: Signal<(visible: boolean) => void>;
|
|
23
|
+
onOrientationChanged: Signal<({ orientation, screenOrientation }: {
|
|
24
|
+
orientation: Orientation;
|
|
25
|
+
screenOrientation: ScreenOrientation;
|
|
26
|
+
}) => void>;
|
|
27
|
+
private _debouncedEmitVisibility;
|
|
28
|
+
/**
|
|
29
|
+
* Creates callback arrays and registers to web events.
|
|
30
|
+
*/
|
|
31
|
+
constructor();
|
|
32
|
+
get app(): Application;
|
|
33
|
+
initialize(): void;
|
|
34
|
+
destroy(): void;
|
|
35
|
+
protected getCoreSignals(): string[];
|
|
36
|
+
/**
|
|
37
|
+
* Called when the browser visibility changes. Passes the `hidden` flag of the document to all callbacks.
|
|
38
|
+
*/
|
|
39
|
+
private _onVisibilityChanged;
|
|
40
|
+
/**
|
|
41
|
+
* Called when the browser resizes.
|
|
42
|
+
*/
|
|
43
|
+
private _onResize;
|
|
44
|
+
/**
|
|
45
|
+
* Called when the page is hidden.
|
|
46
|
+
* Some browsers (like Safari) don't support the `visibilitychange` event, so we also listen for `pagehide`.
|
|
47
|
+
* We're just mimicking the `visibilitychange` event here.
|
|
48
|
+
*/
|
|
49
|
+
private _onPageHide;
|
|
50
|
+
/**
|
|
51
|
+
* Called when the page is shown.
|
|
52
|
+
* Some browsers (like Safari) don't support the `visibilitychange` event, so we also listen for `pageshow`.
|
|
53
|
+
* We're just mimicking the `visibilitychange` event here.
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
private _onPageShow;
|
|
57
|
+
private _emitVisibilityChanged;
|
|
58
|
+
private _onOrientationChanged;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=WebEventsPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebEventsPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/WebEventsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAA4C,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,CAAC;IACpE,mBAAmB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IACxD,oBAAoB,EAAE,MAAM,CAC1B,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,iBAAiB,EAAE,iBAAiB,CAAA;KAAE,KAAK,IAAI,CACjH,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,MAAO,YAAW,gBAAgB;IACrE,SAAgB,EAAE,eAAe;IAG1B,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAsC;IAC5E,mBAAmB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAA4C;IACnG,oBAAoB,EAAE,MAAM,CACjC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,iBAAiB,EAAE,iBAAiB,CAAA;KAAE,KAAK,IAAI,CACjH,CAEG;IACJ,OAAO,CAAC,wBAAwB,CAE1B;IAEN;;OAEG;;IAMH,IAAI,GAAG,IAAI,WAAW,CAErB;IAEM,UAAU,IAAI,IAAI;IASlB,OAAO;IAQd,SAAS,CAAC,cAAc,IAAI,MAAM,EAAE;IAIpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;CAoB9B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Action, ActionContext, ActionDetail, ActionMap, ActionSignal } from '.';
|
|
2
|
+
import { IApplication } from '../../core';
|
|
3
|
+
import { Signal } from '../../signals';
|
|
4
|
+
import { IPlugin, Plugin } from '../Plugin';
|
|
5
|
+
export interface IActionsPlugin<C extends ActionContext = ActionContext> extends IPlugin {
|
|
6
|
+
context: C;
|
|
7
|
+
onActionContextChanged: Signal<(context: C) => void>;
|
|
8
|
+
onActionDispatched: Signal<(detail: ActionDetail) => void>;
|
|
9
|
+
initialize(options: Partial<IActionsPluginOptions>, app: IApplication): void;
|
|
10
|
+
getAction<TActionData = any>(action: Action | string): ActionSignal<TActionData>;
|
|
11
|
+
getActions(): ActionMap;
|
|
12
|
+
sendAction<TActionData = any>(actionId: Action | string, data?: TActionData): void;
|
|
13
|
+
setActionContext(context: C): string;
|
|
14
|
+
debug: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface IActionsPluginOptions {
|
|
17
|
+
actions: Partial<ActionMap>;
|
|
18
|
+
}
|
|
19
|
+
export declare class ActionsPlugin extends Plugin<IActionsPluginOptions> implements IActionsPlugin {
|
|
20
|
+
readonly id = "actions";
|
|
21
|
+
onActionContextChanged: Signal<(context: string | ActionContext) => void>;
|
|
22
|
+
onActionDispatched: Signal<(detail: ActionDetail) => void>;
|
|
23
|
+
private _context;
|
|
24
|
+
private _signals;
|
|
25
|
+
private _actions;
|
|
26
|
+
private _debug;
|
|
27
|
+
set debug(debug: boolean);
|
|
28
|
+
get debug(): boolean;
|
|
29
|
+
get context(): string | ActionContext;
|
|
30
|
+
set context(context: string | ActionContext);
|
|
31
|
+
initialize(_options: Partial<IActionsPluginOptions>, app: IApplication): void;
|
|
32
|
+
getAction<TActionData = any>(action: Action | string): ActionSignal<TActionData>;
|
|
33
|
+
getActions(): ActionMap;
|
|
34
|
+
sendAction<TActionData = any>(actionId: Action | string, data?: TActionData): void;
|
|
35
|
+
setActionContext(context: string | ActionContext): string;
|
|
36
|
+
protected getCoreFunctions(): string[];
|
|
37
|
+
protected getCoreSignals(): string[];
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ActionsPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/actions/ActionsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,OAAO;IACtF,OAAO,EAAE,CAAC,CAAC;IACX,sBAAsB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;IACrD,kBAAkB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC;IAC3D,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7E,SAAS,CAAC,WAAW,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACjF,UAAU,IAAI,SAAS,CAAC;IACxB,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnF,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,qBAAa,aAAc,SAAQ,MAAM,CAAC,qBAAqB,CAAE,YAAW,cAAc;IACxF,SAAgB,EAAE,aAAa;IAExB,sBAAsB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,KAAK,IAAI,CAAC,CAE5E;IAEG,kBAAkB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,CAAgD;IAGjH,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,MAAM,CAAkB;IAChC,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;IAGD,IAAI,OAAO,IAAI,MAAM,GAAG,aAAa,CAEpC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAM1C;IAED,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI;IAI7E,SAAS,CAAC,WAAW,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;IAOhF,UAAU,IAAI,SAAS;IAIvB,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI;IA6BlF,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM;IAKzD,SAAS,CAAC,gBAAgB,IAAI,MAAM,EAAE;IAItC,SAAS,CAAC,cAAc,IAAI,MAAM,EAAE;CAGrC"}
|