@urso/core 0.2.3-dev → 0.2.7

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 +41 -39
  5. package/package.json +52 -49
  6. package/src/js/app.js +76 -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 +9 -9
  32. package/src/js/extra/_info.js +23 -22
  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 +524 -513
  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 +37 -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 +218 -218
  66. package/src/js/modules/logic/_info.js +5 -5
  67. package/src/js/modules/logic/buttons.js +120 -120
  68. package/src/js/modules/logic/config/_info.js +3 -3
  69. package/src/js/modules/logic/config/buttons.js +63 -63
  70. package/src/js/modules/logic/config/sounds.js +23 -23
  71. package/src/js/modules/logic/controller.js +48 -48
  72. package/src/js/modules/logic/sounds.js +96 -96
  73. package/src/js/modules/objects/_info.js +11 -11
  74. package/src/js/modules/objects/baseModel.js +161 -161
  75. package/src/js/modules/objects/cache.js +99 -99
  76. package/src/js/modules/objects/controller.js +115 -115
  77. package/src/js/modules/objects/create.js +246 -231
  78. package/src/js/modules/objects/find.js +140 -140
  79. package/src/js/modules/objects/models/_info.js +25 -20
  80. package/src/js/modules/objects/models/atlasImage.js +50 -50
  81. package/src/js/modules/objects/models/bitmapText.js +23 -23
  82. package/src/js/modules/objects/models/button.js +184 -184
  83. package/src/js/modules/objects/models/buttonComposite.js +35 -35
  84. package/src/js/modules/objects/models/checkbox.js +95 -0
  85. package/src/js/modules/objects/models/collection.js +54 -54
  86. package/src/js/modules/objects/models/component.js +44 -44
  87. package/src/js/modules/objects/models/container.js +19 -19
  88. package/src/js/modules/objects/models/dragonBones.js +250 -250
  89. package/src/js/modules/objects/models/emitter.js +54 -54
  90. package/src/js/modules/objects/models/graphics.js +38 -38
  91. package/src/js/modules/objects/models/group.js +19 -19
  92. package/src/js/modules/objects/models/hitArea.js +104 -104
  93. package/src/js/modules/objects/models/image.js +34 -34
  94. package/src/js/modules/objects/models/imagesAnimation.js +113 -113
  95. package/src/js/modules/objects/models/mask.js +38 -38
  96. package/src/js/modules/objects/models/scrollbox.js +62 -0
  97. package/src/js/modules/objects/models/slider.js +199 -0
  98. package/src/js/modules/objects/models/spine.js +83 -83
  99. package/src/js/modules/objects/models/text.js +38 -38
  100. package/src/js/modules/objects/models/textInput.js +55 -0
  101. package/src/js/modules/objects/models/toggle.js +169 -0
  102. package/src/js/modules/objects/models/world.js +19 -19
  103. package/src/js/modules/objects/propertyAdapter.js +421 -416
  104. package/src/js/modules/objects/proxy.js +179 -179
  105. package/src/js/modules/objects/styles.js +116 -116
  106. package/src/js/modules/observer/_info.js +4 -4
  107. package/src/js/modules/observer/controller.js +99 -99
  108. package/src/js/modules/observer/events.js +32 -28
  109. package/src/js/modules/scenes/_info.js +8 -8
  110. package/src/js/modules/scenes/controller.js +34 -34
  111. package/src/js/modules/scenes/model.js +35 -35
  112. package/src/js/modules/scenes/pixiWrapper.js +194 -194
  113. package/src/js/modules/scenes/resolutions.js +161 -161
  114. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  115. package/src/js/modules/scenes/service.js +84 -84
  116. package/src/js/modules/soundManager/_info.js +3 -3
  117. package/src/js/modules/soundManager/controller.js +99 -99
  118. package/src/js/modules/soundManager/soundSprite.js +202 -202
  119. package/src/js/modules/statesManager/_info.js +12 -12
  120. package/src/js/modules/statesManager/action.js +55 -55
  121. package/src/js/modules/statesManager/actions/_info.js +3 -3
  122. package/src/js/modules/statesManager/all.js +23 -23
  123. package/src/js/modules/statesManager/configStates.js +71 -71
  124. package/src/js/modules/statesManager/controller.js +132 -132
  125. package/src/js/modules/statesManager/functionsStorage.js +82 -82
  126. package/src/js/modules/statesManager/helper.js +27 -27
  127. package/src/js/modules/statesManager/race.js +75 -75
  128. package/src/js/modules/statesManager/sequence.js +47 -47
  129. package/src/js/modules/template/_info.js +6 -6
  130. package/src/js/modules/template/controller.js +28 -28
  131. package/src/js/modules/template/model.js +11 -11
  132. package/src/js/modules/template/service.js +125 -125
  133. package/src/js/modules/template/types.js +46 -41
  134. package/src/js/modules/transport/_info.js +8 -8
  135. package/src/js/modules/transport/baseConnectionType.js +24 -24
  136. package/src/js/modules/transport/config.js +22 -22
  137. package/src/js/modules/transport/connectionTypes/_info.js +3 -3
  138. package/src/js/modules/transport/connectionTypes/websocket.js +74 -74
  139. package/src/js/modules/transport/connectionTypes/xhr.js +41 -41
  140. package/src/js/modules/transport/controller.js +48 -48
  141. package/src/js/modules/transport/decorator.js +16 -16
  142. package/src/js/modules/transport/service.js +138 -138
  143. package/src/js/templates/_info.js +4 -4
  144. package/src/js/templates/groups/_info.js +1 -1
  145. package/src/js/templates/scenes/_info.js +1 -1
  146. package/webpack.config.js +47 -47
  147. package/src/js/components/stateDriven/actionConfig.js +0 -7
