@urso/core 0.3.4 → 0.3.8

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.
Files changed (144) hide show
  1. package/.babelrc +11 -11
  2. package/README.md +10 -10
  3. package/build/js/index.js +1 -1
  4. package/build/js/index.js.LICENSE.txt +29 -29
  5. package/package.json +51 -51
  6. package/src/js/app.js +77 -77
  7. package/src/js/components/_info.js +8 -8
  8. package/src/js/components/base/_info.js +3 -3
  9. package/src/js/components/base/controller.js +78 -78
  10. package/src/js/components/debug/_info.js +7 -6
  11. package/src/js/components/debug/controller.js +38 -38
  12. package/src/js/components/debug/coords.js +23 -23
  13. package/src/js/components/debug/fps.js +34 -34
  14. package/src/js/components/debug/template.js +55 -33
  15. package/src/js/components/debug/timescale.js +60 -0
  16. package/src/js/components/deviceRotate/_info.js +3 -3
  17. package/src/js/components/deviceRotate/controller.js +86 -86
  18. package/src/js/components/fullscreen/_info.js +6 -6
  19. package/src/js/components/fullscreen/android.js +104 -104
  20. package/src/js/components/fullscreen/controller.js +64 -64
  21. package/src/js/components/fullscreen/desktop.js +49 -49
  22. package/src/js/components/fullscreen/ios.js +111 -111
  23. package/src/js/components/loader/_info.js +4 -4
  24. package/src/js/components/loader/controller.js +66 -66
  25. package/src/js/components/loader/template.js +70 -70
  26. package/src/js/components/soundInitialPopup/_info.js +3 -3
  27. package/src/js/components/soundInitialPopup/controller.js +42 -42
  28. package/src/js/components/soundInitialPopup/template.js +109 -109
  29. package/src/js/components/stateDriven/_info.js +3 -3
  30. package/src/js/components/stateDriven/controller.js +118 -96
  31. package/src/js/config/load.js +5 -5
  32. package/src/js/config/main.js +10 -10
  33. package/src/js/extra/_info.js +22 -21
  34. package/src/js/extra/browserEvents.js +38 -32
  35. package/src/js/extra/setTimeout.js +7 -0
  36. package/src/js/index.js +8 -8
  37. package/src/js/lib/_info.js +13 -13
  38. package/src/js/lib/cache.js +105 -98
  39. package/src/js/lib/composition.js +89 -89
  40. package/src/js/lib/device.js +1276 -1276
  41. package/src/js/lib/helper.js +539 -539
  42. package/src/js/lib/loader.js +127 -121
  43. package/src/js/lib/localData.js +15 -15
  44. package/src/js/lib/logger.js +22 -22
  45. package/src/js/lib/math.js +35 -20
  46. package/src/js/lib/objectPool.js +54 -54
  47. package/src/js/lib/time.js +18 -18
  48. package/src/js/lib/tween.js +147 -147
  49. package/src/js/modules/_info.js +11 -11
  50. package/src/js/modules/assets/_info.js +7 -7
  51. package/src/js/modules/assets/baseModel.js +18 -18
  52. package/src/js/modules/assets/config.js +35 -35
  53. package/src/js/modules/assets/controller.js +39 -39
  54. package/src/js/modules/assets/models/_info.js +11 -11
  55. package/src/js/modules/assets/models/atlas.js +8 -8
  56. package/src/js/modules/assets/models/audiosprite.js +27 -27
  57. package/src/js/modules/assets/models/bitmapFont.js +8 -8
  58. package/src/js/modules/assets/models/container.js +16 -16
  59. package/src/js/modules/assets/models/font.js +8 -8
  60. package/src/js/modules/assets/models/image.js +13 -14
  61. package/src/js/modules/assets/models/json.js +8 -8
  62. package/src/js/modules/assets/models/sound.js +14 -14
  63. package/src/js/modules/assets/models/spine.js +14 -8
  64. package/src/js/modules/assets/service.js +353 -327
  65. package/src/js/modules/instances/_info.js +3 -3
  66. package/src/js/modules/instances/controller.js +219 -219
  67. package/src/js/modules/logic/_info.js +4 -4
  68. package/src/js/modules/logic/config/_info.js +2 -2
  69. package/src/js/modules/logic/config/sounds.js +23 -23
  70. package/src/js/modules/logic/controller.js +48 -48
  71. package/src/js/modules/logic/sounds.js +96 -96
  72. package/src/js/modules/objects/_info.js +11 -11
  73. package/src/js/modules/objects/baseModel.js +161 -161
  74. package/src/js/modules/objects/cache.js +99 -99
  75. package/src/js/modules/objects/controller.js +121 -121
  76. package/src/js/modules/objects/create.js +230 -230
  77. package/src/js/modules/objects/find.js +140 -140
  78. package/src/js/modules/objects/models/_info.js +24 -24
  79. package/src/js/modules/objects/models/atlasImage.js +50 -50
  80. package/src/js/modules/objects/models/bitmapText.js +23 -23
  81. package/src/js/modules/objects/models/button.js +184 -184
  82. package/src/js/modules/objects/models/buttonComposite.js +35 -35
  83. package/src/js/modules/objects/models/checkbox.js +96 -96
  84. package/src/js/modules/objects/models/collection.js +54 -54
  85. package/src/js/modules/objects/models/component.js +44 -44
  86. package/src/js/modules/objects/models/container.js +19 -19
  87. package/src/js/modules/objects/models/emitter.js +54 -54
  88. package/src/js/modules/objects/models/graphics.js +38 -38
  89. package/src/js/modules/objects/models/group.js +19 -19
  90. package/src/js/modules/objects/models/hitArea.js +104 -104
  91. package/src/js/modules/objects/models/image.js +34 -34
  92. package/src/js/modules/objects/models/imagesAnimation.js +113 -113
  93. package/src/js/modules/objects/models/mask.js +38 -38
  94. package/src/js/modules/objects/models/scrollbox.js +61 -61
  95. package/src/js/modules/objects/models/slider.js +199 -199
  96. package/src/js/modules/objects/models/spine.js +89 -83
  97. package/src/js/modules/objects/models/text.js +38 -38
  98. package/src/js/modules/objects/models/textInput.js +66 -66
  99. package/src/js/modules/objects/models/toggle.js +178 -178
  100. package/src/js/modules/objects/models/world.js +19 -19
  101. package/src/js/modules/objects/propertyAdapter.js +421 -421
  102. package/src/js/modules/objects/proxy.js +182 -179
  103. package/src/js/modules/objects/styles.js +116 -116
  104. package/src/js/modules/observer/_info.js +4 -4
  105. package/src/js/modules/observer/controller.js +99 -99
  106. package/src/js/modules/observer/events.js +37 -36
  107. package/src/js/modules/scenes/_info.js +8 -8
  108. package/src/js/modules/scenes/controller.js +42 -34
  109. package/src/js/modules/scenes/model.js +35 -35
  110. package/src/js/modules/scenes/pixiWrapper.js +202 -194
  111. package/src/js/modules/scenes/resolutions.js +176 -168
  112. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  113. package/src/js/modules/scenes/service.js +92 -84
  114. package/src/js/modules/soundManager/_info.js +3 -3
  115. package/src/js/modules/soundManager/controller.js +99 -99
  116. package/src/js/modules/soundManager/soundSprite.js +202 -202
  117. package/src/js/modules/statesManager/_info.js +12 -12
  118. package/src/js/modules/statesManager/action.js +60 -60
  119. package/src/js/modules/statesManager/actions/_info.js +3 -3
  120. package/src/js/modules/statesManager/all.js +23 -23
  121. package/src/js/modules/statesManager/configStates.js +71 -71
  122. package/src/js/modules/statesManager/controller.js +170 -140
  123. package/src/js/modules/statesManager/functionsStorage.js +82 -82
  124. package/src/js/modules/statesManager/helper.js +27 -27
  125. package/src/js/modules/statesManager/race.js +75 -75
  126. package/src/js/modules/statesManager/sequence.js +47 -47
  127. package/src/js/modules/template/_info.js +6 -6
  128. package/src/js/modules/template/controller.js +28 -28
  129. package/src/js/modules/template/model.js +11 -11
  130. package/src/js/modules/template/service.js +125 -125
  131. package/src/js/modules/template/types.js +44 -44
  132. package/src/js/modules/transport/_info.js +8 -8
  133. package/src/js/modules/transport/baseConnectionType.js +24 -24
  134. package/src/js/modules/transport/config.js +13 -13
  135. package/src/js/modules/transport/connectionTypes/_info.js +3 -3
  136. package/src/js/modules/transport/connectionTypes/websocket.js +74 -74
  137. package/src/js/modules/transport/connectionTypes/xhr.js +44 -44
  138. package/src/js/modules/transport/controller.js +48 -48
  139. package/src/js/modules/transport/decorator.js +17 -17
  140. package/src/js/modules/transport/service.js +153 -153
  141. package/src/js/templates/_info.js +4 -4
  142. package/src/js/templates/groups/_info.js +1 -1
  143. package/src/js/templates/scenes/_info.js +1 -1
  144. package/webpack.config.js +47 -47
