@urso/core 0.2.4-dev → 0.2.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 (147) 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 +31 -31
  5. package/package.json +52 -52
  6. package/src/js/app.js +77 -76
  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 +6 -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 +33 -33
  15. package/src/js/components/deviceRotate/_info.js +3 -3
  16. package/src/js/components/deviceRotate/controller.js +86 -86
  17. package/src/js/components/fullscreen/_info.js +6 -6
  18. package/src/js/components/fullscreen/android.js +104 -104
  19. package/src/js/components/fullscreen/controller.js +64 -64
  20. package/src/js/components/fullscreen/desktop.js +49 -49
  21. package/src/js/components/fullscreen/ios.js +111 -111
  22. package/src/js/components/loader/_info.js +4 -4
  23. package/src/js/components/loader/controller.js +66 -66
  24. package/src/js/components/loader/template.js +70 -70
  25. package/src/js/components/soundInitialPopup/_info.js +3 -3
  26. package/src/js/components/soundInitialPopup/controller.js +42 -42
  27. package/src/js/components/soundInitialPopup/template.js +109 -109
  28. package/src/js/components/stateDriven/_info.js +3 -4
  29. package/src/js/components/stateDriven/controller.js +96 -96
  30. package/src/js/config/load.js +5 -5
  31. package/src/js/config/main.js +10 -9
  32. package/src/js/extra/_info.js +23 -23
  33. package/src/js/extra/browserEvents.js +32 -32
  34. package/src/js/index.js +8 -8
  35. package/src/js/lib/_info.js +13 -13
  36. package/src/js/lib/cache.js +98 -98
  37. package/src/js/lib/composition.js +89 -89
  38. package/src/js/lib/device.js +1276 -1276
  39. package/src/js/lib/helper.js +539 -524
  40. package/src/js/lib/loader.js +121 -121
  41. package/src/js/lib/localData.js +15 -15
  42. package/src/js/lib/logger.js +22 -22
  43. package/src/js/lib/math.js +20 -20
  44. package/src/js/lib/objectPool.js +54 -54
  45. package/src/js/lib/time.js +18 -18
  46. package/src/js/lib/tween.js +147 -147
  47. package/src/js/modules/_info.js +11 -11
  48. package/src/js/modules/assets/_info.js +7 -7
  49. package/src/js/modules/assets/baseModel.js +18 -18
  50. package/src/js/modules/assets/config.js +35 -35
  51. package/src/js/modules/assets/controller.js +39 -37
  52. package/src/js/modules/assets/models/_info.js +12 -12
  53. package/src/js/modules/assets/models/atlas.js +8 -8
  54. package/src/js/modules/assets/models/audiosprite.js +27 -27
  55. package/src/js/modules/assets/models/bitmapFont.js +8 -8
  56. package/src/js/modules/assets/models/container.js +16 -16
  57. package/src/js/modules/assets/models/dragonBones.js +26 -26
  58. package/src/js/modules/assets/models/font.js +8 -8
  59. package/src/js/modules/assets/models/image.js +14 -14
  60. package/src/js/modules/assets/models/json.js +8 -8
  61. package/src/js/modules/assets/models/sound.js +14 -14
  62. package/src/js/modules/assets/models/spine.js +8 -8
  63. package/src/js/modules/assets/service.js +330 -330
  64. package/src/js/modules/instances/_info.js +3 -3
  65. package/src/js/modules/instances/controller.js +219 -218
  66. package/src/js/modules/logic/_info.js +4 -5
  67. package/src/js/modules/logic/config/_info.js +2 -3
  68. package/src/js/modules/logic/config/sounds.js +23 -23
  69. package/src/js/modules/logic/controller.js +48 -48
  70. package/src/js/modules/logic/sounds.js +96 -96
  71. package/src/js/modules/objects/_info.js +11 -11
  72. package/src/js/modules/objects/baseModel.js +161 -161
  73. package/src/js/modules/objects/cache.js +99 -99
  74. package/src/js/modules/objects/controller.js +121 -115
  75. package/src/js/modules/objects/create.js +233 -246
  76. package/src/js/modules/objects/find.js +140 -140
  77. package/src/js/modules/objects/models/_info.js +25 -25
  78. package/src/js/modules/objects/models/atlasImage.js +50 -50
  79. package/src/js/modules/objects/models/bitmapText.js +23 -23
  80. package/src/js/modules/objects/models/button.js +184 -184
  81. package/src/js/modules/objects/models/buttonComposite.js +35 -35
  82. package/src/js/modules/objects/models/checkbox.js +95 -96
  83. package/src/js/modules/objects/models/collection.js +54 -54
  84. package/src/js/modules/objects/models/component.js +44 -44
  85. package/src/js/modules/objects/models/container.js +19 -19
  86. package/src/js/modules/objects/models/dragonBones.js +250 -250
  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 -154
  96. package/src/js/modules/objects/models/spine.js +83 -83
  97. package/src/js/modules/objects/models/text.js +38 -38
  98. package/src/js/modules/objects/models/textInput.js +55 -55
  99. package/src/js/modules/objects/models/toggle.js +169 -169
  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 +179 -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 +33 -32
  107. package/src/js/modules/scenes/_info.js +8 -8
  108. package/src/js/modules/scenes/controller.js +34 -34
  109. package/src/js/modules/scenes/model.js +35 -35
  110. package/src/js/modules/scenes/pixiWrapper.js +194 -194
  111. package/src/js/modules/scenes/resolutions.js +168 -161
  112. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  113. package/src/js/modules/scenes/service.js +84 -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 +55 -55
  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 +131 -132
  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 +46 -46
  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 +22 -22
  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 +41 -41
  138. package/src/js/modules/transport/controller.js +48 -48
  139. package/src/js/modules/transport/decorator.js +16 -16
  140. package/src/js/modules/transport/service.js +140 -138
  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
  145. package/src/js/components/stateDriven/actionConfig.js +0 -7
  146. package/src/js/modules/logic/buttons.js +0 -120
  147. package/src/js/modules/logic/config/buttons.js +0 -63
