@urso/core 0.3.9 → 0.4.0

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 -7
  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 -55
  15. package/src/js/components/debug/timescale.js +60 -60
  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 -118
  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 -22
  34. package/src/js/extra/browserEvents.js +38 -38
  35. package/src/js/extra/setTimeout.js +7 -7
  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 -105
  39. package/src/js/lib/composition.js +85 -89
  40. package/src/js/lib/device.js +1286 -1276
  41. package/src/js/lib/helper.js +539 -539
  42. package/src/js/lib/loader.js +127 -127
  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 -35
  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 +37 -35
  53. package/src/js/modules/assets/controller.js +46 -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 -13
  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 -14
  64. package/src/js/modules/assets/service.js +356 -353
  65. package/src/js/modules/instances/_info.js +3 -3
  66. package/src/js/modules/instances/controller.js +251 -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 +171 -161
  74. package/src/js/modules/objects/cache.js +99 -99
  75. package/src/js/modules/objects/controller.js +131 -121
  76. package/src/js/modules/objects/create.js +234 -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 +223 -223
  96. package/src/js/modules/objects/models/spine.js +89 -89
  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 -182
  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 +38 -38
  107. package/src/js/modules/scenes/_info.js +8 -8
  108. package/src/js/modules/scenes/controller.js +46 -42
  109. package/src/js/modules/scenes/model.js +35 -35
  110. package/src/js/modules/scenes/pixiWrapper.js +202 -202
  111. package/src/js/modules/scenes/resolutions.js +172 -176
  112. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  113. package/src/js/modules/scenes/service.js +105 -92
  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 -170
  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 +137 -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
@@ -47,111 +47,111 @@ object-assign
47
47
  */
48
48
 
49
49
  /*!
50
- * @pixi/constants - v6.2.0
51
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
50
+ * @pixi/constants - v6.2.1
51
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
52
52
  *
53
53
  * @pixi/constants is licensed under the MIT License.
54
54
  * http://www.opensource.org/licenses/mit-license
55
55
  */
56
56
 
57
57
  /*!
58
- * @pixi/core - v6.2.0
59
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
58
+ * @pixi/core - v6.2.1
59
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
60
60
  *
61
61
  * @pixi/core is licensed under the MIT License.
62
62
  * http://www.opensource.org/licenses/mit-license
63
63
  */
64
64
 
65
65
  /*!
66
- * @pixi/display - v6.2.0
67
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
66
+ * @pixi/display - v6.2.1
67
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
68
68
  *
69
69
  * @pixi/display is licensed under the MIT License.
70
70
  * http://www.opensource.org/licenses/mit-license
71
71
  */
72
72
 
73
73
  /*!
74
- * @pixi/extract - v6.2.0
75
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
74
+ * @pixi/extract - v6.2.1
75
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
76
76
  *
77
77
  * @pixi/extract is licensed under the MIT License.
78
78
  * http://www.opensource.org/licenses/mit-license
79
79
  */
80
80
 
81
81
  /*!
82
- * @pixi/filter-displacement - v6.2.0
83
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
82
+ * @pixi/filter-displacement - v6.2.1
83
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
84
84
  *
85
85
  * @pixi/filter-displacement is licensed under the MIT License.
86
86
  * http://www.opensource.org/licenses/mit-license
87
87
  */
88
88
 
89
89
  /*!
90
- * @pixi/loaders - v6.2.0
91
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
90
+ * @pixi/loaders - v6.2.1
91
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
92
92
  *
93
93
  * @pixi/loaders is licensed under the MIT License.
94
94
  * http://www.opensource.org/licenses/mit-license
95
95
  */
96
96
 
97
97
  /*!
98
- * @pixi/math - v6.2.0
99
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
98
+ * @pixi/math - v6.2.1
99
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
100
100
  *
101
101
  * @pixi/math is licensed under the MIT License.
102
102
  * http://www.opensource.org/licenses/mit-license
103
103
  */
104
104
 