@@ -1,99 +1,99 @@
1
- class ModulesObjectsCache {
2
- constructor() {
3
- this.singleton = true;
4
- this._data = null;
5
- this.reset();
6
- };
7
-
8
- reset() {
9
- this._data = {
10
- ids: {},
11
- names: {},
12
- classes: {}
13
- }
14
- }
15
-
16
- addId(key, object) {
17
- if (this._data.ids[key])
18
- Urso.logger.error('ModulesObjectsCache error: id will be uniq ' + key);
19
-
20
- this._data.ids[key] = object;
21
- }
22
-
23
- removeId(key, object) {
24
- if (!this._data.ids[key])
25
- Urso.logger.error('ModulesObjectsCache error: no id to remove ' + key);
26
-
27
- if (this._data.ids[key]._uid !== object._uid)
28
- Urso.logger.error('ModulesObjectsCache error: invalid object with id ' + key);
29
-
30
- delete this._data.ids[key];
31
- }
32
-
33
- addName(key, object) {
34
- if (this._data.names[key])
35
- Urso.logger.error('ModulesObjectsCache error: name will be uniq ' + key);
36
-
37
- this._data.names[key] = object;
38
- }
39
-
40
- removeName(key, object) {
41
- if (!this._data.names[key])
42
- Urso.logger.error('ModulesObjectsCache error: no name to remove ' + key);
43
-
44
- if (this._data.names[key]._uid !== object._uid)
45
- Urso.logger.error('ModulesObjectsCache error: invalid object with name ' + key);
46
-
47
- delete this._data.names[key];
48
- }
49
-
50
- addClass(key, object) {
51
- let classNamesArray = key.split(' ');
52
-
53
- for (const className of classNamesArray)
54
- this._addClass(className, object);
55
- }
56
-
57
- removeClass(key, object) {
58
- let classNamesArray = key.split(' ');
59
-
60
- for (const className of classNamesArray)
61
- this._removeClass(className, object);
62
- }
63
-
64
- getId(key) {
65
- return this._data.ids[key] || false;
66
- }
67
-
68
- getName(key) {
69
- return this._data.names[key] || false;
70
- }
71
-
72
- getClass(key) {
73
- if (this._data.classes[key])
74
- return Object.values(this._data.classes[key]);
75
-
76
- return false;
77
- }
78
-
79
- _addClass(key, object) {
80
- if (!this._data.classes[key])
81
- this._data.classes[key] = {};
82
-
83
- if (!this._data.classes[key][object._uid])
84
- this._data.classes[key][object._uid] = object;
85
- }
86
-
87
- _removeClass(key, object) {
88
- if (!this._data.classes[key])
89
- return;
90
-
91
- if (this._data.classes[key][object._uid])
92
- delete this._data.classes[key][object._uid];
93
-
94
- if (!Object.keys(this._data.classes[key]).length)
95
- delete this._data.classes[key];
96
- }
97
- }
98
-
99
- module.exports = ModulesObjectsCache;
1
+ class ModulesObjectsCache {
2
+ constructor() {
3
+ this.singleton = true;
4
+ this._data = null;
5
+ this.reset();
6
+ };
7
+
8
+ reset() {
9
+ this._data = {
10
+ ids: {},
11
+ names: {},
12
+ classes: {}
13
+ }
14
+ }
15
+
16
+ addId(key, object) {
17
+ if (this._data.ids[key])
18
+ Urso.logger.error('ModulesObjectsCache error: id will be uniq ' + key);
19
+
20
+ this._data.ids[key] = object;
21
+ }
22
+
23
+ removeId(key, object) {
24
+ if (!this._data.ids[key])
25
+ Urso.logger.error('ModulesObjectsCache error: no id to remove ' + key);
26
+
27
+ if (this._data.ids[key]._uid !== object._uid)
28
+ Urso.logger.error('ModulesObjectsCache error: invalid object with id ' + key);
29
+
30
+ delete this._data.ids[key];
31
+ }
32
+
33
+ addName(key, object) {
34
+ if (this._data.names[key])
35
+ Urso.logger.error('ModulesObjectsCache error: name will be uniq ' + key);
36
+
37
+ this._data.names[key] = object;
38
+ }
39
+
40
+ removeName(key, object) {
41
+ if (!this._data.names[key])
42
+ Urso.logger.error('ModulesObjectsCache error: no name to remove ' + key);
43
+
44
+ if (this._data.names[key]._uid !== object._uid)
45
+ Urso.logger.error('ModulesObjectsCache error: invalid object with name ' + key);
46
+
47
+ delete this._data.names[key];
48
+ }
49
+
50
+ addClass(key, object) {
51
+ let classNamesArray = key.split(' ');
52
+
53
+ for (const className of classNamesArray)
54
+ this._addClass(className, object);
55
+ }
56
+
57
+ removeClass(key, object) {
58
+ let classNamesArray = key.split(' ');
59
+
60
+ for (const className of classNamesArray)
61
+ this._removeClass(className, object);
62
+ }
63
+
64
+ getId(key) {
65
+ return this._data.ids[key] || false;
66
+ }
67
+
68
+ getName(key) {
69
+ return this._data.names[key] || false;
70
+ }
71
+
72
+ getClass(key) {
73
+ if (this._data.classes[key])
74
+ return Object.values(this._data.classes[key]);
75
+
76
+ return false;
77
+ }
78
+
79
+ _addClass(key, object) {
80
+ if (!this._data.classes[key])
81
+ this._data.classes[key] = {};
82
+
83
+ if (!this._data.classes[key][object._uid])
84
+ this._data.classes[key][object._uid] = object;
85
+ }
86
+
87
+ _removeClass(key, object) {
88
+ if (!this._data.classes[key])
89
+ return;
90
+
91
+ if (this._data.classes[key][object._uid])
92
+ delete this._data.classes[key][object._uid];
93
+
94
+ if (!Object.keys(this._data.classes[key]).length)
95
+ delete this._data.classes[key];
96
+ }
97
+ }
98
+
99
+ module.exports = ModulesObjectsCache;
@@ -1,121 +1,121 @@
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
- create(objects, parent, doNotRefreshStylesFlag) { //TODO parse template for assets and objects (groups, components)
15
- let result;
16
-
17
- if (Array.isArray(objects)) {
18
- result = [];
19
- for (const object of objects) {
20
- result.push(this.getInstance('Create').add(object, parent));
21
- }
22
- } else
23
- result = this.getInstance('Create').add(objects, parent);
24
-
25
- if (!doNotRefreshStylesFlag)
26
- this.refreshStyles(parent);
27
-
28
- return result;
29
- }
30
-
31
- find(selector) {
32
- return this.getInstance('Find').do(selector);
33
- }
34
-
35
- findOne(selector) {
36
- let result = this.getInstance('Find').do(selector, true);
37
- return result ? result[0] : false;
38
- }
39
-
40
- findAll(selector) {
41
- let result = this.getInstance('Find').do(selector);
42
- return result ? result : []; //todo make collections
43
- }
44
-
45
- addIdToCache(id, object) {
46
- this.getInstance('Cache').addId(id, object);
47
- }
48
-
49
- removeIdFromCache(id, object) {
50
- this.getInstance('Cache').removeId(id, object);
51
- }
52
-
53
- addNameToCache(name, object) {
54
- this.getInstance('Cache').addName(name, object);
55
- }
56
-
57
- removeNameFromCache(name, object) {
58
- this.getInstance('Cache').removeName(name, object);
59
- }
60
-
61
- addClassToCache(className, object) {
62
- this.getInstance('Cache').addClass(className, object);
63
- }
64
-
65
- removeClassFromCache(className, object) {
66
- this.getInstance('Cache').removeClass(className, object);
67
- }
68
-
69
- refreshStyles(parent) {
70
- return this.getInstance('Styles').refresh(parent);
71
- }
72
-
73
- refreshByChangedClassName(className) {
74
- return this.getInstance('Styles').refreshByChangedClassName(className);
75
- }
76
-
77
- getWorld() {
78
- return this.getInstance('Create').getWorld();
79
- }
80
-
81
- addChild(parent, child, doNotRefreshStylesFlag) {
82
- this.getInstance('Create').addChild(parent, child, doNotRefreshStylesFlag);
83
- }
84
-
85
- removeChild(parent, child, doNotRefreshStylesFlag) {
86
- this.getInstance('Create').removeChild(parent, child, doNotRefreshStylesFlag);
87
- }
88
-
89
- destroy(object, doNotRefreshStylesFlag) {
90
- this.getInstance('Create').destroy(object, doNotRefreshStylesFlag);
91
- }
92
-
93
- //do not use outside engine
94
- _safeSetValueToTarget(target, key, value) {
95
- this.getInstance('Proxy').safeSetValueToTarget(target, key, value);
96
- }
97
-
98
- _updateCommonProperties(object) {
99
- this.getInstance('Create')._updateCommonProperties(object);
100
- }
101
-
102
- _newResolutionHandler(params) {
103
- this.getInstance('Create').updateWorldBounds(params);
104
- }
105
-
106
- _resetWorld() {
107
- this.getInstance('Create').resetWorld();
108
- }
109
-
110
- _applyClassesToWorld() {
111
- this.getInstance('Create').applyClassesToWorld();
112
- }
113
-
114
- _subscribeOnce() {
115
- this.addListener(Urso.events.MODULES_SCENES_NEW_RESOLUTION, this._newResolutionHandler, true);
116
- this.addListener(Urso.events.MODULES_SCENES_NEW_SCENE_INIT, this._resetWorld, true);
117
- this.addListener(Urso.events.MODULES_INSTANCES_MODES_CHANGED, this._applyClassesToWorld, true);
118
- }
119
- }
120
-
121
- module.exports = ModulesObjectsController;
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
+ create(objects, parent, doNotRefreshStylesFlag) { //TODO parse template for assets and objects (groups, components)
15
+ let result;
16
+
17
+ if (Array.isArray(objects)) {
18
+ result = [];
19
+ for (const object of objects) {
20
+ result.push(this.getInstance('Create').add(object, parent));
21
+ }
22
+ } else
23
+ result = this.getInstance('Create').add(objects, parent);
24
+
25
+ if (!doNotRefreshStylesFlag)
26
+ this.refreshStyles(parent);
27
+
28
+ return result;
29
+ }
30
+
31
+ find(selector) {
32
+ return this.getInstance('Find').do(selector);
33
+ }
34
+
35
+ findOne(selector) {
36
+ let result = this.getInstance('Find').do(selector, true);
37
+ return result ? result[0] : false;
38
+ }
39
+
40
+ findAll(selector) {
41
+ let result = this.getInstance('Find').do(selector);
42
+ return result ? result : []; //todo make collections
43
+ }
44
+
45
+ addIdToCache(id, object) {
46
+ this.getInstance('Cache').addId(id, object);
47
+ }
48
+
49
+ removeIdFromCache(id, object) {
50
+ this.getInstance('Cache').removeId(id, object);
51
+ }
52
+
53
+ addNameToCache(name, object) {
54
+ this.getInstance('Cache').addName(name, object);
55
+ }
56
+
57
+ removeNameFromCache(name, object) {
58
+ this.getInstance('Cache').removeName(name, object);
59
+ }
60
+
61
+ addClassToCache(className, object) {
62
+ this.getInstance('Cache').addClass(className, object);
63
+ }
64
+
65
+ removeClassFromCache(className, object) {
66
+ this.getInstance('Cache').removeClass(className, object);
67
+ }
68
+
69
+ refreshStyles(parent) {
70
+ return this.getInstance('Styles').refresh(parent);
71
+ }
72
+
73
+ refreshByChangedClassName(className) {
74
+ return this.getInstance('Styles').refreshByChangedClassName(className);
75
+ }
76
+
77
+ getWorld() {
78
+ return this.getInstance('Create').getWorld();
79
+ }
80
+
81
+ addChild(parent, child, doNotRefreshStylesFlag) {
82
+ this.getInstance('Create').addChild(parent, child, doNotRefreshStylesFlag);
83
+ }
84
+
85
+ removeChild(parent, child, doNotRefreshStylesFlag) {
86
+ this.getInstance('Create').removeChild(parent, child, doNotRefreshStylesFlag);
87
+ }
88
+
89
+ destroy(object, doNotRefreshStylesFlag) {
90
+ this.getInstance('Create').destroy(object, doNotRefreshStylesFlag);
91
+ }
92
+
93
+ //do not use outside engine
94
+ _safeSetValueToTarget(target, key, value) {
95
+ this.getInstance('Proxy').safeSetValueToTarget(target, key, value);
96
+ }
97
+
98
+ _updateCommonProperties(object) {
99
+ this.getInstance('Create')._updateCommonProperties(object);
100
+ }
101
+
102
+ _newResolutionHandler(params) {
103
+ this.getInstance('Create').updateWorldBounds(params);
104
+ }
105
+
106
+ _resetWorld() {
107
+ this.getInstance('Create').resetWorld();
108
+ }
109
+
110
+ _applyClassesToWorld() {
111
+ this.getInstance('Create').applyClassesToWorld();
112
+ }
113
+
114
+ _subscribeOnce() {
115
+ this.addListener(Urso.events.MODULES_SCENES_NEW_RESOLUTION, this._newResolutionHandler, true);
116
+ this.addListener(Urso.events.MODULES_SCENES_NEW_SCENE_INIT, this._resetWorld, true);
117
+ this.addListener(Urso.events.MODULES_INSTANCES_MODES_CHANGED, this._applyClassesToWorld, true);
118
+ }
119
+ }
120
+
121
+ module.exports = ModulesObjectsController;