@urso/core 0.6.14 → 0.6.16-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.
Files changed (156) hide show
  1. package/.babelrc +11 -11
  2. package/LICENSE +20 -20
  3. package/README.md +227 -227
  4. package/build/js/index.js +1 -1
  5. package/build/js/index.js.LICENSE.txt +270 -38
  6. package/package.json +52 -52
  7. package/src/js/app.js +79 -79
  8. package/src/js/components/_info.js +11 -11
  9. package/src/js/components/base/_info.js +3 -3
  10. package/src/js/components/base/controller.js +78 -78
  11. package/src/js/components/debug/_info.js +7 -7
  12. package/src/js/components/debug/controller.js +38 -38
  13. package/src/js/components/debug/coords.js +23 -23
  14. package/src/js/components/debug/fps.js +36 -36
  15. package/src/js/components/debug/template.js +55 -55
  16. package/src/js/components/debug/timescale.js +60 -60
  17. package/src/js/components/deviceRotate/_info.js +3 -3
  18. package/src/js/components/deviceRotate/controller.js +86 -86
  19. package/src/js/components/fullscreen/_info.js +6 -6
  20. package/src/js/components/fullscreen/android.js +104 -104
  21. package/src/js/components/fullscreen/controller.js +76 -76
  22. package/src/js/components/fullscreen/desktop.js +49 -49
  23. package/src/js/components/fullscreen/ios.js +115 -115
  24. package/src/js/components/layersSwitcher/_info.js +4 -4
  25. package/src/js/components/layersSwitcher/config.js +26 -26
  26. package/src/js/components/layersSwitcher/controller.js +34 -34
  27. package/src/js/components/loader/_info.js +4 -4
  28. package/src/js/components/loader/controller.js +65 -65
  29. package/src/js/components/loader/template.js +70 -70
  30. package/src/js/components/soundInitialPopup/_info.js +3 -3
  31. package/src/js/components/soundInitialPopup/controller.js +42 -42
  32. package/src/js/components/soundInitialPopup/template.js +109 -109
  33. package/src/js/components/stateDriven/_info.js +3 -3
  34. package/src/js/components/stateDriven/controller.js +118 -118
  35. package/src/js/config/load.js +5 -5
  36. package/src/js/config/main.js +16 -16
  37. package/src/js/extra/_info.js +26 -26
  38. package/src/js/extra/browserEvents.js +51 -51
  39. package/src/js/extra/pixiPatch.js +150 -150
  40. package/src/js/extra/setTimeout.js +7 -7
  41. package/src/js/index.js +8 -8
  42. package/src/js/lib/_info.js +13 -13
  43. package/src/js/lib/cache.js +105 -105
  44. package/src/js/lib/composition.js +85 -85
  45. package/src/js/lib/device.js +1286 -1286
  46. package/src/js/lib/helper.js +556 -556
  47. package/src/js/lib/loader.js +136 -136
  48. package/src/js/lib/localData.js +15 -15
  49. package/src/js/lib/logger.js +69 -69
  50. package/src/js/lib/math.js +35 -35
  51. package/src/js/lib/objectPool.js +203 -203
  52. package/src/js/lib/time.js +18 -18
  53. package/src/js/lib/tween.js +147 -147
  54. package/src/js/modules/_info.js +12 -12
  55. package/src/js/modules/assets/_info.js +7 -7
  56. package/src/js/modules/assets/baseModel.js +20 -20
  57. package/src/js/modules/assets/config.js +37 -37
  58. package/src/js/modules/assets/controller.js +46 -46
  59. package/src/js/modules/assets/models/_info.js +11 -11
  60. package/src/js/modules/assets/models/atlas.js +8 -8
  61. package/src/js/modules/assets/models/audiosprite.js +27 -27
  62. package/src/js/modules/assets/models/bitmapFont.js +8 -8
  63. package/src/js/modules/assets/models/container.js +16 -16
  64. package/src/js/modules/assets/models/font.js +8 -8
  65. package/src/js/modules/assets/models/image.js +15 -15
  66. package/src/js/modules/assets/models/json.js +8 -8
  67. package/src/js/modules/assets/models/sound.js +14 -14
  68. package/src/js/modules/assets/models/spine.js +14 -14
  69. package/src/js/modules/assets/service.js +366 -366
  70. package/src/js/modules/i18n/_info.js +4 -4
  71. package/src/js/modules/i18n/config.js +17 -17
  72. package/src/js/modules/i18n/controller.js +79 -79
  73. package/src/js/modules/instances/_info.js +3 -3
  74. package/src/js/modules/instances/controller.js +357 -357
  75. package/src/js/modules/logic/_info.js +4 -4
  76. package/src/js/modules/logic/config/_info.js +2 -2
  77. package/src/js/modules/logic/config/sounds.js +23 -23
  78. package/src/js/modules/logic/controller.js +48 -48
  79. package/src/js/modules/logic/sounds.js +103 -103
  80. package/src/js/modules/objects/_info.js +13 -13
  81. package/src/js/modules/objects/baseModel.js +200 -200
  82. package/src/js/modules/objects/cache.js +99 -99
  83. package/src/js/modules/objects/controller.js +131 -131
  84. package/src/js/modules/objects/find.js +58 -58
  85. package/src/js/modules/objects/models/_info.js +27 -27
  86. package/src/js/modules/objects/models/atlasImage.js +50 -50
  87. package/src/js/modules/objects/models/bitmapText.js +37 -37
  88. package/src/js/modules/objects/models/button.js +189 -189
  89. package/src/js/modules/objects/models/buttonComposite.js +35 -35
  90. package/src/js/modules/objects/models/checkbox.js +96 -96
  91. package/src/js/modules/objects/models/collection.js +54 -54
  92. package/src/js/modules/objects/models/component.js +46 -46
  93. package/src/js/modules/objects/models/container.js +19 -19
  94. package/src/js/modules/objects/models/dragContainer.js +667 -667
  95. package/src/js/modules/objects/models/emitter.js +67 -67
  96. package/src/js/modules/objects/models/emitterFx.js +99 -99
  97. package/src/js/modules/objects/models/graphics.js +38 -38
  98. package/src/js/modules/objects/models/group.js +19 -19
  99. package/src/js/modules/objects/models/hitArea.js +104 -104
  100. package/src/js/modules/objects/models/image.js +34 -34
  101. package/src/js/modules/objects/models/imagesAnimation.js +113 -113
  102. package/src/js/modules/objects/models/mask.js +38 -38
  103. package/src/js/modules/objects/models/nineSlicePlane.js +30 -30
  104. package/src/js/modules/objects/models/scrollbox.js +64 -64
  105. package/src/js/modules/objects/models/slider.js +253 -253
  106. package/src/js/modules/objects/models/spine.js +287 -287
  107. package/src/js/modules/objects/models/text.js +59 -59
  108. package/src/js/modules/objects/models/textInput.js +66 -66
  109. package/src/js/modules/objects/models/toggle.js +180 -180
  110. package/src/js/modules/objects/models/world.js +19 -19
  111. package/src/js/modules/objects/propertyAdapter.js +587 -587
  112. package/src/js/modules/objects/proxy.js +294 -294
  113. package/src/js/modules/objects/selector.js +136 -136
  114. package/src/js/modules/objects/service.js +242 -242
  115. package/src/js/modules/objects/styles.js +210 -210
  116. package/src/js/modules/observer/_info.js +4 -4
  117. package/src/js/modules/observer/controller.js +99 -99
  118. package/src/js/modules/observer/events.js +52 -52
  119. package/src/js/modules/scenes/_info.js +8 -8
  120. package/src/js/modules/scenes/controller.js +119 -119
  121. package/src/js/modules/scenes/model.js +28 -28
  122. package/src/js/modules/scenes/pixiWrapper.js +336 -336
  123. package/src/js/modules/scenes/resolutions.js +173 -173
  124. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  125. package/src/js/modules/scenes/service.js +142 -142
  126. package/src/js/modules/soundManager/_info.js +3 -3
  127. package/src/js/modules/soundManager/controller.js +100 -100
  128. package/src/js/modules/soundManager/soundSprite.js +251 -251
  129. package/src/js/modules/statesManager/_info.js +12 -12
  130. package/src/js/modules/statesManager/action.js +68 -68
  131. package/src/js/modules/statesManager/actions/_info.js +3 -3
  132. package/src/js/modules/statesManager/all.js +23 -23
  133. package/src/js/modules/statesManager/configStates.js +71 -71
  134. package/src/js/modules/statesManager/controller.js +170 -170
  135. package/src/js/modules/statesManager/functionsStorage.js +82 -82
  136. package/src/js/modules/statesManager/helper.js +27 -27
  137. package/src/js/modules/statesManager/race.js +75 -75
  138. package/src/js/modules/statesManager/sequence.js +47 -47
  139. package/src/js/modules/template/_info.js +6 -6
  140. package/src/js/modules/template/controller.js +28 -28
  141. package/src/js/modules/template/model.js +11 -11
  142. package/src/js/modules/template/service.js +137 -137
  143. package/src/js/modules/template/types.js +46 -46
  144. package/src/js/modules/transport/_info.js +8 -8
  145. package/src/js/modules/transport/baseConnectionType.js +24 -24
  146. package/src/js/modules/transport/config.js +13 -13
  147. package/src/js/modules/transport/connectionTypes/_info.js +3 -3
  148. package/src/js/modules/transport/connectionTypes/websocket.js +74 -74
  149. package/src/js/modules/transport/connectionTypes/xhr.js +44 -44
  150. package/src/js/modules/transport/controller.js +48 -48
  151. package/src/js/modules/transport/decorator.js +17 -17
  152. package/src/js/modules/transport/service.js +153 -153
  153. package/src/js/templates/_info.js +4 -4
  154. package/src/js/templates/groups/_info.js +1 -1
  155. package/src/js/templates/scenes/_info.js +1 -1
  156. package/webpack.config.js +47 -47