@@ -27,135 +27,127 @@ object-assign
27
27
  */
28
28
 
29
29
  /*!
30
- * @pixi/accessibility - v5.3.10
31
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
32
- *
33
- * @pixi/accessibility is licensed under the MIT License.
34
- * http://www.opensource.org/licenses/mit-license
35
- */
36
-
37
- /*!
38
- * @pixi/constants - v5.3.10
39
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
30
+ * @pixi/constants - v5.3.11
31
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
40
32
  *
41
33
  * @pixi/constants is licensed under the MIT License.
42
34
  * http://www.opensource.org/licenses/mit-license
43
35
  */
44
36
 
45
37
  /*!
46
- * @pixi/core - v5.3.10
47
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
38
+ * @pixi/core - v5.3.11
39
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
48
40
  *
49
41
  * @pixi/core is licensed under the MIT License.
50
42
  * http://www.opensource.org/licenses/mit-license
51
43
  */
52
44
 
53
45
  /*!
54
- * @pixi/display - v5.3.10
55
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
46
+ * @pixi/display - v5.3.11
47
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
56
48
  *
57
49
  * @pixi/display is licensed under the MIT License.
58
50
  * http://www.opensource.org/licenses/mit-license
59
51
  */
60
52
 
61
53
  /*!
62
- * @pixi/extract - v5.3.10
63
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
54
+ * @pixi/extract - v5.3.11
55
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
64
56
  *
65
57
  * @pixi/extract is licensed under the MIT License.
66
58
  * http://www.opensource.org/licenses/mit-license
67
59
  */
68
60
 
69
61
  /*!
70
- * @pixi/filter-displacement - v5.3.10
71
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
62
+ * @pixi/filter-displacement - v5.3.11
63
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
72
64
  *
73
65
  * @pixi/filter-displacement is licensed under the MIT License.
74
66
  * http://www.opensource.org/licenses/mit-license
75
67
  */
76
68
 
77
69
  /*!
78
- * @pixi/loaders - v5.3.10
79
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
70
+ * @pixi/loaders - v5.3.11
71
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
80
72
  *
81
73
  * @pixi/loaders is licensed under the MIT License.
82
74
  * http://www.opensource.org/licenses/mit-license
83
75
  */
84
76
 
85
77
  /*!
86
- * @pixi/math - v5.3.10
87
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
78
+ * @pixi/math - v5.3.11
79
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
88
80
  *
89
81
  * @pixi/math is licensed under the MIT License.
90
82
  * http://www.opensource.org/licenses/mit-license
91
83
  */
92
84
 
93
85
  /*!
94
- * @pixi/mesh-extras - v5.3.10
95
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
86
+ * @pixi/mesh-extras - v5.3.11
87
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
96
88
  *
97
89
  * @pixi/mesh-extras is licensed under the MIT License.
98
90
  * http://www.opensource.org/licenses/mit-license
99
91
  */