105
105
  /*!
106
- * @pixi/mixin-get-child-by-name - v6.2.0
107
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
106
+ * @pixi/mixin-get-child-by-name - v6.2.1
107
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
108
108
  *
109
109
  * @pixi/mixin-get-child-by-name is licensed under the MIT License.
110
110
  * http://www.opensource.org/licenses/mit-license
111
111
  */
112
112
 
113
113
  /*!
114
- * @pixi/mixin-get-global-position - v6.2.0
115
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
114
+ * @pixi/mixin-get-global-position - v6.2.1
115
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
116
116
  *
117
117
  * @pixi/mixin-get-global-position is licensed under the MIT License.
118
118
  * http://www.opensource.org/licenses/mit-license
119
119
  */
120
120
 
121
121
  /*!
122
- * @pixi/polyfill - v6.2.0
123
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
122
+ * @pixi/polyfill - v6.2.1
123
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
124
124
  *
125
125
  * @pixi/polyfill is licensed under the MIT License.
126
126
  * http://www.opensource.org/licenses/mit-license
127
127
  */
128
128
 
129
129
  /*!
130
- * @pixi/prepare - v6.2.0
131
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
130
+ * @pixi/prepare - v6.2.1
131
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
132
132
  *
133
133
  * @pixi/prepare is licensed under the MIT License.
134
134
  * http://www.opensource.org/licenses/mit-license
135
135
  */
136
136
 
137
137
  /*!
138
- * @pixi/runner - v6.2.0
139
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
138
+ * @pixi/runner - v6.2.1
139
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
140
140
  *
141
141
  * @pixi/runner is licensed under the MIT License.
142
142
  * http://www.opensource.org/licenses/mit-license
143
143
  */
144
144
 
145
145
  /*!
146
- * @pixi/ticker - v6.2.0
147
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
146
+ * @pixi/ticker - v6.2.1
147
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
148
148
  *
149
149
  * @pixi/ticker is licensed under the MIT License.
150
150
  * http://www.opensource.org/licenses/mit-license
151
151
  */
152
152
 
153
153
  /*!
154
- * GSAP 3.8.0
154
+ * GSAP 3.7.1
155
155
  * https://greensock.com
156
156
  *
157
157
  * @license Copyright 2008-2021, GreenSock. All rights reserved.
@@ -189,8 +189,8 @@ object-assign
189
189
  */
190
190
 