@@ -1,148 +1,148 @@
1
- class LibTween {
2
- constructor() {
3
- this.singleton = true;
4
-
5
- this._tweenIndex = 0;
6
- this._tweens = {};
7
- }
8
-
9
- removeAll() {
10
- for (let k in this._tweens)
11
- this._tweens[k].stop();
12
-
13
- this._tweens = {};
14
- };
15
-
16
- add(object) {
17
- const key = this._keyGenerate();
18
-
19
- const tl = gsap.timeline({
20
- repeat: 1,
21
- onComplete: () => { this._onCompleteHandler(key) },
22
- onUpdate: () => { this._onUpdateHandler(key) }
23
- });
24
-
25
- const tween = {
26
- id: key,
27
- isRunning: false,
28
- target: object,
29
- to: this._to,
30
- start: this._start,
31
- pause: this._pause,
32
- resume: this._resume,
33
- stop: this._stop,
34
-
35
- _timeScale: 1,
36
- get timeScale() {
37
- return this._timeScale;
38
- }, set timeScale(a) {
39
- return this._timeScale;
40
- },
41
- _timeline: tl,
42
- _complete: false,
43
- _paused: true,
44
- _functions: {
45
- onStart: [],
46
- onUpdate: [],
47
- onComplete: []
48
- }
49
- };
50
-
51
- //need to add some functions
52
- tween.onComplete = {
53
- add: (f) => {
54
- tween._functions.onComplete.push(f);
55
- return tween;
56
- }
57
- };
58
-
59
- tween.onStart = {
60
- add: (f) => {
61
- tween._functions.onStart.push(f);
62
- return tween;
63
- }
64
- };
65
-
66
- tween.onUpdate = {
67
- add: (f) => {
68
- tween._functions.onUpdate.push(f);
69
- return tween;
70
- }
71
- };
72
-
73
- this._tweens[key] = tween;
74
-
75
- return tween;
76
- };
77
-
78
- _keyGenerate() {
79
- this._tweenIndex++;
80
- return (new Date()).getTime() + '_' + this._tweenIndex;
81
- };
82
-
83
- //todo easing
84
- _to(propsTo, duration, easing = undefined, autostart = false, startDelay = 0) {
85
- const params = Urso.helper.objectClone(propsTo, 10);
86
- params.duration = duration / 1000;
87
- params.easing = easing;
88
- params.delay = startDelay;
89
-
90
- this._timeline.to(this.target, params);
91
- //this.pause();
92
-
93
- if (autostart)
94
- this.start();
95
-
96
- return this;
97
- };
98
-
99
- _start() {
100
- for (let i = 0; i < this._functions.onStart.length; i++)
101
- this._functions.onStart[i]();
102
-
103
- this.resume();
104
- return this;
105
- };
106
-
107
- _pause() {
108
- this._paused = true;
109
- this.isRunning = false;
110
- this._timeline.pause();
111
-
112
- return this;
113
- };
114
-
115
- _resume() {
116
- this._paused = false;
117
- this.isRunning = true;
118
- this._timeline.resume();
119
-
120
- return this;
121
- };
122
-
123
- _stop() {
124
- this.pause();
125
- this._timeline.kill();
126
- this._complete = true;
127
-
128
- return this;
129
- };
130
-
131
- _onUpdateHandler(tweenKey) {
132
- const tween = this._tweens[tweenKey];
133
- const percentage = ~~(tween._timeline.progress() * 100);
134
-
135
- for (let i = 0; i < tween._functions.onUpdate.length; i++)
136
- tween._functions.onUpdate[i](tween, percentage);
137
- }
138
-
139
- _onCompleteHandler(tweenKey) {
140
- const tween = this._tweens[tweenKey];
141
- const onComplete = tween._functions.onComplete;
142
-
143
- for (let i = 0; i < onComplete.length; i++)
144
- onComplete[i]();
145
- }
146
- }
147
-
1
+ class LibTween {
2
+ constructor() {
3
+ this.singleton = true;
4
+
5
+ this._tweenIndex = 0;
6
+ this._tweens = {};
7
+ }
8
+
9
+ removeAll() {
10
+ for (let k in this._tweens)
11
+ this._tweens[k].stop();
12
+
13
+ this._tweens = {};
14
+ };
15
+
16
+ add(object) {
17
+ const key = this._keyGenerate();
18
+
19
+ const tl = gsap.timeline({
20
+ repeat: 1,
21
+ onComplete: () => { this._onCompleteHandler(key) },
22
+ onUpdate: () => { this._onUpdateHandler(key) }
23
+ });
24
+
25
+ const tween = {
26
+ id: key,
27
+ isRunning: false,
28
+ target: object,
29
+ to: this._to,
30
+ start: this._start,
31
+ pause: this._pause,
32
+ resume: this._resume,
33
+ stop: this._stop,
34
+
35
+ _timeScale: 1,
36
+ get timeScale() {
37
+ return this._timeScale;
38
+ }, set timeScale(a) {
39
+ return this._timeScale;
40
+ },
41
+ _timeline: tl,
42
+ _complete: false,
43
+ _paused: true,
44
+ _functions: {
45
+ onStart: [],
46
+ onUpdate: [],
47
+ onComplete: []
48
+ }
49
+ };
50
+
51
+ //need to add some functions
52
+ tween.onComplete = {
53
+ add: (f) => {
54
+ tween._functions.onComplete.push(f);
55
+ return tween;
56
+ }
57
+ };
58
+
59
+ tween.onStart = {
60
+ add: (f) => {
61
+ tween._functions.onStart.push(f);
62
+ return tween;
63
+ }
64
+ };
65
+
66
+ tween.onUpdate = {
67
+ add: (f) => {
68
+ tween._functions.onUpdate.push(f);
69
+ return tween;
70
+ }
71
+ };
72
+
73
+ this._tweens[key] = tween;
74
+
75
+ return tween;
76
+ };
77
+
78
+ _keyGenerate() {
79
+ this._tweenIndex++;
80
+ return (new Date()).getTime() + '_' + this._tweenIndex;
81
+ };
82
+
83
+ //todo easing
84
+ _to(propsTo, duration, easing = undefined, autostart = false, startDelay = 0) {
85
+ const params = Urso.helper.objectClone(propsTo, 10);
86
+ params.duration = duration / 1000;
87
+ params.easing = easing;
88
+ params.delay = startDelay;
89
+
90
+ this._timeline.to(this.target, params);
91
+ //this.pause();
92
+
93
+ if (autostart)
94
+ this.start();
95
+
96
+ return this;
97
+ };
98
+
99
+ _start() {
100
+ for (let i = 0; i < this._functions.onStart.length; i++)
101
+ this._functions.onStart[i]();
102
+
103
+ this.resume();
104
+ return this;
105
+ };
106
+
107
+ _pause() {
108
+ this._paused = true;
109
+ this.isRunning = false;
110
+ this._timeline.pause();
111
+
112
+ return this;
113
+ };
114
+
115
+ _resume() {
116
+ this._paused = false;
117
+ this.isRunning = true;
118
+ this._timeline.resume();
119
+
120
+ return this;
121
+ };
122
+
123
+ _stop() {
124
+ this.pause();
125
+ this._timeline.kill();
126
+ this._complete = true;
127
+
128
+ return this;
129
+ };
130
+
131
+ _onUpdateHandler(tweenKey) {
132
+ const tween = this._tweens[tweenKey];
133
+ const percentage = ~~(tween._timeline.progress() * 100);
134
+
135
+ for (let i = 0; i < tween._functions.onUpdate.length; i++)
136
+ tween._functions.onUpdate[i](tween, percentage);
137
+ }
138
+
139
+ _onCompleteHandler(tweenKey) {
140
+ const tween = this._tweens[tweenKey];
141
+ const onComplete = tween._functions.onComplete;
142
+
143
+ for (let i = 0; i < onComplete.length; i++)
144
+ onComplete[i]();
145
+ }
146
+ }
147
+
148
148
  module.exports = LibTween;