100
92
 
101
93
  /*!
102
- * @pixi/mixin-get-child-by-name - v5.3.10
103
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
94
+ * @pixi/mixin-get-child-by-name - v5.3.11
95
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
104
96
  *
105
97
  * @pixi/mixin-get-child-by-name is licensed under the MIT License.
106
98
  * http://www.opensource.org/licenses/mit-license
107
99
  */
108
100
 
109
101
  /*!
110
- * @pixi/mixin-get-global-position - v5.3.10
111
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
102
+ * @pixi/mixin-get-global-position - v5.3.11
103
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
112
104
  *
113
105
  * @pixi/mixin-get-global-position is licensed under the MIT License.
114
106
  * http://www.opensource.org/licenses/mit-license
115
107
  */
116
108
 
117
109
  /*!
118
- * @pixi/polyfill - v5.3.10
119
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
110
+ * @pixi/polyfill - v5.3.11
111
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
120
112
  *
121
113
  * @pixi/polyfill is licensed under the MIT License.
122
114
  * http://www.opensource.org/licenses/mit-license
123
115
  */
124
116
 
125
117
  /*!
126
- * @pixi/prepare - v5.3.10
127
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
118
+ * @pixi/prepare - v5.3.11
119
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
128
120
  *
129
121
  * @pixi/prepare is licensed under the MIT License.
130
122
  * http://www.opensource.org/licenses/mit-license
131
123
  */
132
124
 
133
125
  /*!
134
- * @pixi/runner - v5.3.10
135
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
126
+ * @pixi/runner - v5.3.11
127
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
136
128
  *
137
129
  * @pixi/runner is licensed under the MIT License.
138
130
  * http://www.opensource.org/licenses/mit-license
139
131
  */
140
132
 
141
133
  /*!
142
- * @pixi/ticker - v5.3.10
143
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
134
+ * @pixi/ticker - v5.3.11
135
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
144
136
  *
145
137
  * @pixi/ticker is licensed under the MIT License.
146
138
  * http://www.opensource.org/licenses/mit-license
147
139
  */
148
140
 
149
141
  /*!
150
- * @pixi/utils - v5.3.10
151
- * Compiled Mon, 07 Jun 2021 22:37:25 UTC
142
+ * @pixi/utils - v5.3.11
143
+ * Compiled Mon, 01 Nov 2021 16:10:12 UTC
152
144
  *
153
145
  * @pixi/utils is licensed under the MIT License.
154
146
  * http://www.opensource.org/licenses/mit-license
155
147
  */
156
148
 
157
149
  /*!
158
- * GSAP 3.7.1
150
+ * GSAP 3.8.0
159
151
  * https://greensock.com
160
152
  *
161
153
  * @license Copyright 2008-2021, GreenSock. All rights reserved.
@@ -172,6 +164,16 @@ object-assign
172
164
  * http://www.opensource.org/licenses/mit-license
173
165
  */
174
166
 
