@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,139 +1,139 @@
|
|
|
1
|
-
class ModulesObjectsController {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.singleton = true;
|
|
4
|
-
|
|
5
|
-
Urso.find = this.find.bind(this);
|
|
6
|
-
Urso.findOne = this.findOne.bind(this);
|
|
7
|
-
Urso.findAll = this.findAll.bind(this);
|
|
8
|
-
|
|
9
|
-
this._newResolutionHandler = this._newResolutionHandler.bind(this);
|
|
10
|
-
this._resetWorld = this._resetWorld.bind(this);
|
|
11
|
-
this._applyClassesToWorld = this._applyClassesToWorld.bind(this);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
* @param {Array|ModulesObjectsBaseModel} objects - array of objects or single object model
|
|
17
|
-
* @param {Object} parent - parent object
|
|
18
|
-
* @param {boolean} doNotRefreshStylesFlag - create without refresh styles
|
|
19
|
-
* @param {boolean} _system - system create, do not use this in your code
|
|
20
|
-
* @returns
|
|
21
|
-
*/
|
|
22
|
-
create(objects, parent, doNotRefreshStylesFlag, _system = false) {
|
|
23
|
-
let result;
|
|
24
|
-
|
|
25
|
-
if (Array.isArray(objects)) {
|
|
26
|
-
result = [];
|
|
27
|
-
|
|
28
|
-
for (const object of objects) {
|
|
29
|
-
result.push(this._createSingleObject(object, parent, doNotRefreshStylesFlag, _system));
|
|
30
|
-
}
|
|
31
|
-
} else
|
|
32
|
-
result = this._createSingleObject(objects, parent, doNotRefreshStylesFlag, _system);
|
|
33
|
-
|
|
34
|
-
if (!doNotRefreshStylesFlag)
|
|
35
|
-
this.refreshStyles(parent);
|
|
36
|
-
|
|
37
|
-
return result;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
_createSingleObject(object, parent, doNotRefreshStylesFlag, _system) {
|
|
41
|
-
//parse template for assets and objects (groups, components) Urso.types.objects.COMPONENT Urso.types.objects.GROUP
|
|
42
|
-
if (!object._parsed && !_system) { //todo only for objects, contains components && groups in future
|
|
43
|
-
return Urso.scenes.addObject(object, parent, doNotRefreshStylesFlag);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return this.getInstance('Service').add(object, parent);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
find(selector) {
|
|
50
|
-
return this.getInstance('Find').do(selector);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
findOne(selector) {
|
|
54
|
-
let result = this.getInstance('Find').do(selector, true);
|
|
55
|
-
return result ? result[0] : false;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
findAll(selector) {
|
|
59
|
-
let result = this.getInstance('Find').do(selector);
|
|
60
|
-
return result ? result : []; //todo make collections
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
addIdToCache(id, object) {
|
|
64
|
-
this.getInstance('Cache').addId(id, object);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
removeIdFromCache(id, object) {
|
|
68
|
-
this.getInstance('Cache').removeId(id, object);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
addNameToCache(name, object) {
|
|
72
|
-
this.getInstance('Cache').addName(name, object);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
removeNameFromCache(name, object) {
|
|
76
|
-
this.getInstance('Cache').removeName(name, object);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
addClassToCache(className, object) {
|
|
80
|
-
this.getInstance('Cache').addClass(className, object);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
removeClassFromCache(className, object) {
|
|
84
|
-
this.getInstance('Cache').removeClass(className, object);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
refreshStyles(parent) {
|
|
88
|
-
return this.getInstance('Styles').refresh(parent);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
refreshByChangedClassName(className) {
|
|
92
|
-
return this.getInstance('Styles').refreshByChangedClassName(className);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
getWorld() {
|
|
96
|
-
return this.getInstance('Service').getWorld();
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
addChild(parent, child, doNotRefreshStylesFlag) {
|
|
100
|
-
this.getInstance('Service').addChild(parent, child, doNotRefreshStylesFlag);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
removeChild(parent, child, doNotRefreshStylesFlag) {
|
|
104
|
-
this.getInstance('Service').removeChild(parent, child, doNotRefreshStylesFlag);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
destroy(object, doNotRefreshStylesFlag) {
|
|
108
|
-
this.getInstance('Service').destroy(object, doNotRefreshStylesFlag);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
//do not use outside engine
|
|
112
|
-
_safeSetValueToTarget(target, key, value) {
|
|
113
|
-
this.getInstance('Proxy').safeSetValueToTarget(target, key, value);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
_updateCommonProperties(object) {
|
|
117
|
-
this.getInstance('Service')._updateCommonProperties(object);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
_newResolutionHandler(params) {
|
|
121
|
-
this.getInstance('Service').updateWorldBounds(params);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
_resetWorld() {
|
|
125
|
-
this.getInstance('Service').resetWorld();
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
_applyClassesToWorld() {
|
|
129
|
-
this.getInstance('Service').applyClassesToWorld();
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
_subscribeOnce() {
|
|
133
|
-
this.addListener(Urso.events.MODULES_SCENES_NEW_RESOLUTION, this._newResolutionHandler, true);
|
|
134
|
-
this.addListener(Urso.events.MODULES_SCENES_NEW_SCENE_INIT, this._resetWorld, true);
|
|
135
|
-
this.addListener(Urso.events.MODULES_INSTANCES_MODES_CHANGED, this._applyClassesToWorld, true);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
1
|
+
class ModulesObjectsController {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.singleton = true;
|
|
4
|
+
|
|
5
|
+
Urso.find = this.find.bind(this);
|
|
6
|
+
Urso.findOne = this.findOne.bind(this);
|
|
7
|
+
Urso.findAll = this.findAll.bind(this);
|
|
8
|
+
|
|
9
|
+
this._newResolutionHandler = this._newResolutionHandler.bind(this);
|
|
10
|
+
this._resetWorld = this._resetWorld.bind(this);
|
|
11
|
+
this._applyClassesToWorld = this._applyClassesToWorld.bind(this);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param {Array|ModulesObjectsBaseModel} objects - array of objects or single object model
|
|
17
|
+
* @param {Object} parent - parent object
|
|
18
|
+
* @param {boolean} doNotRefreshStylesFlag - create without refresh styles
|
|
19
|
+
* @param {boolean} _system - system create, do not use this in your code
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
create(objects, parent, doNotRefreshStylesFlag, _system = false) {
|
|
23
|
+
let result;
|
|
24
|
+
|
|
25
|
+
if (Array.isArray(objects)) {
|
|
26
|
+
result = [];
|
|
27
|
+
|
|
28
|
+
for (const object of objects) {
|
|
29
|
+
result.push(this._createSingleObject(object, parent, doNotRefreshStylesFlag, _system));
|
|
30
|
+
}
|
|
31
|
+
} else
|
|
32
|
+
result = this._createSingleObject(objects, parent, doNotRefreshStylesFlag, _system);
|
|
33
|
+
|
|
34
|
+
if (!doNotRefreshStylesFlag)
|
|
35
|
+
this.refreshStyles(parent);
|
|
36
|
+
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
_createSingleObject(object, parent, doNotRefreshStylesFlag, _system) {
|
|
41
|
+
//parse template for assets and objects (groups, components) Urso.types.objects.COMPONENT Urso.types.objects.GROUP
|
|
42
|
+
if (!object._parsed && !_system) { //todo only for objects, contains components && groups in future
|
|
43
|
+
return Urso.scenes.addObject(object, parent, doNotRefreshStylesFlag);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return this.getInstance('Service').add(object, parent);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
find(selector) {
|
|
50
|
+
return this.getInstance('Find').do(selector);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
findOne(selector) {
|
|
54
|
+
let result = this.getInstance('Find').do(selector, true);
|
|
55
|
+
return result ? result[0] : false;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
findAll(selector) {
|
|
59
|
+
let result = this.getInstance('Find').do(selector);
|
|
60
|
+
return result ? result : []; //todo make collections
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
addIdToCache(id, object) {
|
|
64
|
+
this.getInstance('Cache').addId(id, object);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
removeIdFromCache(id, object) {
|
|
68
|
+
this.getInstance('Cache').removeId(id, object);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
addNameToCache(name, object) {
|
|
72
|
+
this.getInstance('Cache').addName(name, object);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
removeNameFromCache(name, object) {
|
|
76
|
+
this.getInstance('Cache').removeName(name, object);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
addClassToCache(className, object) {
|
|
80
|
+
this.getInstance('Cache').addClass(className, object);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
removeClassFromCache(className, object) {
|
|
84
|
+
this.getInstance('Cache').removeClass(className, object);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
refreshStyles(parent) {
|
|
88
|
+
return this.getInstance('Styles').refresh(parent);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
refreshByChangedClassName(className) {
|
|
92
|
+
return this.getInstance('Styles').refreshByChangedClassName(className);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
getWorld() {
|
|
96
|
+
return this.getInstance('Service').getWorld();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
addChild(parent, child, doNotRefreshStylesFlag) {
|
|
100
|
+
this.getInstance('Service').addChild(parent, child, doNotRefreshStylesFlag);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
removeChild(parent, child, doNotRefreshStylesFlag) {
|
|
104
|
+
this.getInstance('Service').removeChild(parent, child, doNotRefreshStylesFlag);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
destroy(object, doNotRefreshStylesFlag) {
|
|
108
|
+
this.getInstance('Service').destroy(object, doNotRefreshStylesFlag);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
//do not use outside engine
|
|
112
|
+
_safeSetValueToTarget(target, key, value) {
|
|
113
|
+
this.getInstance('Proxy').safeSetValueToTarget(target, key, value);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
_updateCommonProperties(object) {
|
|
117
|
+
this.getInstance('Service')._updateCommonProperties(object);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
_newResolutionHandler(params) {
|
|
121
|
+
this.getInstance('Service').updateWorldBounds(params);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
_resetWorld() {
|
|
125
|
+
this.getInstance('Service').resetWorld();
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
_applyClassesToWorld() {
|
|
129
|
+
this.getInstance('Service').applyClassesToWorld();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
_subscribeOnce() {
|
|
133
|
+
this.addListener(Urso.events.MODULES_SCENES_NEW_RESOLUTION, this._newResolutionHandler, true);
|
|
134
|
+
this.addListener(Urso.events.MODULES_SCENES_NEW_SCENE_INIT, this._resetWorld, true);
|
|
135
|
+
this.addListener(Urso.events.MODULES_INSTANCES_MODES_CHANGED, this._applyClassesToWorld, true);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export default ModulesObjectsController;
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
class ModulesObjectsFind {
|
|
2
|
-
|
|
3
|
-
constructor() {
|
|
4
|
-
this.singleton = true;
|
|
5
|
-
this._selector = this.getInstance('Selector');
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* find object(s) by selector (find, findOne, findAll)
|
|
10
|
-
* @param {String} selector
|
|
11
|
-
* @param {Boolean} findOneFlag
|
|
12
|
-
* @returns {mixed}
|
|
13
|
-
*/
|
|
14
|
-
do(selector, findOneFlag) {
|
|
15
|
-
let result = [];
|
|
16
|
-
let selectorsPartsParsed = this._selector.parse(selector);
|
|
17
|
-
let lastRule = selectorsPartsParsed[selectorsPartsParsed.length - 1][0];
|
|
18
|
-
|
|
19
|
-
//get elements by last rule
|
|
20
|
-
let testObjects = this.getInstance('Cache')[
|
|
21
|
-
'get' + Urso.helper.capitaliseFirstLetter(lastRule.type)
|
|
22
|
-
](lastRule.value);
|
|
23
|
-
|
|
24
|
-
//if its name or id we will transform one element to array of elements to test
|
|
25
|
-
if (lastRule.type !== 'class' && testObjects)
|
|
26
|
-
testObjects = [testObjects];
|
|
27
|
-
|
|
28
|
-
//no objects found to test --> return false
|
|
29
|
-
if (!testObjects || testObjects.length === 0)
|
|
30
|
-
return false;
|
|
31
|
-
|
|
32
|
-
//return findOneFlag with simple selector (selector with one rule)
|
|
33
|
-
if (
|
|
34
|
-
findOneFlag &&
|
|
35
|
-
selectorsPartsParsed.length === 1 &&
|
|
36
|
-
selectorsPartsParsed[0].length === 1
|
|
37
|
-
)
|
|
38
|
-
return testObjects;
|
|
39
|
-
|
|
40
|
-
//check test objects for all selectors parts conformity
|
|
41
|
-
for (let testObject of testObjects) {
|
|
42
|
-
let testResult = this._selector.testObjectWithParsedSelector(
|
|
43
|
-
testObject,
|
|
44
|
-
selectorsPartsParsed
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
if (testResult)
|
|
48
|
-
result.push(testObject);
|
|
49
|
-
|
|
50
|
-
if (testResult && findOneFlag)
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return result;
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
class ModulesObjectsFind {
|
|
2
|
+
|
|
3
|
+
constructor() {
|
|
4
|
+
this.singleton = true;
|
|
5
|
+
this._selector = this.getInstance('Selector');
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* find object(s) by selector (find, findOne, findAll)
|
|
10
|
+
* @param {String} selector
|
|
11
|
+
* @param {Boolean} findOneFlag
|
|
12
|
+
* @returns {mixed}
|
|
13
|
+
*/
|
|
14
|
+
do(selector, findOneFlag) {
|
|
15
|
+
let result = [];
|
|
16
|
+
let selectorsPartsParsed = this._selector.parse(selector);
|
|
17
|
+
let lastRule = selectorsPartsParsed[selectorsPartsParsed.length - 1][0];
|
|
18
|
+
|
|
19
|
+
//get elements by last rule
|
|
20
|
+
let testObjects = this.getInstance('Cache')[
|
|
21
|
+
'get' + Urso.helper.capitaliseFirstLetter(lastRule.type)
|
|
22
|
+
](lastRule.value);
|
|
23
|
+
|
|
24
|
+
//if its name or id we will transform one element to array of elements to test
|
|
25
|
+
if (lastRule.type !== 'class' && testObjects)
|
|
26
|
+
testObjects = [testObjects];
|
|
27
|
+
|
|
28
|
+
//no objects found to test --> return false
|
|
29
|
+
if (!testObjects || testObjects.length === 0)
|
|
30
|
+
return false;
|
|
31
|
+
|
|
32
|
+
//return findOneFlag with simple selector (selector with one rule)
|
|
33
|
+
if (
|
|
34
|
+
findOneFlag &&
|
|
35
|
+
selectorsPartsParsed.length === 1 &&
|
|
36
|
+
selectorsPartsParsed[0].length === 1
|
|
37
|
+
)
|
|
38
|
+
return testObjects;
|
|
39
|
+
|
|
40
|
+
//check test objects for all selectors parts conformity
|
|
41
|
+
for (let testObject of testObjects) {
|
|
42
|
+
let testResult = this._selector.testObjectWithParsedSelector(
|
|
43
|
+
testObject,
|
|
44
|
+
selectorsPartsParsed
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
if (testResult)
|
|
48
|
+
result.push(testObject);
|
|
49
|
+
|
|
50
|
+
if (testResult && findOneFlag)
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return result;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export default ModulesObjectsFind;
|
|
@@ -1,49 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
class ModulesObjectsModelsBitmapText extends ModulesObjectsBaseModel {
|
|
4
|
-
constructor(params) {
|
|
5
|
-
super(params);
|
|
6
|
-
|
|
7
|
-
this.type = Urso.types.objects.BITMAPTEXT;
|
|
8
|
-
this._addBaseObject();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
setupParams(params) {
|
|
12
|
-
super.setupParams(params);
|
|
13
|
-
|
|
14
|
-
this.text = Urso.helper.recursiveGet('text', params, false);
|
|
15
|
-
this.localeId = Urso.helper.recursiveGet('localeId', params, false); //you can use this instead text for localization
|
|
16
|
-
|
|
17
|
-
this.localeVariables = Urso.helper.recursiveGet('localeVariables', params, {}); //optional variables for localization by localeId
|
|
18
|
-
|
|
19
|
-
this.fontName = Urso.helper.recursiveGet('fontName', params, false);
|
|
20
|
-
this.fontSize = Urso.helper.recursiveGet('fontSize', params, false);
|
|
21
|
-
this.letterSpacing = Urso.helper.recursiveGet('letterSpacing', params, 0);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
_addBaseObject() {
|
|
25
|
-
if (this.localeId)
|
|
26
|
-
this._originalModel.text = this.text = Urso.i18n.get(this.localeId, this.localeVariables);
|
|
27
|
-
|
|
28
|
-
this._baseObject = new PIXI.BitmapText(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
import ModulesObjectsBaseModel from './../baseModel';
|
|
2
|
+
|
|
3
|
+
class ModulesObjectsModelsBitmapText extends ModulesObjectsBaseModel {
|
|
4
|
+
constructor(params) {
|
|
5
|
+
super(params);
|
|
6
|
+
|
|
7
|
+
this.type = Urso.types.objects.BITMAPTEXT;
|
|
8
|
+
this._addBaseObject();
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
setupParams(params) {
|
|
12
|
+
super.setupParams(params);
|
|
13
|
+
|
|
14
|
+
this.text = Urso.helper.recursiveGet('text', params, false);
|
|
15
|
+
this.localeId = Urso.helper.recursiveGet('localeId', params, false); //you can use this instead text for localization
|
|
16
|
+
|
|
17
|
+
this.localeVariables = Urso.helper.recursiveGet('localeVariables', params, {}); //optional variables for localization by localeId
|
|
18
|
+
|
|
19
|
+
this.fontName = Urso.helper.recursiveGet('fontName', params, false);
|
|
20
|
+
this.fontSize = Urso.helper.recursiveGet('fontSize', params, false);
|
|
21
|
+
this.letterSpacing = Urso.helper.recursiveGet('letterSpacing', params, 0);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
_addBaseObject() {
|
|
25
|
+
if (this.localeId)
|
|
26
|
+
this._originalModel.text = this.text = Urso.i18n.get(this.localeId, this.localeVariables);
|
|
27
|
+
|
|
28
|
+
this._baseObject = new PIXI.BitmapText({
|
|
29
|
+
text: this.text,
|
|
30
|
+
style: {
|
|
31
|
+
fontFamily: this.fontName,
|
|
32
|
+
fontSize: this.fontSize,
|
|
33
|
+
letterSpacing: this.letterSpacing,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
_newLocaleHandler() {
|
|
39
|
+
if(!this.proxyObject)
|
|
40
|
+
return;
|
|
41
|
+
|
|
42
|
+
this.proxyObject.text = Urso.i18n.get(this.localeId, this.localeVariables);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
_customDestroy() {
|
|
46
|
+
if (this.localeId)
|
|
47
|
+
this.removeListener(Urso.events.MODULES_I18N_NEW_LOCALE_WAS_SET, this._newLocaleHandler.bind(this));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
_subscribeOnce() {
|
|
51
|
+
if (this.localeId)
|
|
52
|
+
this.addListener(Urso.events.MODULES_I18N_NEW_LOCALE_WAS_SET, this._newLocaleHandler.bind(this));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export default ModulesObjectsModelsBitmapText;
|