@@ -1,121 +1,121 @@
1
- class LibLoader {
2
- constructor() {
3
- this._isRunning = false;
4
- this._assetsQuery = [];
5
- this._onLoadUpdate = () => {};
6
- };
7
-
8
- isRunning() {
9
- return this._isRunning;
10
- };
11
-
12
- /**
13
- *
14
- * @param {Object} asset - {type: 1, key: "somekey", path: "somepath"}
15
- */
16
- addAsset(asset) {
17
- this._assetsQuery.push(asset);
18
- }
19
-
20
- /**
21
- * gets part of loading path
22
- */
23
- _getLoadPath(asset){
24
- const { path } = asset;
25
-
26
- if(!Urso.config.useBinPath) {
27
- return `assets/${path}`;
28
- }
29
-
30
- const quality = Urso.getInstance('Modules.Assets.Service').getQuality();
31
- const splitted = path.split('/');
32
-
33
- if (splitted[0] === 'images') {
34
- splitted.splice(1, 0, quality);
35
- }
36
-
37
- return `bin/${splitted.join('/')}`;
38
- };
39
-
40
- /**
41
- * store loaded asset in cache
42
- */
43
- _storeAsset(asset, resource) {
44
- if (resource.error) {
45
- return Urso.logger.warn('LibLoader error: ', resource.error, asset);
46
- }
47
-
48
- switch (asset.type) {
49
- case Urso.types.assets.ATLAS:
50
- Urso.cache.addAtlas(asset.key, resource);
51
- break;
52
- case Urso.types.assets.BITMAPFONT:
53
- Urso.cache.addBitmapFont(asset.key, resource);
54
- break;
55
- case Urso.types.assets.FONT:
56
- Urso.cache.addFile(asset.key, resource);
57
- break;
58
- case Urso.types.assets.CONTAINER:
59
- Urso.cache.addContainer(asset.key, resource);
60
- break;
61
- case Urso.types.assets.IMAGE:
62
- Urso.cache.addImage(asset.key, resource);
63
- break;
64
- case Urso.types.assets.JSON:
65
- Urso.cache.addJson(asset.key, resource);
66
- break;
67
- case Urso.types.assets.SOUND:
68
- Urso.cache.addSound(asset.key, resource);
69
- break;
70
- case Urso.types.assets.SPINE:
71
- Urso.cache.addSpine(asset.key, resource);
72
- break;
73
- default:
74
- break;
75
- }
76
- }
77
-
78
- /**
79
- * setup onload callback
80
- * @param {Function} onLoad
81
- */
82
- setOnLoadUpdate(onLoadUpdate){
83
- if(onLoadUpdate)
84
- this._onLoadUpdate = onLoadUpdate;
85
- }
86
-
87
- /**
88
- * start loading assets from assets query
89
- * @param {Function} callback
90
- */
91
- start(callback) {
92
- if (this._isRunning)
93
- return false;
94
-
95
- this._isRunning = true;
96
-
97
- const loader = new PIXI.Loader();
98
- this._assetsQuery.forEach(asset => {
99
- // TODO: check to load
100
-
101
- const params = asset.params || false; // TODO: Set params field in base mode
102
- const loadPath = this._getLoadPath(asset);
103
- loader.add(asset.key, loadPath, params, (resource) => this._storeAsset(asset, resource)) //TODO set assets resolution instead _processLoadedImage baseTexture resolution
104
- });
105
-
106
- this._onLoadUpdate({progress: 0});
107
- loader.onProgress.add(this._onLoadUpdate);
108
-
109
- loader.load(function (loader, resources) {
110
- this._onLoadUpdate({progress: 100});
111
-
112
- callback();
113
-
114
- this._assetsQuery = [];
115
- this._isRunning = false;
116
- }.bind(this));
117
- };
118
-
119
- };
120
-
121
- module.exports = LibLoader;
1
+ class LibLoader {
2
+ constructor() {
3
+ this._isRunning = false;
4
+ this._assetsQuery = [];
5
+ this._onLoadUpdate = () => {};
6
+ };
7
+
8
+ isRunning() {
9
+ return this._isRunning;
10
+ };
11
+
12
+ /**
13
+ *
14
+ * @param {Object} asset - {type: 1, key: "somekey", path: "somepath"}
15
+ */
16
+ addAsset(asset) {
17
+ this._assetsQuery.push(asset);
18
+ }
19
+
20
+ /**
21
+ * gets part of loading path
22
+ */
23
+ _getLoadPath(asset){
24
+ const { path } = asset;
25
+
26
+ if(!Urso.config.useBinPath) {
27
+ return `assets/${path}`;
28
+ }
29
+
30
+ const quality = Urso.getInstance('Modules.Assets.Service').getQuality();
31
+ const splitted = path.split('/');
32
+
33
+ if (splitted[0] === 'images') {
34
+ splitted.splice(1, 0, quality);
35
+ }
36
+
37
+ return `bin/${splitted.join('/')}`;
38
+ };
39
+
40
+ /**
41
+ * store loaded asset in cache
42
+ */
43
+ _storeAsset(asset, resource) {
44
+ if (resource.error) {
45
+ return Urso.logger.warn('LibLoader error: ', resource.error, asset);
46
+ }
47
+
48
+ switch (asset.type) {
49
+ case Urso.types.assets.ATLAS:
50
+ Urso.cache.addAtlas(asset.key, resource);
51
+ break;
52
+ case Urso.types.assets.BITMAPFONT:
53
+ Urso.cache.addBitmapFont(asset.key, resource);
54
+ break;
55
+ case Urso.types.assets.FONT:
56
+ Urso.cache.addFile(asset.key, resource);
57
+ break;
58
+ case Urso.types.assets.CONTAINER:
59
+ Urso.cache.addContainer(asset.key, resource);
60
+ break;
61
+ case Urso.types.assets.IMAGE:
62
+ Urso.cache.addImage(asset.key, resource);
63
+ break;
64
+ case Urso.types.assets.JSON:
65
+ Urso.cache.addJson(asset.key, resource);
66
+ break;
67
+ case Urso.types.assets.SOUND:
68
+ Urso.cache.addSound(asset.key, resource);
69
+ break;
70
+ case Urso.types.assets.SPINE:
71
+ Urso.cache.addSpine(asset.key, resource);
72
+ break;
73
+ default:
74
+ break;
75
+ }
76
+ }
77
+
78
+ /**
79
+ * setup onload callback
80
+ * @param {Function} onLoad
81
+ */
82
+ setOnLoadUpdate(onLoadUpdate){
83
+ if(onLoadUpdate)
84
+ this._onLoadUpdate = onLoadUpdate;
85
+ }
86
+
87
+ /**
88
+ * start loading assets from assets query
89
+ * @param {Function} callback
90
+ */
91
+ start(callback) {
92
+ if (this._isRunning)
93
+ return false;
94
+
95
+ this._isRunning = true;
96
+
97
+ const loader = new PIXI.Loader();
98
+ this._assetsQuery.forEach(asset => {
99
+ // TODO: check to load
100
+
101
+ const params = asset.params || false; // TODO: Set params field in base mode
102
+ const loadPath = this._getLoadPath(asset);
103
+ loader.add(asset.key, loadPath, params, (resource) => this._storeAsset(asset, resource)) //TODO set assets resolution instead _processLoadedImage baseTexture resolution
104
+ });
105
+
106
+ this._onLoadUpdate({progress: 0});
107
+ loader.onProgress.add(this._onLoadUpdate);
108
+
109
+ loader.load(function (loader, resources) {
110
+ this._onLoadUpdate({progress: 100});
111
+
112
+ callback();
113
+
114
+ this._assetsQuery = [];
115
+ this._isRunning = false;
116
+ }.bind(this));
117
+ };
118
+
119
+ };
120
+
121
+ module.exports = LibLoader;
@@ -1,16 +1,16 @@
1
- class LibLocalData {
2
- constructor(){
3
- this._data = {};
4
- }
5
-
6
- get (name) {
7
- return Urso.helper.recursiveGet(name, this._data);
8
- };
9
-
10
- set (key, value) {
11
- Urso.helper.recursiveSet(key, value, this._data);
12
- return true;
13
- };
14
- }
15
-
1
+ class LibLocalData {
2
+ constructor(){
3
+ this._data = {};
4
+ }
5
+
6
+ get (name) {
7
+ return Urso.helper.recursiveGet(name, this._data);
8
+ };
9
+
10
+ set (key, value) {
11
+ Urso.helper.recursiveSet(key, value, this._data);
12
+ return true;
13
+ };
14
+ }
15
+
16
16
  module.exports = LibLocalData;