@@ -1,12 +1,12 @@
1
- Urso.Core.Modules = {};
2
- require('./assets/_info.js');
3
- require('./i18n/_info.js');
4
- require('./instances/_info.js');
5
- require('./logic/_info.js');
6
- require('./objects/_info.js');
7
- require('./observer/_info.js');
8
- require('./scenes/_info.js');
9
- require('./soundManager/_info.js');
10
- require('./statesManager/_info.js');
11
- require('./template/_info.js');
12
- require('./transport/_info.js');
1
+ Urso.Core.Modules = {};
2
+ require('./assets/_info.js');
3
+ require('./i18n/_info.js');
4
+ require('./instances/_info.js');
5
+ require('./logic/_info.js');
6
+ require('./objects/_info.js');
7
+ require('./observer/_info.js');
8
+ require('./scenes/_info.js');
9
+ require('./soundManager/_info.js');
10
+ require('./statesManager/_info.js');
11
+ require('./template/_info.js');
12
+ require('./transport/_info.js');
@@ -1,7 +1,7 @@
1
- Urso.Core.Modules.Assets = {
2
- BaseModel: require('./baseModel.js'),
3
- Config: require('./config.js'),
4
- Controller: require('./controller.js'),
5
- Service: require('./service.js')
6
- };
7
- require('./models/_info.js');
1
+ Urso.Core.Modules.Assets = {
2
+ BaseModel: require('./baseModel.js'),
3
+ Config: require('./config.js'),
4
+ Controller: require('./controller.js'),
5
+ Service: require('./service.js')
6
+ };
7
+ require('./models/_info.js');
@@ -1,21 +1,21 @@
1
- class ModulesAssetsBaseModel {
2
- constructor(params) {
3
- this.simpleClass = true;
4
-
5
- this.setupParams(params);
6
- this._templatePath = false;
7
- }
8
-
9
- setupParams(params) {
10
- this.id = Urso.helper.recursiveGet('id', params, false);
11
- this.type = Urso.helper.recursiveGet('type', params, null);
12
- this.key = Urso.helper.recursiveGet('key', params, false);
13
- this.path = Urso.helper.recursiveGet('path', params, false);
14
- this.useBinPath = Urso.helper.recursiveGet('useBinPath', params, false) || Urso.config.mode !== 'development'; //or true if we want to use asset from assetsBin
15
- //lazy load params
16
- this.loadingGroup = Urso.helper.recursiveGet('loadingGroup', params, false); //initial or some extra name
17
- this.placeHolder = Urso.helper.recursiveGet('placeHolder', params, false); //placeHolder assets model //TODO
18
- }
19
- }
20
-
1
+ class ModulesAssetsBaseModel {
2
+ constructor(params) {
3
+ this.simpleClass = true;
4
+
5
+ this.setupParams(params);
6
+ this._templatePath = false;
7
+ }
8
+
9
+ setupParams(params) {
10
+ this.id = Urso.helper.recursiveGet('id', params, false);
11
+ this.type = Urso.helper.recursiveGet('type', params, null);
12
+ this.key = Urso.helper.recursiveGet('key', params, false);
13
+ this.path = Urso.helper.recursiveGet('path', params, false);
14
+ this.useBinPath = Urso.helper.recursiveGet('useBinPath', params, false) || Urso.config.mode !== 'development'; //or true if we want to use asset from assetsBin
15
+ //lazy load params
16
+ this.loadingGroup = Urso.helper.recursiveGet('loadingGroup', params, false); //initial or some extra name
17
+ this.placeHolder = Urso.helper.recursiveGet('placeHolder', params, false); //placeHolder assets model //TODO
18
+ }
19
+ }
20
+
21
21
  module.exports = ModulesAssetsBaseModel;
