@urso/core 0.8.21 → 0.9.1-dev
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 +20 -20
- package/README.md +227 -227
- package/build/js/index.js +77212 -2
- package/package.json +36 -50
- package/src/js/app.js +105 -104
- package/src/js/components/base/controller.js +76 -78
- package/src/js/components/debug/controller.js +39 -39
- package/src/js/components/debug/coords.js +23 -23
- package/src/js/components/debug/fps.js +36 -36
- package/src/js/components/debug/template.js +55 -55
- package/src/js/components/debug/timescale.js +60 -60
- package/src/js/components/deviceRotate/controller.js +95 -95
- package/src/js/components/editor/api.js +127 -127
- package/src/js/components/editor/controller.js +13 -13
- package/src/js/components/fullscreen/android.js +104 -104
- package/src/js/components/fullscreen/controller.js +76 -76
- package/src/js/components/fullscreen/desktop.js +49 -49
- package/src/js/components/fullscreen/ios.js +115 -115
- package/src/js/components/layersSwitcher/config.js +26 -26
- package/src/js/components/layersSwitcher/controller.js +36 -36
- package/src/js/components/loader/controller.js +66 -66
- package/src/js/components/loader/template.js +71 -71
- package/src/js/components/soundInitialPopup/controller.js +43 -43
- package/src/js/components/soundInitialPopup/template.js +110 -110
- package/src/js/components/stateDriven/controller.js +123 -123
- package/src/js/config/load.js +325 -194
- package/src/js/config/main.js +17 -17
- package/src/js/extra/browserEvents.js +57 -57
- package/src/js/extra/main.js +23 -25
- package/src/js/extra/pixiPatch.js +173 -171
- package/src/js/index.js +7 -7
- package/src/js/lib/cache.js +199 -125
- package/src/js/lib/composition.js +85 -85
- package/src/js/lib/device.js +1215 -1215
- package/src/js/lib/helper.js +678 -678
- package/src/js/lib/loader.js +216 -218
- package/src/js/lib/localData.js +29 -29
- package/src/js/lib/logger.js +69 -69
- package/src/js/lib/math.js +161 -161
- package/src/js/lib/objectPool.js +208 -208
- package/src/js/lib/time.js +19 -19
- package/src/js/lib/tween.js +153 -153
- package/src/js/modules/assets/baseModel.js +21 -21
- package/src/js/modules/assets/config.js +38 -38
- package/src/js/modules/assets/controller.js +65 -65
- package/src/js/modules/assets/models/atlas.js +19 -19
- package/src/js/modules/assets/models/audiosprite.js +28 -28
- package/src/js/modules/assets/models/bitmapFont.js +11 -11
- package/src/js/modules/assets/models/container.js +19 -19
- package/src/js/modules/assets/models/font.js +11 -11
- package/src/js/modules/assets/models/html.js +11 -11
- package/src/js/modules/assets/models/image.js +17 -17
- package/src/js/modules/assets/models/json.js +11 -11
- package/src/js/modules/assets/models/jsonAtlas.js +11 -11
- package/src/js/modules/assets/models/sound.js +17 -17
- package/src/js/modules/assets/models/spine.js +18 -17
- package/src/js/modules/assets/models/spineAtlas.js +11 -0
- package/src/js/modules/assets/service.js +564 -553
- package/src/js/modules/i18n/config.js +17 -17
- package/src/js/modules/i18n/controller.js +71 -71
- package/src/js/modules/instances/controller.js +357 -357
- package/src/js/modules/logic/config/sounds.js +23 -23
- package/src/js/modules/logic/controller.js +52 -52
- package/src/js/modules/logic/main.js +8 -8
- package/src/js/modules/logic/sounds.js +103 -103
- package/src/js/modules/objects/baseModel.js +205 -207
- package/src/js/modules/objects/cache.js +99 -99
- package/src/js/modules/objects/config.js +10 -10
- package/src/js/modules/objects/controller.js +139 -139
- package/src/js/modules/objects/find.js +58 -58
- package/src/js/modules/objects/models/bitmapText.js +56 -49
- package/src/js/modules/objects/models/button.js +208 -209
- package/src/js/modules/objects/models/buttonComposite.js +38 -38
- package/src/js/modules/objects/models/checkbox.js +100 -100
- package/src/js/modules/objects/models/collection.js +56 -54
- package/src/js/modules/objects/models/component.js +48 -48
- package/src/js/modules/objects/models/container.js +22 -22
- package/src/js/modules/objects/models/emitterFx.js +103 -114
- package/src/js/modules/objects/models/graphics.js +40 -40
- package/src/js/modules/objects/models/group.js +22 -22
- package/src/js/modules/objects/models/hitArea.js +187 -187
- package/src/js/modules/objects/models/image.js +36 -36
- package/src/js/modules/objects/models/imagesAnimation.js +115 -115
- package/src/js/modules/objects/models/mask.js +40 -40
- package/src/js/modules/objects/models/nineSlicePlane.js +32 -32
- package/src/js/modules/objects/models/slider.js +357 -357
- package/src/js/modules/objects/models/spine.js +354 -339
- package/src/js/modules/objects/models/text.js +70 -70
- package/src/js/modules/objects/models/toggle.js +186 -186
- package/src/js/modules/objects/models/world.js +22 -22
- package/src/js/modules/objects/pool.js +68 -68
- package/src/js/modules/objects/propertyAdapter.js +592 -592
- package/src/js/modules/objects/proxy.js +299 -298
- package/src/js/modules/objects/selector.js +136 -136
- package/src/js/modules/objects/service.js +255 -254
- package/src/js/modules/objects/styles.js +210 -210
- package/src/js/modules/observer/controller.js +168 -168
- package/src/js/modules/observer/events.js +51 -56
- package/src/js/modules/scenes/controller.js +126 -127
- package/src/js/modules/scenes/model.js +28 -28
- package/src/js/modules/scenes/pixiWrapper.js +360 -351
- package/src/js/modules/scenes/resolutions.js +173 -173
- package/src/js/modules/scenes/resolutionsConfig.js +73 -73
- package/src/js/modules/scenes/service.js +144 -146
- package/src/js/modules/soundManager/controller.js +103 -103
- package/src/js/modules/soundManager/soundSprite.js +314 -314
- package/src/js/modules/statesManager/action.js +97 -97
- package/src/js/modules/statesManager/all.js +23 -23
- package/src/js/modules/statesManager/configStates.js +77 -77
- package/src/js/modules/statesManager/controller.js +219 -219
- package/src/js/modules/statesManager/functionsStorage.js +83 -83
- package/src/js/modules/statesManager/helper.js +27 -27
- package/src/js/modules/statesManager/race.js +91 -91
- package/src/js/modules/statesManager/sequence.js +48 -48
- package/src/js/modules/template/controller.js +28 -28
- package/src/js/modules/template/model.js +11 -11
- package/src/js/modules/template/service.js +137 -137
- package/src/js/modules/template/types.js +50 -49
- package/src/js/modules/transport/baseConnectionType.js +25 -25
- package/src/js/modules/transport/config.js +13 -13
- package/src/js/modules/transport/connectionTypes/websocket.js +77 -77
- package/src/js/modules/transport/connectionTypes/xhr.js +47 -47
- package/src/js/modules/transport/controller.js +48 -48
- package/src/js/modules/transport/decorator.js +17 -17
- package/src/js/modules/transport/service.js +150 -150
- package/vite.config.js +31 -0
- package/.babelrc +0 -12
- package/build/js/index.js.LICENSE.txt +0 -227
- package/src/js/modules/objects/models/atlasImage.js +0 -52
- package/src/js/modules/objects/models/dragContainer.js +0 -665
- package/src/js/modules/objects/models/emitter.js +0 -69
- package/src/js/modules/objects/models/scrollbox.js +0 -67
- package/src/js/modules/objects/models/textInput.js +0 -68
- package/webpack.config.js +0 -47
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
class ComponentsStateDrivenController extends ComponentsBaseController {
|
|
4
|
-
|
|
5
|
-
//config for the states guards
|
|
6
|
-
configStates = {
|
|
7
|
-
/*IDLE: {
|
|
8
|
-
guard: () => { log(123, 'IDLE guard'); return true; }
|
|
9
|
-
}*/
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
//config for the actions configs. Guard and terminate functions are optional. Run will called when action starts.
|
|
13
|
-
//call finish callback in the run handler to immidiately finish this action
|
|
14
|
-
//use this.callFinish(actionKey) when its need after run handler called to delayed finish this action
|
|
15
|
-
configActions = {
|
|
16
|
-
/*startSpin: {
|
|
17
|
-
guard: () => { log(123, 'guard'); return true; },
|
|
18
|
-
run: (finish) => { log(123, 'run'); finish(); },
|
|
19
|
-
terminate: () => { log(123, 'terminate'); }
|
|
20
|
-
}*/
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
//system callbacks storage
|
|
24
|
-
_finishCallbacks = {};
|
|
25
|
-
|
|
26
|
-
_callbacksCache = {
|
|
27
|
-
stateGuards: {},
|
|
28
|
-
actionTerminates: {},
|
|
29
|
-
actionGuards: {},
|
|
30
|
-
actionRuns: {}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* caller for delayed finish callback
|
|
36
|
-
* @param {String} actionKey
|
|
37
|
-
*/
|
|
38
|
-
callFinish(actionKey) {
|
|
39
|
-
if (!this._finishCallbacks[actionKey]) {
|
|
40
|
-
Urso.logger.error('ComponentsStateDrivenController: no finish for actionKey', actionKey, this);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
this._finishCallbacks[actionKey]();
|
|
45
|
-
delete this._finishCallbacks[actionKey];
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
_processStates() {
|
|
49
|
-
for (const stateKey in this.configStates) {
|
|
50
|
-
this._callbacksCache.stateGuards[stateKey] = this.configStates[stateKey].guard.bind(this);
|
|
51
|
-
Urso.statesManager.setStateGuard(stateKey, this._callbacksCache.stateGuards[stateKey]);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
_processActions() {
|
|
56
|
-
for (const actionKey in this.configActions) {
|
|
57
|
-
|
|
58
|
-
//const actionCfg = this.getInstance('ActionConfig', this.configActions[actionKey]);
|
|
59
|
-
const actionCfg = this.configActions[actionKey];
|
|
60
|
-
|
|
61
|
-
if (actionCfg.run) {
|
|
62
|
-
this._callbacksCache.actionRuns[actionKey] = (finish) => {
|
|
63
|
-
this._saveFinish(actionKey, finish);
|
|
64
|
-
actionCfg.run(() => this.callFinish(actionKey));
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
Urso.statesManager.addActionRun(actionKey, this._callbacksCache.actionRuns[actionKey]);
|
|
68
|
-
} else {
|
|
69
|
-
Urso.logger.error('ComponentsStateDrivenController: no run function in config', actionKey, this);
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (actionCfg.terminate) {
|
|
74
|
-
this._callbacksCache.actionTerminates[actionKey] = actionCfg.terminate.bind(this);
|
|
75
|
-
Urso.statesManager.addActionTerminate(actionKey, this._callbacksCache.actionTerminates[actionKey]);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (actionCfg.guard) {
|
|
79
|
-
this._callbacksCache.actionGuards[actionKey] = actionCfg.guard.bind(this);
|
|
80
|
-
Urso.statesManager.addActionGuard(actionKey, this._callbacksCache.actionGuards[actionKey]);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* saver for delayed finish callback
|
|
87
|
-
* @param {String} actionKey
|
|
88
|
-
* @param {Function} finish
|
|
89
|
-
*/
|
|
90
|
-
_saveFinish(actionKey, finish) {
|
|
91
|
-
if (this._finishCallbacks[actionKey])
|
|
92
|
-
Urso.logger.error('ComponentsStateDrivenController: actionKey alredy exists', actionKey, finish, this);
|
|
93
|
-
|
|
94
|
-
this._finishCallbacks[actionKey] = finish;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
_subscribeOnce() {
|
|
98
|
-
//do not forget use super._subscribeOnce() , if you will use _subscribeOnce in the component
|
|
99
|
-
this._processStates();
|
|
100
|
-
this._processActions();
|
|
101
|
-
this.addListener(Urso.events.MODULES_STATES_MANAGER_STOP, this._onStatesManagerStop.bind(this), true);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
destroy() {
|
|
105
|
-
this._removeCallback(Urso.statesManager.removeStateGuard, this._callbacksCache.stateGuards);
|
|
106
|
-
this._removeCallback(Urso.statesManager.removeActionGuard, this._callbacksCache.actionGuards);
|
|
107
|
-
this._removeCallback(Urso.statesManager.removeActionTerminate, this._callbacksCache.actionTerminates);
|
|
108
|
-
this._removeCallback(Urso.statesManager.removeActionRun, this._callbacksCache.actionRuns);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
_removeCallback(remover, cacheObject) {
|
|
112
|
-
for (let cacheKey in cacheObject) {
|
|
113
|
-
remover(cacheKey, cacheObject[cacheKey]);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
_onStatesManagerStop() {
|
|
118
|
-
this._finishCallbacks = {};
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
|
|
1
|
+
import ComponentsBaseController from './../base/controller';
|
|
2
|
+
|
|
3
|
+
class ComponentsStateDrivenController extends ComponentsBaseController {
|
|
4
|
+
|
|
5
|
+
//config for the states guards
|
|
6
|
+
configStates = {
|
|
7
|
+
/*IDLE: {
|
|
8
|
+
guard: () => { log(123, 'IDLE guard'); return true; }
|
|
9
|
+
}*/
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
//config for the actions configs. Guard and terminate functions are optional. Run will called when action starts.
|
|
13
|
+
//call finish callback in the run handler to immidiately finish this action
|
|
14
|
+
//use this.callFinish(actionKey) when its need after run handler called to delayed finish this action
|
|
15
|
+
configActions = {
|
|
16
|
+
/*startSpin: {
|
|
17
|
+
guard: () => { log(123, 'guard'); return true; },
|
|
18
|
+
run: (finish) => { log(123, 'run'); finish(); },
|
|
19
|
+
terminate: () => { log(123, 'terminate'); }
|
|
20
|
+
}*/
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//system callbacks storage
|
|
24
|
+
_finishCallbacks = {};
|
|
25
|
+
|
|
26
|
+
_callbacksCache = {
|
|
27
|
+
stateGuards: {},
|
|
28
|
+
actionTerminates: {},
|
|
29
|
+
actionGuards: {},
|
|
30
|
+
actionRuns: {}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* caller for delayed finish callback
|
|
36
|
+
* @param {String} actionKey
|
|
37
|
+
*/
|
|
38
|
+
callFinish(actionKey) {
|
|
39
|
+
if (!this._finishCallbacks[actionKey]) {
|
|
40
|
+
Urso.logger.error('ComponentsStateDrivenController: no finish for actionKey', actionKey, this);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
this._finishCallbacks[actionKey]();
|
|
45
|
+
delete this._finishCallbacks[actionKey];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
_processStates() {
|
|
49
|
+
for (const stateKey in this.configStates) {
|
|
50
|
+
this._callbacksCache.stateGuards[stateKey] = this.configStates[stateKey].guard.bind(this);
|
|
51
|
+
Urso.statesManager.setStateGuard(stateKey, this._callbacksCache.stateGuards[stateKey]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
_processActions() {
|
|
56
|
+
for (const actionKey in this.configActions) {
|
|
57
|
+
|
|
58
|
+
//const actionCfg = this.getInstance('ActionConfig', this.configActions[actionKey]);
|
|
59
|
+
const actionCfg = this.configActions[actionKey];
|
|
60
|
+
|
|
61
|
+
if (actionCfg.run) {
|
|
62
|
+
this._callbacksCache.actionRuns[actionKey] = (finish) => {
|
|
63
|
+
this._saveFinish(actionKey, finish);
|
|
64
|
+
actionCfg.run(() => this.callFinish(actionKey));
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
Urso.statesManager.addActionRun(actionKey, this._callbacksCache.actionRuns[actionKey]);
|
|
68
|
+
} else {
|
|
69
|
+
Urso.logger.error('ComponentsStateDrivenController: no run function in config', actionKey, this);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (actionCfg.terminate) {
|
|
74
|
+
this._callbacksCache.actionTerminates[actionKey] = actionCfg.terminate.bind(this);
|
|
75
|
+
Urso.statesManager.addActionTerminate(actionKey, this._callbacksCache.actionTerminates[actionKey]);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (actionCfg.guard) {
|
|
79
|
+
this._callbacksCache.actionGuards[actionKey] = actionCfg.guard.bind(this);
|
|
80
|
+
Urso.statesManager.addActionGuard(actionKey, this._callbacksCache.actionGuards[actionKey]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* saver for delayed finish callback
|
|
87
|
+
* @param {String} actionKey
|
|
88
|
+
* @param {Function} finish
|
|
89
|
+
*/
|
|
90
|
+
_saveFinish(actionKey, finish) {
|
|
91
|
+
if (this._finishCallbacks[actionKey])
|
|
92
|
+
Urso.logger.error('ComponentsStateDrivenController: actionKey alredy exists', actionKey, finish, this);
|
|
93
|
+
|
|
94
|
+
this._finishCallbacks[actionKey] = finish;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
_subscribeOnce() {
|
|
98
|
+
//do not forget use super._subscribeOnce() , if you will use _subscribeOnce in the component
|
|
99
|
+
this._processStates();
|
|
100
|
+
this._processActions();
|
|
101
|
+
this.addListener(Urso.events.MODULES_STATES_MANAGER_STOP, this._onStatesManagerStop.bind(this), true);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
destroy() {
|
|
105
|
+
this._removeCallback(Urso.statesManager.removeStateGuard, this._callbacksCache.stateGuards);
|
|
106
|
+
this._removeCallback(Urso.statesManager.removeActionGuard, this._callbacksCache.actionGuards);
|
|
107
|
+
this._removeCallback(Urso.statesManager.removeActionTerminate, this._callbacksCache.actionTerminates);
|
|
108
|
+
this._removeCallback(Urso.statesManager.removeActionRun, this._callbacksCache.actionRuns);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
_removeCallback(remover, cacheObject) {
|
|
112
|
+
for (let cacheKey in cacheObject) {
|
|
113
|
+
remover(cacheKey, cacheObject[cacheKey]);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
_onStatesManagerStop() {
|
|
118
|
+
this._finishCallbacks = {};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export default ComponentsStateDrivenController;
|