191
191
  /*!
192
- * pixi.js - v6.2.0
193
- * Compiled Mon, 01 Nov 2021 16:52:10 UTC
192
+ * pixi.js - v6.2.1
193
+ * Compiled Tue, 21 Dec 2021 19:56:15 UTC
194
194
  *
195
195
  * pixi.js is licensed under the MIT License.
196
196
  * http://www.opensource.org/licenses/mit-license
package/package.json CHANGED
@@ -1,51 +1,51 @@
1
- {
2
- "name": "@urso/core",
3
- "version": "0.3.9",
4
- "description": "HTML5 game engine",
5
- "main": "build/js/index.js",
6
- "author": "Megbrimef",
7
- "license": "MIT",
8
- "scripts": {
9
- "build:prod": "webpack --config webpack.config.js --mode=production",
10
- "build:dev": "webpack --config webpack.config.js --mode=development"
11
- },
12
- "repository": {
13
- "type": "git",
14
- "url": "git+https://github.com/megbrimef/urso.git"
15
- },
16
- "keywords": [
17
- "game",
18
- "engine"
19
- ],
20
- "bugs": {
21
- "url": "https://github.com/megbrimef/urso/issues"
22
- },
23
- "homepage": "https://github.com/megbrimef/urso#readme",
24
- "dependencies": {
25
- "@pixi/filter-drop-shadow": "^3.2.0",
26
- "gsap": "^3.1.1",
27
- "howler": "^2.2.1",
28
- "pixi-particles": "^4.3.0",
29
- "pixi-projection": "0.3.15",
30
- "pixi-scrollbox": "^2.3.1",
31
- "pixi-spine": "^3.0.13",
32
- "pixi-text-input": "^1.0.6",
33
- "pixi-viewport": "^4.34.0",
34
- "pixi.js": "^6.2.0"
35
- },
36
- "devDependencies": {
37
- "@babel/core": "^7.12.10",
38
- "@babel/preset-env": "^7.12.11",
39
- "babel-loader": "^8.2.2",
40
- "copy-webpack-plugin": "^5.0.3",
41
- "exports-loader": "^0.7.0",
42
- "html-webpack-plugin": "^5.1.0",
43
- "script-loader": "^0.7.2",
44
- "source-map-loader": "^1.0.0",
45
- "string-replace-loader": "^3.0.3",
46
- "style-loader": "^0.23.1",
47
- "webpack": "^5.11.0",
48
- "webpack-cli": "^4.2.0",
49
- "webpack-dev-server": "^3.11.0"
50
- }
51
- }
1
+ {
2
+ "name": "@urso/core",
3
+ "version": "0.4.0",
4
+ "description": "HTML5 game engine",
5
+ "main": "build/js/index.js",
6
+ "author": "Megbrimef",
7
+ "license": "MIT",
8
+ "scripts": {
9
+ "build:prod": "webpack --config webpack.config.js --mode=production",
10
+ "build:dev": "webpack --config webpack.config.js --mode=development"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/megbrimef/urso.git"
15
+ },
16
+ "keywords": [
17
+ "game",
18
+ "engine"
19
+ ],
20
+ "bugs": {
21
+ "url": "https://github.com/megbrimef/urso/issues"
22
+ },
23
+ "homepage": "https://github.com/megbrimef/urso#readme",
24
+ "dependencies": {
25
+ "@pixi/filter-drop-shadow": "^3.2.0",
26
+ "gsap": "^3.1.1",
27
+ "howler": "^2.2.1",
28
+ "pixi-particles": "^4.3.0",
29
+ "pixi-projection": "0.3.15",
30
+ "pixi-scrollbox": "^2.3.1",
31
+ "pixi-spine": "^3.0.13",
32
+ "pixi-text-input": "^1.0.6",
33
+ "pixi-viewport": "^4.34.0",
34
+ "pixi.js": "^6.2.0"
35
+ },
36
+ "devDependencies": {
37
+ "@babel/core": "^7.12.10",
38
+ "@babel/preset-env": "^7.12.11",
39
+ "babel-loader": "^8.2.2",
40
+ "copy-webpack-plugin": "^5.0.3",
41
+ "exports-loader": "^0.7.0",
42
+ "html-webpack-plugin": "^5.1.0",
43
+ "script-loader": "^0.7.2",
44
+ "source-map-loader": "^1.0.0",
45
+ "string-replace-loader": "^3.0.3",
46
+ "style-loader": "^0.23.1",
47
+ "webpack": "^5.11.0",
48
+ "webpack-cli": "^4.2.0",
49
+ "webpack-dev-server": "^3.11.0"
50
+ }
51
+ }
package/src/js/app.js CHANGED
@@ -1,77 +1,77 @@
1
- class App {
2
- constructor() {
3
- this.version = 'APP_VERSION';
4
-
5
- this.setup = this.setup.bind(this);
6
- }
7
-
8
- setup() {
9
- this.sayHello();
10
-
11
- //helper must be first
12
- Urso.helper = new Urso.Core.Lib.Helper(); //helper functions
13
-
14
- //setup Instances
15
- let instances = new Urso.Core.Modules.Instances.Controller();
16
- Urso.getInstance = instances.getInstance;
17
- Urso.getByPath = instances.getByPath;
18
- Urso.getInstancesModes = instances.getModes;
19
- Urso.addInstancesMode = instances.addMode;
20
- Urso.removeInstancesMode = instances.removeMode;
21
-
22
- //build from extendingChain and merge all into Urso.Game
23
- Urso.Game = {};
24
- for (let extention of Urso.config.extendingChain)
25
- Urso.helper.mergeObjectsRecursive(Urso.Game, Urso.helper.recursiveGet(extention, window, {}), true);
26
-
27
- //(!)important we must use only Urso.Game from our code
28
-
29
- //observer pattern
30
- Urso.observer = Urso.getInstance('Modules.Observer.Controller');
31
-
32
- //Extra
33
- Urso.browserEvents = Urso.getInstance('Extra.BrowserEvents');
34
-
35
- //libs
36
- Urso.cache = Urso.getInstance('Lib.Cache'); //all assets cache
37
- Urso.device = Urso.getByPath('Lib.Device'); //all device info
38
- Urso.loader = Urso.getInstance('Lib.Loader'); //assets loader class
39
- Urso.localData = Urso.getInstance('Lib.LocalData'); //local data storage
40
- Urso.logger = Urso.getInstance('Lib.Logger'); //logger
41
- Urso.math = Urso.getInstance('Lib.Math'); //math functions
42
- Urso.time = Urso.getInstance('Lib.Time'); //time functions
43
- Urso.tween = Urso.getInstance('Lib.Tween'); //tween lib
44
-
45
- //Modules
46
- Urso.assets = Urso.getInstance('Modules.Assets.Controller');
47
- Urso.transport = Urso.getInstance('Modules.Transport.Controller');
48
- Urso.logic = Urso.getInstance('Modules.Logic.Controller');
49
- Urso.objects = Urso.getInstance('Modules.Objects.Controller');
50
- Urso.scenes = Urso.getInstance('Modules.Scenes.Controller');
51
- Urso.soundManager = Urso.getInstance('Modules.SoundManager.Controller');
52
- Urso.statesManager = Urso.getInstance('Modules.StatesManager.Controller');
53
- Urso.template = Urso.getInstance('Modules.Template.Controller');
54
-
55
- //set title
56
- document.title = Urso.config.title;
57
-
58
- //device type mode
59
- Urso.addInstancesMode(!Urso.helper.mobileAndTabletCheck() ? 'desktop' : 'mobile');
60
-
61
- //App.run
62
- Urso.device.whenReady(() => {
63
- Urso.assets.updateQuality();
64
- Urso.getInstance('App').run();
65
- });
66
- }
67
-
68
- sayHello() {
69
- console.log(`%c ${String.fromCodePoint(0x1F43B)} Urso ${this.version} `, 'background: #222; color: #bada55');
70
- }
71
-
72
- run() {
73
- Urso.scenes.display(Urso.config.defaultScene);
74
- }
75
- }
76
-
77
- module.exports = App;
1
+ class App {
2
+ constructor() {
3
+ this.version = 'APP_VERSION';
4
+
5
+ this.setup = this.setup.bind(this);
6
+ }
7
+
8
+ setup() {
9
+ this.sayHello();
10
+
11
+ //helper must be first
12
+ Urso.helper = new Urso.Core.Lib.Helper(); //helper functions
13
+
14
+ //setup Instances
15
+ let instances = new Urso.Core.Modules.Instances.Controller();
16
+ Urso.getInstance = instances.getInstance;
17
+ Urso.getByPath = instances.getByPath;
18
+ Urso.getInstancesModes = instances.getModes;
19
+ Urso.addInstancesMode = instances.addMode;
20
+ Urso.removeInstancesMode = instances.removeMode;
21
+
22
+ //build from extendingChain and merge all into Urso.Game
23
+ Urso.Game = {};
24
+ for (let extention of Urso.config.extendingChain)
25
+ Urso.helper.mergeObjectsRecursive(Urso.Game, Urso.helper.recursiveGet(extention, window, {}), true);
26
+
27
+ //(!)important we must use only Urso.Game from our code
28
+
29
+ //observer pattern
30
+ Urso.observer = Urso.getInstance('Modules.Observer.Controller');
31
+
32
+ //Extra
33
+ Urso.browserEvents = Urso.getInstance('Extra.BrowserEvents');
34
+
35
+ //libs
36
+ Urso.cache = Urso.getInstance('Lib.Cache'); //all assets cache
37
+ Urso.device = Urso.getByPath('Lib.Device'); //all device info
38
+ Urso.loader = Urso.getInstance('Lib.Loader'); //assets loader class
39
+ Urso.localData = Urso.getInstance('Lib.LocalData'); //local data storage
40
+ Urso.logger = Urso.getInstance('Lib.Logger'); //logger
41
+ Urso.math = Urso.getInstance('Lib.Math'); //math functions
42
+ Urso.time = Urso.getInstance('Lib.Time'); //time functions
43
+ Urso.tween = Urso.getInstance('Lib.Tween'); //tween lib
44
+
45
+ //Modules
46
+ Urso.assets = Urso.getInstance('Modules.Assets.Controller');
47
+ Urso.transport = Urso.getInstance('Modules.Transport.Controller');
48
+ Urso.logic = Urso.getInstance('Modules.Logic.Controller');
49
+ Urso.objects = Urso.getInstance('Modules.Objects.Controller');
50
+ Urso.scenes = Urso.getInstance('Modules.Scenes.Controller');
51
+ Urso.soundManager = Urso.getInstance('Modules.SoundManager.Controller');
52
+ Urso.statesManager = Urso.getInstance('Modules.StatesManager.Controller');
53
+ Urso.template = Urso.getInstance('Modules.Template.Controller');
54
+
55
+ //set title
56
+ document.title = Urso.config.title;
57
+
58
+ //device type mode
59
+ Urso.addInstancesMode(!Urso.helper.mobileAndTabletCheck() ? 'desktop' : 'mobile');
60
+
61
+ //App.run
62
+ Urso.device.whenReady(() => {
63
+ Urso.assets.updateQuality();
64
+ Urso.getInstance('App').run();
65
+ });
66
+ }
67
+
68
+ sayHello() {
69
+ console.log(`%c ${String.fromCodePoint(0x1F43B)} Urso ${this.version} `, 'background: #222; color: #bada55');
70
+ }
71
+
72
+ run() {
73
+ Urso.scenes.display(Urso.config.defaultScene);
74
+ }
75
+ }
76
+
77
+ module.exports = App;
@@ -1,8 +1,8 @@
1
- Urso.Core.Components = {};
2
- require('./base/_info.js');
3
- require('./debug/_info.js');
4
- require('./deviceRotate/_info.js');
5
- require('./fullscreen/_info.js');
6
- require('./loader/_info.js');
7
- require('./soundInitialPopup/_info.js');
8
- require('./stateDriven/_info.js');
1
+ Urso.Core.Components = {};
2
+ require('./base/_info.js');
3
+ require('./debug/_info.js');
4
+ require('./deviceRotate/_info.js');
5
+ require('./fullscreen/_info.js');
6
+ require('./loader/_info.js');
7
+ require('./soundInitialPopup/_info.js');
8
+ require('./stateDriven/_info.js');
@@ -1,3 +1,3 @@
1
- Urso.Core.Components.Base = {
2
- Controller: require('./controller.js')
3
- };
1
+ Urso.Core.Components.Base = {
2
+ Controller: require('./controller.js')
3
+ };
@@ -1,78 +1,78 @@
1
- class ComponentsBaseController {
2
-
3
- constructor(options) {
4
- this._templateName = 'Template';
5
- this._inputValidation(options);
6
-
7
- this.common = {
8
- find: null, //find functions inside component object in scene
9
- findAll: null,
10
- findOne: null,
11
- object: null //link to component object in scene
12
- };
13
-
14
- this.options = options;
15
- }
16
-
17
- /**
18
- * function for the component input params validation
19
- * must return as a result input structure
20
- * @returns {object}
21
- * @example
22
- * return {
23
- * param1Name: 'number',
24
- * param2Name: 'string'
25
- * }
26
- */
27
- _requiredOptionsModel() {
28
- //
29
- }
30
-
31
- _inputValidation(options) {
32
- //input options validation
33
- let optionsModel = this._requiredOptionsModel();
34
-
35
- if (optionsModel)
36
- for (let optionKey in optionsModel) {
37
- if (!options || typeof options[optionKey] !== optionsModel[optionKey])
38
- Urso.logger.error('Component params model error', this);
39
- }
40
- }
41
-
42
- loadUpdate() {
43
- //todo
44
- }
45
-
46
- assetsMount() {
47
- let template = this.getInstance(this._templateName);
48
- return { styles: template.styles, assets: template.assets };
49
- }
50
-
51
- objectsMount() {
52
- let template = this.getInstance(this._templateName);
53
- return template.objects;
54
- }
55
-
56
- create() {
57
- //main template was created, we can start access to our objects
58
- }
59
-
60
- /**
61
- * @param {Number} deltaTime - time from last update call
62
- */
63
- update(deltaTime) {
64
- //TODO
65
- //calls every browser cycle
66
- }
67
-
68
- _subscribeOnce() {
69
- //will contains only this.addListener
70
- }
71
-
72
- destroy() {
73
- //component will destroy after this function call
74
- }
75
-
76
- }
77
-
78
- module.exports = ComponentsBaseController;
1
+ class ComponentsBaseController {
2
+
3
+ constructor(options) {
4
+ this._templateName = 'Template';
5
+ this._inputValidation(options);
6
+
7
+ this.common = {
8
+ find: null, //find functions inside component object in scene
9
+ findAll: null,
10
+ findOne: null,
11
+ object: null //link to component object in scene
12
+ };
13
+
14
+ this.options = options;
15
+ }
16
+
17
+ /**
18
+ * function for the component input params validation
19
+ * must return as a result input structure
20
+ * @returns {object}
21
+ * @example
22
+ * return {
23
+ * param1Name: 'number',
24
+ * param2Name: 'string'
25
+ * }
26
+ */
27
+ _requiredOptionsModel() {
28
+ //
29
+ }
30
+
31
+ _inputValidation(options) {
32
+ //input options validation
33
+ let optionsModel = this._requiredOptionsModel();
34
+
35
+ if (optionsModel)
36
+ for (let optionKey in optionsModel) {
37
+ if (!options || typeof options[optionKey] !== optionsModel[optionKey])
38
+ Urso.logger.error('Component params model error', this);
39
+ }
40
+ }
41
+
42
+ loadUpdate() {
43
+ //todo
44
+ }
45
+
46
+ assetsMount() {
47
+ let template = this.getInstance(this._templateName);
48
+ return { styles: template.styles, assets: template.assets };
49
+ }
50
+
51
+ objectsMount() {
52
+ let template = this.getInstance(this._templateName);
53
+ return template.objects;
54
+ }
55
+
56
+ create() {
57
+ //main template was created, we can start access to our objects
58
+ }
59
+
60
+ /**
61
+ * @param {Number} deltaTime - time from last update call
62
+ */
63
+ update(deltaTime) {
64
+ //TODO
65
+ //calls every browser cycle
66
+ }
67
+
68
+ _subscribeOnce() {
69
+ //will contains only this.addListener
70
+ }
71
+
72
+ destroy() {
73
+ //component will destroy after this function call
74
+ }
75
+
76
+ }
77
+
78
+ module.exports = ComponentsBaseController;
@@ -1,7 +1,7 @@
1
- Urso.Core.Components.Debug = {
2
- Controller: require('./controller.js'),
3
- Coords: require('./coords.js'),
4
- Fps: require('./fps.js'),
5
- Template: require('./template.js'),
6
- Timescale: require('./timescale.js')
7
- };
1
+ Urso.Core.Components.Debug = {
2
+ Controller: require('./controller.js'),
3
+ Coords: require('./coords.js'),
4
+ Fps: require('./fps.js'),
5
+ Template: require('./template.js'),
6
+ Timescale: require('./timescale.js')
7
+ };