@@ -1,37 +1,37 @@
1
- class ModulesAssetsConfig {
2
- constructor() {
3
- this.singleton = true;
4
-
5
- this.defaultQualityFactor = 1;
6
-
7
- /**
8
- * quality settings for resource loading selection
9
- */
10
- this.qualityFactors = {
11
- medium: 0.5,
12
- hd: 0.75,
13
- high: 1
14
- };
15
-
16
-
17
- /**
18
- * initial is the default and will load on the preload
19
- * also you can call preload manualy by assets.loadGroup('groupName')
20
- */
21
- this.loadingGroups = {
22
- initial: 0 //will load on the preload
23
- /*lazyPart1: 'lazyPart1',
24
- lazyPart2: 'lazyPart2'*/
25
- };
26
-
27
- /**
28
- * you can make lazy load groups priority here
29
- */
30
- this.lazyLoadGroups = [
31
- /*this.loadingGroups.lazyPart1,
32
- this.loadingGroups.lazyPart2*/
33
- ];
34
- }
35
- }
36
-
37
- module.exports = ModulesAssetsConfig;
1
+ class ModulesAssetsConfig {
2
+ constructor() {
3
+ this.singleton = true;
4
+
5
+ this.defaultQualityFactor = 1;
6
+
7
+ /**
8
+ * quality settings for resource loading selection
9
+ */
10
+ this.qualityFactors = {
11
+ medium: 0.5,
12
+ hd: 0.75,
13
+ high: 1
14
+ };
15
+
16
+
17
+ /**
18
+ * initial is the default and will load on the preload
19
+ * also you can call preload manualy by assets.loadGroup('groupName')
20
+ */
21
+ this.loadingGroups = {
22
+ initial: 0 //will load on the preload
23
+ /*lazyPart1: 'lazyPart1',
24
+ lazyPart2: 'lazyPart2'*/
25
+ };
26
+
27
+ /**
28
+ * you can make lazy load groups priority here
29
+ */
30
+ this.lazyLoadGroups = [
31
+ /*this.loadingGroups.lazyPart1,
32
+ this.loadingGroups.lazyPart2*/
33
+ ];
34
+ }
35
+ }
36
+
37
+ module.exports = ModulesAssetsConfig;
@@ -1,46 +1,46 @@
1
- class ModulesAssetsController {
2
- constructor() {
3
- this.singleton = true;
4
- };
5
-
6
- /**
7
- * Update quality
8
- */
9
- updateQuality() {
10
- if (Urso.config.useBinPath) {
11
- this.getInstance('Service').updateQuality();
12
- }
13
-
14
- console.log('[ASSETS] Quality set to', this.getInstance('Service').getQuality());
15
- }
16
-
17
- /**
18
- * Current quality getter
19
- */
20
- getQuality() {
21
- return this.getInstance('Service').getQuality();
22
- }
23
-
24
- /**
25
- * Current asset resolution
26
- */
27
- getCurrentResolution() {
28
- return this.getInstance('Service').getCurrentResolution();
29
- }
30
-
31
- /**
32
- * instantly load initial assets and start lazy loading process, if needed
33
- * @param {Mixed} assets - asset or array of assets
34
- * @param {Function} callback
35
- */
36
- preload(assets, callback) {
37
- this.getInstance('Service').sortAssets(assets);
38
- this.getInstance('Service').startLoad(callback);
39
- }
40
-
41
- loadGroup(name, callback) {
42
- this.getInstance('Service').loadGroup(name, callback);
43
- }
44
- }
45
-
46
- module.exports = ModulesAssetsController;
1
+ class ModulesAssetsController {
2
+ constructor() {
3
+ this.singleton = true;
4
+ };
5
+
6
+ /**
7
+ * Update quality
8
+ */
9
+ updateQuality() {
10
+ if (Urso.config.useBinPath) {
11
+ this.getInstance('Service').updateQuality();
12
+ }
13
+
14
+ console.log('[ASSETS] Quality set to', this.getInstance('Service').getQuality());
15
+ }
16
+
17
+ /**
18
+ * Current quality getter
19
+ */
20
+ getQuality() {
21
+ return this.getInstance('Service').getQuality();
22
+ }
23
+
24
+ /**
25
+ * Current asset resolution
26
+ */
27
+ getCurrentResolution() {
28
+ return this.getInstance('Service').getCurrentResolution();
29
+ }
30
+
31
+ /**
32
+ * instantly load initial assets and start lazy loading process, if needed
33
+ * @param {Mixed} assets - asset or array of assets
34
+ * @param {Function} callback
35
+ */
36
+ preload(assets, callback) {
37
+ this.getInstance('Service').sortAssets(assets);
38
+ this.getInstance('Service').startLoad(callback);
39
+ }
40
+
41
+ loadGroup(name, callback) {
42
+ this.getInstance('Service').loadGroup(name, callback);
43
+ }
44
+ }
45
+
46
+ module.exports = ModulesAssetsController;
@@ -1,11 +1,11 @@
1
- Urso.Core.Modules.Assets.Models = {
2
- Audiosprite: require('./audiosprite.js'),
3
- Atlas: require('./atlas.js'),
4
- BitmapFont: require('./bitmapFont.js'),
5
- Container: require('./container.js'),
6
- Image: require('./image.js'),
7
- Json: require('./json.js'),
8
- Sound: require('./sound.js'),
9
- Font: require('./font.js'),
10
- Spine: require('./spine.js')
11
- };
1
+ Urso.Core.Modules.Assets.Models = {
2
+ Audiosprite: require('./audiosprite.js'),
3
+ Atlas: require('./atlas.js'),
4
+ BitmapFont: require('./bitmapFont.js'),
5
+ Container: require('./container.js'),
6
+ Image: require('./image.js'),
7
+ Json: require('./json.js'),
8
+ Sound: require('./sound.js'),
9
+ Font: require('./font.js'),
10
+ Spine: require('./spine.js')
11
+ };
@@ -1,9 +1,9 @@
1
- class ModulesAssetsModelsAtlas extends Urso.Core.Modules.Assets.BaseModel {
2
- constructor(params) {
3
- super(params);
4
-
5
- this.type = Urso.types.assets.ATLAS;
6
- }
7
- }
8
-
1
+ class ModulesAssetsModelsAtlas extends Urso.Core.Modules.Assets.BaseModel {
2
+ constructor(params) {
3
+ super(params);
4
+
5
+ this.type = Urso.types.assets.ATLAS;
6
+ }
7
+ }
8
+
9
9
  module.exports = ModulesAssetsModelsAtlas;