@@ -1,23 +1,23 @@
1
- class LibLogger {
2
-
3
- constructor() {
4
- //log
5
- window.log = console.log.bind(console); //todo this.log ?!
6
- }
7
-
8
- //todo set log level (dev/prod)
9
-
10
- log() {
11
- console.log.apply(console, arguments);
12
- }
13
-
14
- warn() {
15
- console.warn.apply(this, arguments);
16
- }
17
-
18
- error() {
19
- console.error.apply(this, arguments);
20
- }
21
- }
22
-
1
+ class LibLogger {
2
+
3
+ constructor() {
4
+ //log
5
+ window.log = console.log.bind(console); //todo this.log ?!
6
+ }
7
+
8
+ //todo set log level (dev/prod)
9
+
10
+ log() {
11
+ console.log.apply(console, arguments);
12
+ }
13
+
14
+ warn() {
15
+ console.warn.apply(this, arguments);
16
+ }
17
+
18
+ error() {
19
+ console.error.apply(this, arguments);
20
+ }
21
+ }
22
+
23
23
  module.exports = LibLogger;
@@ -1,21 +1,21 @@
1
- class LibMath {
2
- /**
3
- * validate number to make it value between min and max values
4
- * @param {Number} num
5
- * @param {Number} min
6
- * @param {Number} max
7
- */
8
- intMakeBetween(num, min, max) {
9
- return Math.max.apply(Math, [min, Math.min.apply(Math, [max, num])]);
10
- }
11
-
12
- getRandomInt(max) {
13
- return this.getRandomIntBetween(0, max);
14
- }
15
-
16
- getRandomIntBetween(min, max) {
17
- return Math.floor(Math.random() * (max - min + 1)) + min;
18
- }
19
- }
20
-
1
+ class LibMath {
2
+ /**
3
+ * validate number to make it value between min and max values
4
+ * @param {Number} num
5
+ * @param {Number} min
6
+ * @param {Number} max
7
+ */
8
+ intMakeBetween(num, min, max) {
9
+ return Math.max.apply(Math, [min, Math.min.apply(Math, [max, num])]);
10
+ }
11
+
12
+ getRandomInt(max) {
13
+ return this.getRandomIntBetween(0, max);
14
+ }
15
+
16
+ getRandomIntBetween(min, max) {
17
+ return Math.floor(Math.random() * (max - min + 1)) + min;
18
+ }
19
+ }
20
+
21
21
  module.exports = LibMath;
