@urso/core 0.4.44 → 0.4.45
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/.babelrc +11 -11
- package/LICENSE +20 -20
- package/README.md +220 -220
- package/build/js/index.js +1 -1
- package/build/js/index.js.LICENSE.txt +32 -32
- package/package.json +51 -51
- package/src/js/app.js +78 -78
- package/src/js/components/_info.js +10 -10
- package/src/js/components/base/_info.js +3 -3
- package/src/js/components/base/controller.js +78 -78
- package/src/js/components/debug/_info.js +7 -7
- package/src/js/components/debug/controller.js +38 -38
- package/src/js/components/debug/coords.js +23 -23
- package/src/js/components/debug/fps.js +34 -34
- package/src/js/components/debug/template.js +55 -55
- package/src/js/components/debug/timescale.js +60 -60
- package/src/js/components/deviceRotate/_info.js +3 -3
- package/src/js/components/deviceRotate/controller.js +86 -86
- package/src/js/components/fullscreen/_info.js +6 -6
- 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/_info.js +4 -4
- package/src/js/components/layersSwitcher/config.js +26 -26
- package/src/js/components/layersSwitcher/controller.js +34 -34
- package/src/js/components/loader/_info.js +4 -4
- package/src/js/components/loader/controller.js +66 -66
- package/src/js/components/loader/template.js +70 -70
- package/src/js/components/soundInitialPopup/_info.js +3 -3
- package/src/js/components/soundInitialPopup/controller.js +42 -42
- package/src/js/components/soundInitialPopup/template.js +109 -109
- package/src/js/components/stateDriven/_info.js +3 -3
- package/src/js/components/stateDriven/controller.js +118 -118
- package/src/js/config/load.js +5 -5
- package/src/js/config/main.js +10 -10
- package/src/js/extra/_info.js +24 -24
- package/src/js/extra/browserEvents.js +38 -38
- package/src/js/extra/pixiPatch.js +79 -79
- package/src/js/extra/setTimeout.js +7 -7
- package/src/js/index.js +8 -8
- package/src/js/lib/_info.js +13 -13
- package/src/js/lib/cache.js +105 -105
- package/src/js/lib/composition.js +85 -85
- package/src/js/lib/device.js +1286 -1286
- package/src/js/lib/helper.js +539 -539
- package/src/js/lib/loader.js +131 -131
- package/src/js/lib/localData.js +15 -15
- package/src/js/lib/logger.js +22 -22
- package/src/js/lib/math.js +35 -35
- package/src/js/lib/objectPool.js +54 -54
- package/src/js/lib/time.js +18 -18
- package/src/js/lib/tween.js +147 -147
- package/src/js/modules/_info.js +12 -12
- package/src/js/modules/assets/_info.js +7 -7
- package/src/js/modules/assets/baseModel.js +18 -18
- package/src/js/modules/assets/config.js +37 -37
- package/src/js/modules/assets/controller.js +46 -46
- package/src/js/modules/assets/models/_info.js +11 -11
- package/src/js/modules/assets/models/atlas.js +8 -8
- package/src/js/modules/assets/models/audiosprite.js +27 -27
- package/src/js/modules/assets/models/bitmapFont.js +8 -8
- package/src/js/modules/assets/models/container.js +16 -16
- package/src/js/modules/assets/models/font.js +8 -8
- package/src/js/modules/assets/models/image.js +13 -13
- package/src/js/modules/assets/models/json.js +8 -8
- package/src/js/modules/assets/models/sound.js +14 -14
- package/src/js/modules/assets/models/spine.js +14 -14
- package/src/js/modules/assets/service.js +365 -365
- package/src/js/modules/i18n/_info.js +4 -4
- package/src/js/modules/i18n/config.js +17 -17
- package/src/js/modules/i18n/controller.js +79 -79
- package/src/js/modules/instances/_info.js +3 -3
- package/src/js/modules/instances/controller.js +261 -261
- package/src/js/modules/logic/_info.js +4 -4
- package/src/js/modules/logic/config/_info.js +2 -2
- package/src/js/modules/logic/config/sounds.js +23 -23
- package/src/js/modules/logic/controller.js +48 -48
- package/src/js/modules/logic/sounds.js +103 -103
- package/src/js/modules/objects/_info.js +11 -11
- package/src/js/modules/objects/baseModel.js +197 -197
- package/src/js/modules/objects/cache.js +99 -99
- package/src/js/modules/objects/controller.js +131 -131
- package/src/js/modules/objects/create.js +237 -237
- package/src/js/modules/objects/find.js +140 -140
- package/src/js/modules/objects/models/_info.js +25 -25
- package/src/js/modules/objects/models/atlasImage.js +50 -50
- package/src/js/modules/objects/models/bitmapText.js +39 -39
- package/src/js/modules/objects/models/button.js +189 -189
- package/src/js/modules/objects/models/buttonComposite.js +35 -35
- package/src/js/modules/objects/models/checkbox.js +96 -96
- package/src/js/modules/objects/models/collection.js +54 -54
- package/src/js/modules/objects/models/component.js +44 -44
- package/src/js/modules/objects/models/container.js +19 -19
- package/src/js/modules/objects/models/emitter.js +54 -54
- package/src/js/modules/objects/models/graphics.js +38 -38
- package/src/js/modules/objects/models/group.js +19 -19
- package/src/js/modules/objects/models/hitArea.js +104 -104
- package/src/js/modules/objects/models/image.js +34 -34
- package/src/js/modules/objects/models/imagesAnimation.js +113 -113
- package/src/js/modules/objects/models/mask.js +38 -38
- package/src/js/modules/objects/models/nineSlicePlane.js +30 -30
- package/src/js/modules/objects/models/scrollbox.js +61 -61
- package/src/js/modules/objects/models/slider.js +253 -253
- package/src/js/modules/objects/models/spine.js +271 -275
- package/src/js/modules/objects/models/text.js +59 -59
- package/src/js/modules/objects/models/textInput.js +66 -66
- package/src/js/modules/objects/models/toggle.js +180 -180
- package/src/js/modules/objects/models/world.js +19 -19
- package/src/js/modules/objects/propertyAdapter.js +422 -422
- package/src/js/modules/objects/proxy.js +282 -282
- package/src/js/modules/objects/styles.js +120 -120
- package/src/js/modules/observer/_info.js +4 -4
- package/src/js/modules/observer/controller.js +99 -99
- package/src/js/modules/observer/events.js +44 -44
- package/src/js/modules/scenes/_info.js +8 -8
- package/src/js/modules/scenes/controller.js +103 -103
- package/src/js/modules/scenes/model.js +28 -28
- package/src/js/modules/scenes/pixiWrapper.js +237 -237
- 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 +139 -139
- package/src/js/modules/soundManager/_info.js +3 -3
- package/src/js/modules/soundManager/controller.js +100 -100
- package/src/js/modules/soundManager/soundSprite.js +243 -243
- package/src/js/modules/statesManager/_info.js +12 -12
- package/src/js/modules/statesManager/action.js +60 -60
- package/src/js/modules/statesManager/actions/_info.js +3 -3
- package/src/js/modules/statesManager/all.js +23 -23
- package/src/js/modules/statesManager/configStates.js +71 -71
- package/src/js/modules/statesManager/controller.js +170 -170
- package/src/js/modules/statesManager/functionsStorage.js +82 -82
- package/src/js/modules/statesManager/helper.js +27 -27
- package/src/js/modules/statesManager/race.js +75 -75
- package/src/js/modules/statesManager/sequence.js +47 -47
- package/src/js/modules/template/_info.js +6 -6
- 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 +45 -45
- package/src/js/modules/transport/_info.js +8 -8
- package/src/js/modules/transport/baseConnectionType.js +24 -24
- package/src/js/modules/transport/config.js +13 -13
- package/src/js/modules/transport/connectionTypes/_info.js +3 -3
- package/src/js/modules/transport/connectionTypes/websocket.js +74 -74
- package/src/js/modules/transport/connectionTypes/xhr.js +44 -44
- 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 +153 -153
- package/src/js/templates/_info.js +4 -4
- package/src/js/templates/groups/_info.js +1 -1
- package/src/js/templates/scenes/_info.js +1 -1
- package/webpack.config.js +47 -47
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
|
|
2
|
-
class ModulesStatesManagerFunctionsStorage {
|
|
3
|
-
constructor() {
|
|
4
|
-
this._functionsCounter = 0;
|
|
5
|
-
this._functions = {};
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
//guards
|
|
9
|
-
add(key, guard, onlyOneFlag = false) {
|
|
10
|
-
this._addToStorage(key, guard, onlyOneFlag);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
run(key) {
|
|
14
|
-
if (this._functions[key]) {
|
|
15
|
-
const functionsArray = Object.values(this._functions[key]);
|
|
16
|
-
|
|
17
|
-
for (const func of functionsArray) {
|
|
18
|
-
func();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
runAndCallbackOnFinish(key, onFinishCallback) {
|
|
24
|
-
if (this._functions[key]) {
|
|
25
|
-
const functionsArray = Object.values(this._functions[key]);
|
|
26
|
-
|
|
27
|
-
const promises = [];
|
|
28
|
-
|
|
29
|
-
for (const func of functionsArray) {
|
|
30
|
-
promises.push(new Promise((resolve, reject) => { func(resolve); }));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
Promise.all(promises).then(onFinishCallback);
|
|
34
|
-
} else {
|
|
35
|
-
onFinishCallback();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
checkGuard(key) {
|
|
40
|
-
if (this._functions[key]) {
|
|
41
|
-
const guardsArray = Object.values(this._functions[key]);
|
|
42
|
-
|
|
43
|
-
for (const guard of guardsArray) {
|
|
44
|
-
if (!guard())
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
remove(key, guard) {
|
|
53
|
-
this._removeFromStorage(key, guard);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
_addToStorage(key, func, onlyOneFlag) {
|
|
57
|
-
if (!this._functions[key])
|
|
58
|
-
this._functions[key] = {};
|
|
59
|
-
else if (onlyOneFlag) {
|
|
60
|
-
Urso.logger.error('ModulesStatesManagerFunctionsStorage: action or state can have only one guard', key, func);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const guid = this._getGuardsUid();
|
|
65
|
-
func._guid = guid;
|
|
66
|
-
this._functions[key][guid] = func;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
_removeFromStorage(key, func) {
|
|
70
|
-
const guid = func._guid;
|
|
71
|
-
delete this._functions[key][guid];
|
|
72
|
-
|
|
73
|
-
if (Urso.helper.getObjectSize(this._functions[key]) === 0)
|
|
74
|
-
delete this._functions[key];
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
_getGuardsUid() {
|
|
78
|
-
this._functionsCounter++;
|
|
79
|
-
return 'guard_' + this._functionsCounter;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
1
|
+
|
|
2
|
+
class ModulesStatesManagerFunctionsStorage {
|
|
3
|
+
constructor() {
|
|
4
|
+
this._functionsCounter = 0;
|
|
5
|
+
this._functions = {};
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//guards
|
|
9
|
+
add(key, guard, onlyOneFlag = false) {
|
|
10
|
+
this._addToStorage(key, guard, onlyOneFlag);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
run(key) {
|
|
14
|
+
if (this._functions[key]) {
|
|
15
|
+
const functionsArray = Object.values(this._functions[key]);
|
|
16
|
+
|
|
17
|
+
for (const func of functionsArray) {
|
|
18
|
+
func();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
runAndCallbackOnFinish(key, onFinishCallback) {
|
|
24
|
+
if (this._functions[key]) {
|
|
25
|
+
const functionsArray = Object.values(this._functions[key]);
|
|
26
|
+
|
|
27
|
+
const promises = [];
|
|
28
|
+
|
|
29
|
+
for (const func of functionsArray) {
|
|
30
|
+
promises.push(new Promise((resolve, reject) => { func(resolve); }));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
Promise.all(promises).then(onFinishCallback);
|
|
34
|
+
} else {
|
|
35
|
+
onFinishCallback();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
checkGuard(key) {
|
|
40
|
+
if (this._functions[key]) {
|
|
41
|
+
const guardsArray = Object.values(this._functions[key]);
|
|
42
|
+
|
|
43
|
+
for (const guard of guardsArray) {
|
|
44
|
+
if (!guard())
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
remove(key, guard) {
|
|
53
|
+
this._removeFromStorage(key, guard);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
_addToStorage(key, func, onlyOneFlag) {
|
|
57
|
+
if (!this._functions[key])
|
|
58
|
+
this._functions[key] = {};
|
|
59
|
+
else if (onlyOneFlag) {
|
|
60
|
+
Urso.logger.error('ModulesStatesManagerFunctionsStorage: action or state can have only one guard', key, func);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const guid = this._getGuardsUid();
|
|
65
|
+
func._guid = guid;
|
|
66
|
+
this._functions[key][guid] = func;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
_removeFromStorage(key, func) {
|
|
70
|
+
const guid = func._guid;
|
|
71
|
+
delete this._functions[key][guid];
|
|
72
|
+
|
|
73
|
+
if (Urso.helper.getObjectSize(this._functions[key]) === 0)
|
|
74
|
+
delete this._functions[key];
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
_getGuardsUid() {
|
|
78
|
+
this._functionsCounter++;
|
|
79
|
+
return 'guard_' + this._functionsCounter;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
83
|
module.exports = ModulesStatesManagerFunctionsStorage;
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
class ModulesStatesManagerHelper {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.singleton = true;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
getActionByConfig(config) {
|
|
7
|
-
let actionType = Object.keys(config)[0];
|
|
8
|
-
let actionParams = config[actionType];
|
|
9
|
-
|
|
10
|
-
if (actionType === "action") {
|
|
11
|
-
//actionParams is action name
|
|
12
|
-
let actionName = actionParams;
|
|
13
|
-
|
|
14
|
-
let customActionInstance = this.getInstance('Actions.' + Urso.helper.capitaliseFirstLetter(actionName));
|
|
15
|
-
|
|
16
|
-
if (customActionInstance) {
|
|
17
|
-
return customActionInstance;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
let className = Urso.helper.capitaliseFirstLetter(actionType);
|
|
22
|
-
return this.getInstance(className, actionParams);
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
module.exports = ModulesStatesManagerHelper;
|
|
1
|
+
class ModulesStatesManagerHelper {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.singleton = true;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
getActionByConfig(config) {
|
|
7
|
+
let actionType = Object.keys(config)[0];
|
|
8
|
+
let actionParams = config[actionType];
|
|
9
|
+
|
|
10
|
+
if (actionType === "action") {
|
|
11
|
+
//actionParams is action name
|
|
12
|
+
let actionName = actionParams;
|
|
13
|
+
|
|
14
|
+
let customActionInstance = this.getInstance('Actions.' + Urso.helper.capitaliseFirstLetter(actionName));
|
|
15
|
+
|
|
16
|
+
if (customActionInstance) {
|
|
17
|
+
return customActionInstance;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
let className = Urso.helper.capitaliseFirstLetter(actionType);
|
|
22
|
+
return this.getInstance(className, actionParams);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
module.exports = ModulesStatesManagerHelper;
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
Action = require('./action.js');
|
|
2
|
-
|
|
3
|
-
class ModulesStatesManagerRace extends Action {
|
|
4
|
-
constructor(params) {
|
|
5
|
-
super();
|
|
6
|
-
|
|
7
|
-
this.name = 'Race';
|
|
8
|
-
this._actions = [];
|
|
9
|
-
this.params = params;
|
|
10
|
-
|
|
11
|
-
for (let config of params) {
|
|
12
|
-
this._actions.push(this.getInstance('Helper').getActionByConfig(config));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
this._actionSuccessHandler = this._actionSuccessHandler.bind(this);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
//can we start this action?
|
|
19
|
-
guard() {
|
|
20
|
-
for (let action of this._actions)
|
|
21
|
-
if (action.guard())
|
|
22
|
-
return true;
|
|
23
|
-
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
run(onFinishCallback) {
|
|
28
|
-
log(`%c action run ---> ${this.name}`, 'color: orange', this.params);
|
|
29
|
-
|
|
30
|
-
this.finished = false;
|
|
31
|
-
this._onFinishCallback = onFinishCallback;
|
|
32
|
-
|
|
33
|
-
for (let action of this._actions)
|
|
34
|
-
if (action.guard())
|
|
35
|
-
action.run(this._actionSuccessHandler);
|
|
36
|
-
else
|
|
37
|
-
action.finished = true;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
_actionSuccessHandler() {
|
|
41
|
-
if (!this._checkFinish())
|
|
42
|
-
this.terminate();
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
_checkFinish() {
|
|
46
|
-
for (let action of this._actions)
|
|
47
|
-
if (!action.finished)
|
|
48
|
-
return false;
|
|
49
|
-
|
|
50
|
-
this._onFinish();
|
|
51
|
-
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
terminate() {
|
|
56
|
-
if (this._terminating)
|
|
57
|
-
return;
|
|
58
|
-
|
|
59
|
-
log(`%c action terminate X ${this.name}`, 'color: orange');
|
|
60
|
-
|
|
61
|
-
this._terminating = true;
|
|
62
|
-
|
|
63
|
-
for (let action of this._actions)
|
|
64
|
-
if (!action.finished)
|
|
65
|
-
action.terminate();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
_onFinish() {
|
|
69
|
-
this.finished = true;
|
|
70
|
-
log(`%c action finish <--- ${this.name}`, 'color: orange');
|
|
71
|
-
this._onFinishCallback();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
module.exports = ModulesStatesManagerRace;
|
|
1
|
+
Action = require('./action.js');
|
|
2
|
+
|
|
3
|
+
class ModulesStatesManagerRace extends Action {
|
|
4
|
+
constructor(params) {
|
|
5
|
+
super();
|
|
6
|
+
|
|
7
|
+
this.name = 'Race';
|
|
8
|
+
this._actions = [];
|
|
9
|
+
this.params = params;
|
|
10
|
+
|
|
11
|
+
for (let config of params) {
|
|
12
|
+
this._actions.push(this.getInstance('Helper').getActionByConfig(config));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
this._actionSuccessHandler = this._actionSuccessHandler.bind(this);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//can we start this action?
|
|
19
|
+
guard() {
|
|
20
|
+
for (let action of this._actions)
|
|
21
|
+
if (action.guard())
|
|
22
|
+
return true;
|
|
23
|
+
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
run(onFinishCallback) {
|
|
28
|
+
log(`%c action run ---> ${this.name}`, 'color: orange', this.params);
|
|
29
|
+
|
|
30
|
+
this.finished = false;
|
|
31
|
+
this._onFinishCallback = onFinishCallback;
|
|
32
|
+
|
|
33
|
+
for (let action of this._actions)
|
|
34
|
+
if (action.guard())
|
|
35
|
+
action.run(this._actionSuccessHandler);
|
|
36
|
+
else
|
|
37
|
+
action.finished = true;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
_actionSuccessHandler() {
|
|
41
|
+
if (!this._checkFinish())
|
|
42
|
+
this.terminate();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
_checkFinish() {
|
|
46
|
+
for (let action of this._actions)
|
|
47
|
+
if (!action.finished)
|
|
48
|
+
return false;
|
|
49
|
+
|
|
50
|
+
this._onFinish();
|
|
51
|
+
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
terminate() {
|
|
56
|
+
if (this._terminating)
|
|
57
|
+
return;
|
|
58
|
+
|
|
59
|
+
log(`%c action terminate X ${this.name}`, 'color: orange');
|
|
60
|
+
|
|
61
|
+
this._terminating = true;
|
|
62
|
+
|
|
63
|
+
for (let action of this._actions)
|
|
64
|
+
if (!action.finished)
|
|
65
|
+
action.terminate();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
_onFinish() {
|
|
69
|
+
this.finished = true;
|
|
70
|
+
log(`%c action finish <--- ${this.name}`, 'color: orange');
|
|
71
|
+
this._onFinishCallback();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
module.exports = ModulesStatesManagerRace;
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
All = require('./all.js');
|
|
2
|
-
|
|
3
|
-
class ModulesStatesManagerSequence extends All {
|
|
4
|
-
constructor(params) {
|
|
5
|
-
super(params);
|
|
6
|
-
this.name = 'Sequence';
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
run(onFinishCallback) {
|
|
10
|
-
log(`%c action run ---> ${this.name}`, 'color: orange', this.params);
|
|
11
|
-
|
|
12
|
-
this.finished = false;
|
|
13
|
-
this._onFinishCallback = onFinishCallback;
|
|
14
|
-
|
|
15
|
-
this._checkFinish();
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
_checkFinish() {
|
|
19
|
-
if (!this._terminating)
|
|
20
|
-
for (let action of this._actions)
|
|
21
|
-
if (!action.finished) {
|
|
22
|
-
if (action.guard())
|
|
23
|
-
return action.run(this._actionSuccessHandler);
|
|
24
|
-
else
|
|
25
|
-
action.finished = true;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
this._onFinish();
|
|
29
|
-
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
terminate() {
|
|
34
|
-
if (this._terminating)
|
|
35
|
-
return;
|
|
36
|
-
|
|
37
|
-
log(`%c action terminate X ${this.name}`, 'color: orange');
|
|
38
|
-
|
|
39
|
-
this._terminating = true;
|
|
40
|
-
|
|
41
|
-
for (let action of this._actions)
|
|
42
|
-
if (!action.finished)
|
|
43
|
-
return action.terminate(); //only one action is currently running
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
module.exports = ModulesStatesManagerSequence;
|
|
1
|
+
All = require('./all.js');
|
|
2
|
+
|
|
3
|
+
class ModulesStatesManagerSequence extends All {
|
|
4
|
+
constructor(params) {
|
|
5
|
+
super(params);
|
|
6
|
+
this.name = 'Sequence';
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
run(onFinishCallback) {
|
|
10
|
+
log(`%c action run ---> ${this.name}`, 'color: orange', this.params);
|
|
11
|
+
|
|
12
|
+
this.finished = false;
|
|
13
|
+
this._onFinishCallback = onFinishCallback;
|
|
14
|
+
|
|
15
|
+
this._checkFinish();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
_checkFinish() {
|
|
19
|
+
if (!this._terminating)
|
|
20
|
+
for (let action of this._actions)
|
|
21
|
+
if (!action.finished) {
|
|
22
|
+
if (action.guard())
|
|
23
|
+
return action.run(this._actionSuccessHandler);
|
|
24
|
+
else
|
|
25
|
+
action.finished = true;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
this._onFinish();
|
|
29
|
+
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
terminate() {
|
|
34
|
+
if (this._terminating)
|
|
35
|
+
return;
|
|
36
|
+
|
|
37
|
+
log(`%c action terminate X ${this.name}`, 'color: orange');
|
|
38
|
+
|
|
39
|
+
this._terminating = true;
|
|
40
|
+
|
|
41
|
+
for (let action of this._actions)
|
|
42
|
+
if (!action.finished)
|
|
43
|
+
return action.terminate(); //only one action is currently running
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = ModulesStatesManagerSequence;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Urso.Core.Modules.Template = {
|
|
2
|
-
Controller: require('./controller.js'),
|
|
3
|
-
Model: require('./model.js'),
|
|
4
|
-
Service: require('./service.js'),
|
|
5
|
-
Types: require('./types.js')
|
|
6
|
-
};
|
|
1
|
+
Urso.Core.Modules.Template = {
|
|
2
|
+
Controller: require('./controller.js'),
|
|
3
|
+
Model: require('./model.js'),
|
|
4
|
+
Service: require('./service.js'),
|
|
5
|
+
Types: require('./types.js')
|
|
6
|
+
};
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
class ModulesTemplateController {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.singleton = true;
|
|
4
|
-
|
|
5
|
-
//set types
|
|
6
|
-
Urso.types = this.getInstance('Types').list;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
get() {
|
|
10
|
-
return this.getInstance('Service').getTemplate();
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
scene(name) {
|
|
14
|
-
return this.getInstance('Service').getSceneOrGroup(name, 'Scenes');
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
group(name) {
|
|
18
|
-
return this.getInstance('Service').getSceneOrGroup(name, 'Groups');
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
//make template
|
|
22
|
-
parse(template, additionalTemplateFlag) {
|
|
23
|
-
return this.getInstance('Service').parse(template, additionalTemplateFlag);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
module.exports = ModulesTemplateController;
|
|
1
|
+
class ModulesTemplateController {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.singleton = true;
|
|
4
|
+
|
|
5
|
+
//set types
|
|
6
|
+
Urso.types = this.getInstance('Types').list;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
get() {
|
|
10
|
+
return this.getInstance('Service').getTemplate();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
scene(name) {
|
|
14
|
+
return this.getInstance('Service').getSceneOrGroup(name, 'Scenes');
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
group(name) {
|
|
18
|
+
return this.getInstance('Service').getSceneOrGroup(name, 'Groups');
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//make template
|
|
22
|
+
parse(template, additionalTemplateFlag) {
|
|
23
|
+
return this.getInstance('Service').parse(template, additionalTemplateFlag);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = ModulesTemplateController;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
class ModulesTemplateModel {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.styles = {};
|
|
4
|
-
this.assets = [];
|
|
5
|
-
this.objects = [];
|
|
6
|
-
this.components = [];
|
|
7
|
-
this._templatePath = false;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
module.exports = ModulesTemplateModel;
|
|
1
|
+
class ModulesTemplateModel {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.styles = {};
|
|
4
|
+
this.assets = [];
|
|
5
|
+
this.objects = [];
|
|
6
|
+
this.components = [];
|
|
7
|
+
this._templatePath = false;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
module.exports = ModulesTemplateModel;
|