@@ -1,28 +1,28 @@
1
- const { Howler } = require("howler");
2
-
3
- class ModulesAssetsModelsAudiosprite extends Urso.Core.Modules.Assets.BaseModel {
4
- constructor(params) {
5
- super(params);
6
-
7
- this.type = Urso.types.assets.AUDIOSPRITE;
8
- this.codecs = ['ogg', 'm4a', 'mp3', 'wav'];
9
-
10
- const codec = this.codecs.filter(codec => Howler.codecs(codec))[0];
11
-
12
- this.contents = Urso.helper.recursiveGet('contents', params, [
13
- { type: Urso.types.assets.JSON, key: `${this.key}_audiospriteJson`, path: `${this.path}.json` },
14
- { type: Urso.types.assets.SOUND, key: `${this.key}_audiospriteSound`, path: `${this.path}.${codec}` }
15
- ]);
16
-
17
- this.path = false;
18
- this.key = false;
19
- }
20
-
21
- setupParams(params) {
22
- super.setupParams(params);
23
-
24
- this.path = Urso.helper.recursiveGet('path', params, false);
25
- }
26
- }
27
-
1
+ const { Howler } = require("howler");
2
+
3
+ class ModulesAssetsModelsAudiosprite extends Urso.Core.Modules.Assets.BaseModel {
4
+ constructor(params) {
5
+ super(params);
6
+
7
+ this.type = Urso.types.assets.AUDIOSPRITE;
8
+ this.codecs = ['ogg', 'm4a', 'mp3', 'wav'];
9
+
10
+ const codec = this.codecs.filter(codec => Howler.codecs(codec))[0];
11
+
12
+ this.contents = Urso.helper.recursiveGet('contents', params, [
13
+ { type: Urso.types.assets.JSON, key: `${this.key}_audiospriteJson`, path: `${this.path}.json` },
14
+ { type: Urso.types.assets.SOUND, key: `${this.key}_audiospriteSound`, path: `${this.path}.${codec}` }
15
+ ]);
16
+
17
+ this.path = false;
18
+ this.key = false;
19
+ }
20
+
21
+ setupParams(params) {
22
+ super.setupParams(params);
23
+
24
+ this.path = Urso.helper.recursiveGet('path', params, false);
25
+ }
26
+ }
27
+
28
28
  module.exports = ModulesAssetsModelsAudiosprite;
@@ -1,9 +1,9 @@
1
- class ModulesAssetsModelsBitmapFont extends Urso.Core.Modules.Assets.BaseModel {
2
- constructor(params) {
3
- super(params);
4
-
5
- this.type = Urso.types.assets.BITMAPFONT;
6
- }
7
- }
8
-
1
+ class ModulesAssetsModelsBitmapFont extends Urso.Core.Modules.Assets.BaseModel {
2
+ constructor(params) {
3
+ super(params);
4
+
5
+ this.type = Urso.types.assets.BITMAPFONT;
6
+ }
7
+ }
8
+
9
9
  module.exports = ModulesAssetsModelsBitmapFont;