@@ -1,55 +1,55 @@
1
- class ObjectPoolMember {
2
- free = true;
3
- data = null;
4
-
5
- constructor(data) {
6
- this.data = data
7
- }
8
- }
9
-
10
- class LibObjectPool {
11
- pool = {};
12
- resetFunction = () => { }
13
- constructorFunction = () => { }
14
-
15
- constructor(constructorFunction, resetFunction = (obj) => obj, initialSize = 0) { //todo initialSize
16
- this.resetFunction = resetFunction;
17
- this.constructorFunction = constructorFunction;
18
- }
19
-
20
- getElement(key = 'default', additionalCreateArguments) {
21
- this._checkPoolKey(key);
22
- const poolArray = this.pool[key];
23
-
24
-
25
- for (let i = 0; i < poolArray.length; i++) {
26
- if (poolArray[i].free) {
27
- poolArray[i].free = false;
28
- return poolArray[i];
29
- }
30
- }
31
-
32
- const newObj = this._createElement(key, additionalCreateArguments);
33
- newObj.free = false;
34
- return newObj;
35
- }
36
-
37
- putElement(element) {
38
- element.free = true;
39
- this.resetFunction(element.data);
40
- }
41
-
42
- _createElement(key, additionalCreateArguments = null) {
43
- const newObj = this.resetFunction(this.constructorFunction(key, additionalCreateArguments));
44
- const poolMember = new ObjectPoolMember(newObj);
45
- this.pool[key].push(poolMember);
46
- return poolMember;
47
- }
48
-
49
- _checkPoolKey(key) {
50
- if (!this.pool[key])
51
- this.pool[key] = [];
52
- }
53
- }
54
-
1
+ class ObjectPoolMember {
2
+ free = true;
3
+ data = null;
4
+
5
+ constructor(data) {
6
+ this.data = data
7
+ }
8
+ }
9
+
10
+ class LibObjectPool {
11
+ pool = {};
12
+ resetFunction = () => { }
13
+ constructorFunction = () => { }
14
+
15
+ constructor(constructorFunction, resetFunction = (obj) => obj, initialSize = 0) { //todo initialSize
16
+ this.resetFunction = resetFunction;
17
+ this.constructorFunction = constructorFunction;
18
+ }
19
+
20
+ getElement(key = 'default', additionalCreateArguments) {
21
+ this._checkPoolKey(key);
22
+ const poolArray = this.pool[key];
23
+
24
+
25
+ for (let i = 0; i < poolArray.length; i++) {
26
+ if (poolArray[i].free) {
27
+ poolArray[i].free = false;
28
+ return poolArray[i];
29
+ }
30
+ }
31
+
32
+ const newObj = this._createElement(key, additionalCreateArguments);
33
+ newObj.free = false;
34
+ return newObj;
35
+ }
36
+
37
+ putElement(element) {
38
+ element.free = true;
39
+ this.resetFunction(element.data);
40
+ }
41
+
42
+ _createElement(key, additionalCreateArguments = null) {
43
+ const newObj = this.resetFunction(this.constructorFunction(key, additionalCreateArguments));
44
+ const poolMember = new ObjectPoolMember(newObj);
45
+ this.pool[key].push(poolMember);
46
+ return poolMember;
47
+ }
48
+
49
+ _checkPoolKey(key) {
50
+ if (!this.pool[key])
51
+ this.pool[key] = [];
52
+ }
53
+ }
54
+
55
55
  module.exports = LibObjectPool;
@@ -1,19 +1,19 @@
1
- class LibTime {
2
-
3
- get(foo) {
4
- if (!foo)
5
- foo = new Date();
6
-
7
- return foo.getTime();
8
- }
9
-
10
- getUnixtime(foo) {
11
- if (!foo)
12
- foo = new Date();
13
-
14
- var unixtime_ms = foo.getTime();
15
- return ~~(unixtime_ms / 1e3);
16
- }
17
- }
18
-
1
+ class LibTime {
2
+
3
+ get(foo) {
4
+ if (!foo)
5
+ foo = new Date();
6
+
7
+ return foo.getTime();
8
+ }
9
+
10
+ getUnixtime(foo) {
11
+ if (!foo)
12
+ foo = new Date();
13
+
14
+ var unixtime_ms = foo.getTime();
15
+ return ~~(unixtime_ms / 1e3);
16
+ }
17
+ }
18
+
19
19
  module.exports = LibTime;