167
+ /*!
168
+ * pixi-viewport - v4.34.3
169
+ * Compiled Wed, 01 Dec 2021 19:28:04 UTC
170
+ *
171
+ * pixi-viewport is licensed under the MIT License.
172
+ * http://www.opensource.org/licenses/mit-license
173
+ *
174
+ * Copyright 2019-2020, David Figatner, All Rights Reserved
175
+ */
176
+
175
177
  /*!
176
178
  * resource-loader - v3.0.1
177
179
  * https://github.com/pixijs/pixi-sound
package/package.json CHANGED
@@ -1,49 +1,52 @@
1
- {
2
- "name": "@urso/core",
3
- "version": "0.2.03-dev",
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-spine": "^2.1.11",
31
- "pixi.js": "^5.1.3",
32
- "pixi5-dragonbones": "5.7.0-2"
33
- },
34
- "devDependencies": {
35
- "@babel/core": "^7.12.10",
36
- "@babel/preset-env": "^7.12.11",
37
- "babel-loader": "^8.2.2",
38
- "copy-webpack-plugin": "^5.0.3",
39
- "exports-loader": "^0.7.0",
40
- "html-webpack-plugin": "^5.1.0",
41
- "script-loader": "^0.7.2",
42
- "source-map-loader": "^1.0.0",
43
- "string-replace-loader": "^3.0.3",
44
- "style-loader": "^0.23.1",
45
- "webpack": "^5.11.0",
46
- "webpack-cli": "^4.2.0",
47
- "webpack-dev-server": "^3.11.0"
48
- }
49
- }
1
+ {
2
+ "name": "@urso/core",
3
+ "version": "0.2.7",
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-spine": "^2.1.11",
31
+ "pixi.js": "^5.1.3",
32
+ "pixi5-dragonbones": "5.7.0-2",
33
+ "pixi-scrollbox": "^2.3.1",
34
+ "pixi-viewport": "^4.34.0",
35
+ "pixi-text-input": "^1.0.6"
36
+ },
37
+ "devDependencies": {
38
+ "@babel/core": "^7.12.10",
39
+ "@babel/preset-env": "^7.12.11",
40
+ "babel-loader": "^8.2.2",
41
+ "copy-webpack-plugin": "^5.0.3",
42
+ "exports-loader": "^0.7.0",
43
+ "html-webpack-plugin": "^5.1.0",
44
+ "script-loader": "^0.7.2",
45
+ "source-map-loader": "^1.0.0",
46
+ "string-replace-loader": "^3.0.3",
47
+ "style-loader": "^0.23.1",
48
+ "webpack": "^5.11.0",
49
+ "webpack-cli": "^4.2.0",
50
+ "webpack-dev-server": "^3.11.0"
51
+ }
52
+ }
package/src/js/app.js CHANGED
@@ -1,76 +1,76 @@
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.buttons = Urso.getInstance('Modules.Buttons.Controller');
48
- // TODO: CHECK FOR EVENT TO START COMMUNICATION WITH SERVER
49
- Urso.transport = Urso.getInstance('Modules.Transport.Controller');
50
- Urso.logic = Urso.getInstance('Modules.Logic.Controller');
51
- Urso.objects = Urso.getInstance('Modules.Objects.Controller');
52
- Urso.scenes = Urso.getInstance('Modules.Scenes.Controller');
53
- Urso.soundManager = Urso.getInstance('Modules.SoundManager.Controller');
54
- Urso.statesManager = Urso.getInstance('Modules.StatesManager.Controller');
55
- Urso.template = Urso.getInstance('Modules.Template.Controller');
56
-
57
- //set title
58
- document.title = Urso.config.title;
59
-
60
- //App.run
61
- Urso.device.whenReady(() => {
62
- Urso.assets.updateQuality();
63
- Urso.getInstance('App').run();
64
- });
65
- }
66
-
67
- sayHello() {
68
- console.log(`%c ${String.fromCodePoint(0x1F43B)} Urso ${this.version} `, 'background: #222; color: #bada55');
69
- }
70
-
71
- run() {
72
- Urso.scenes.display(Urso.config.defaultScene);
73
- }
74
- }
75
-
76
- 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.buttons = Urso.getInstance('Modules.Buttons.Controller');
48
+ // TODO: CHECK FOR EVENT TO START COMMUNICATION WITH SERVER
49
+ Urso.transport = Urso.getInstance('Modules.Transport.Controller');
50
+ Urso.logic = Urso.getInstance('Modules.Logic.Controller');
51
+ Urso.objects = Urso.getInstance('Modules.Objects.Controller');
52
+ Urso.scenes = Urso.getInstance('Modules.Scenes.Controller');
53
+ Urso.soundManager = Urso.getInstance('Modules.SoundManager.Controller');
54
+ Urso.statesManager = Urso.getInstance('Modules.StatesManager.Controller');
55
+ Urso.template = Urso.getInstance('Modules.Template.Controller');
56
+
57
+ //set title
58
+ document.title = Urso.config.title;
59
+
60
+ //App.run
61
+ Urso.device.whenReady(() => {
62
+ Urso.assets.updateQuality();
63
+ Urso.getInstance('App').run();
64
+ });
65
+ }
66
+
67
+ sayHello() {
68
+ console.log(`%c ${String.fromCodePoint(0x1F43B)} Urso ${this.version} `, 'background: #222; color: #bada55');
69
+ }
70
+
71
+ run() {
72
+ Urso.scenes.display(Urso.config.defaultScene);
73
+ }
74
+ }
75
+
76
+ 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,6 +1,6 @@
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
- };
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
+ };