@urso/core 0.1.95 → 0.2.0-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 (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 +33 -33
  5. package/package.json +49 -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 +4 -3
  29. package/src/js/components/stateDriven/actionConfig.js +7 -0
  30. package/src/js/components/stateDriven/controller.js +61 -52
  31. package/src/js/config/load.js +5 -5
  32. package/src/js/config/main.js +9 -9
  33. package/src/js/extra/_info.js +22 -22
  34. package/src/js/extra/browserEvents.js +32 -32
  35. package/src/js/index.js +8 -8
  36. package/src/js/lib/_info.js +13 -13
  37. package/src/js/lib/cache.js +98 -98
  38. package/src/js/lib/composition.js +89 -89
  39. package/src/js/lib/device.js +1276 -1276
  40. package/src/js/lib/helper.js +513 -513
  41. package/src/js/lib/loader.js +121 -121
  42. package/src/js/lib/localData.js +15 -15
  43. package/src/js/lib/logger.js +22 -22
  44. package/src/js/lib/math.js +20 -20
  45. package/src/js/lib/objectPool.js +54 -54
  46. package/src/js/lib/time.js +18 -18
  47. package/src/js/lib/tween.js +147 -147
  48. package/src/js/modules/_info.js +11 -11
  49. package/src/js/modules/assets/_info.js +7 -7
  50. package/src/js/modules/assets/baseModel.js +18 -18
  51. package/src/js/modules/assets/config.js +35 -35
  52. package/src/js/modules/assets/controller.js +37 -37
  53. package/src/js/modules/assets/models/_info.js +12 -12
  54. package/src/js/modules/assets/models/atlas.js +8 -8
  55. package/src/js/modules/assets/models/audiosprite.js +27 -27
  56. package/src/js/modules/assets/models/bitmapFont.js +8 -8
  57. package/src/js/modules/assets/models/container.js +16 -16
  58. package/src/js/modules/assets/models/dragonBones.js +26 -26
  59. package/src/js/modules/assets/models/font.js +8 -8
  60. package/src/js/modules/assets/models/image.js +14 -14
  61. package/src/js/modules/assets/models/json.js +8 -8
  62. package/src/js/modules/assets/models/sound.js +14 -14
  63. package/src/js/modules/assets/models/spine.js +8 -8
  64. package/src/js/modules/assets/service.js +330 -330
  65. package/src/js/modules/instances/_info.js +3 -3
  66. package/src/js/modules/instances/controller.js +218 -218
  67. package/src/js/modules/logic/_info.js +5 -5
  68. package/src/js/modules/logic/buttons.js +120 -120
  69. package/src/js/modules/logic/config/_info.js +3 -3
  70. package/src/js/modules/logic/config/buttons.js +63 -63
  71. package/src/js/modules/logic/config/sounds.js +23 -23
  72. package/src/js/modules/logic/controller.js +48 -48
  73. package/src/js/modules/logic/sounds.js +96 -96
  74. package/src/js/modules/objects/_info.js +11 -11
  75. package/src/js/modules/objects/baseModel.js +161 -161
  76. package/src/js/modules/objects/cache.js +99 -99
  77. package/src/js/modules/objects/controller.js +115 -115
  78. package/src/js/modules/objects/create.js +231 -231
  79. package/src/js/modules/objects/find.js +140 -140
  80. package/src/js/modules/objects/models/_info.js +20 -20
  81. package/src/js/modules/objects/models/atlasImage.js +50 -50
  82. package/src/js/modules/objects/models/bitmapText.js +23 -23
  83. package/src/js/modules/objects/models/button.js +184 -184
  84. package/src/js/modules/objects/models/buttonComposite.js +35 -35
  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/spine.js +83 -83
  97. package/src/js/modules/objects/models/text.js +38 -38
  98. package/src/js/modules/objects/models/world.js +19 -19
  99. package/src/js/modules/objects/propertyAdapter.js +416 -416
  100. package/src/js/modules/objects/proxy.js +179 -179
  101. package/src/js/modules/objects/styles.js +116 -116
  102. package/src/js/modules/observer/_info.js +4 -4
  103. package/src/js/modules/observer/controller.js +99 -99
  104. package/src/js/modules/observer/events.js +28 -28
  105. package/src/js/modules/scenes/_info.js +8 -8
  106. package/src/js/modules/scenes/controller.js +34 -34
  107. package/src/js/modules/scenes/model.js +35 -35
  108. package/src/js/modules/scenes/pixiWrapper.js +194 -194
  109. package/src/js/modules/scenes/resolutions.js +161 -161
  110. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  111. package/src/js/modules/scenes/service.js +84 -84
  112. package/src/js/modules/soundManager/_info.js +3 -3
  113. package/src/js/modules/soundManager/controller.js +99 -99
  114. package/src/js/modules/soundManager/soundSprite.js +202 -202
  115. package/src/js/modules/statesManager/_info.js +12 -12
  116. package/src/js/modules/statesManager/action.js +55 -113
  117. package/src/js/modules/statesManager/actions/_info.js +3 -3
  118. package/src/js/modules/statesManager/all.js +23 -23
  119. package/src/js/modules/statesManager/configStates.js +71 -86
  120. package/src/js/modules/statesManager/controller.js +132 -91
  121. package/src/js/modules/statesManager/functionsStorage.js +83 -0
  122. package/src/js/modules/statesManager/helper.js +27 -37
  123. package/src/js/modules/statesManager/race.js +75 -80
  124. package/src/js/modules/statesManager/sequence.js +47 -47
  125. package/src/js/modules/template/_info.js +6 -6
  126. package/src/js/modules/template/controller.js +28 -28
  127. package/src/js/modules/template/model.js +11 -11
  128. package/src/js/modules/template/service.js +125 -125
  129. package/src/js/modules/template/types.js +41 -41
  130. package/src/js/modules/transport/_info.js +8 -8
  131. package/src/js/modules/transport/baseConnectionType.js +24 -24
  132. package/src/js/modules/transport/config.js +22 -22
  133. package/src/js/modules/transport/connectionTypes/_info.js +3 -3
  134. package/src/js/modules/transport/connectionTypes/websocket.js +74 -74
  135. package/src/js/modules/transport/connectionTypes/xhr.js +41 -41
  136. package/src/js/modules/transport/controller.js +48 -48
  137. package/src/js/modules/transport/decorator.js +16 -16
  138. package/src/js/modules/transport/service.js +138 -138
  139. package/src/js/templates/_info.js +4 -4
  140. package/src/js/templates/groups/_info.js +1 -1
  141. package/src/js/templates/scenes/_info.js +1 -1
  142. package/webpack.config.js +47 -47
  143. package/src/js/modules/statesManager/actionModel.js +0 -48
  144. package/src/js/modules/statesManager/configActions.js +0 -54
@@ -27,135 +27,135 @@ object-assign
27
27
  */
28
28
 
29
29
  /*!
30
- * @pixi/accessibility - v5.3.11
31
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
30
+ * @pixi/accessibility - v5.3.10
31
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
32
32
  *
33
33
  * @pixi/accessibility is licensed under the MIT License.
34
34
  * http://www.opensource.org/licenses/mit-license
35
35
  */
36
36
 
37
37
  /*!
38
- * @pixi/constants - v5.3.11
39
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
38
+ * @pixi/constants - v5.3.10
39
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
40
40
  *
41
41
  * @pixi/constants is licensed under the MIT License.
42
42
  * http://www.opensource.org/licenses/mit-license
43
43
  */
44
44
 
45
45
  /*!
46
- * @pixi/core - v5.3.11
47
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
46
+ * @pixi/core - v5.3.10
47
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
48
48
  *
49
49
  * @pixi/core is licensed under the MIT License.
50
50
  * http://www.opensource.org/licenses/mit-license
51
51
  */
52
52
 
53
53
  /*!
54
- * @pixi/display - v5.3.11
55
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
54
+ * @pixi/display - v5.3.10
55
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
56
56
  *
57
57
  * @pixi/display is licensed under the MIT License.
58
58
  * http://www.opensource.org/licenses/mit-license
59
59
  */
60
60
 
61
61
  /*!
62
- * @pixi/extract - v5.3.11
63
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
62
+ * @pixi/extract - v5.3.10
63
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
64
64
  *
65
65
  * @pixi/extract is licensed under the MIT License.
66
66
  * http://www.opensource.org/licenses/mit-license
67
67
  */
68
68
 
69
69
  /*!
70
- * @pixi/filter-displacement - v5.3.11
71
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
70
+ * @pixi/filter-displacement - v5.3.10
71
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
72
72
  *
73
73
  * @pixi/filter-displacement is licensed under the MIT License.
74
74
  * http://www.opensource.org/licenses/mit-license
75
75
  */
76
76
 
77
77
  /*!
78
- * @pixi/loaders - v5.3.11
79
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
78
+ * @pixi/loaders - v5.3.10
79
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
80
80
  *
81
81
  * @pixi/loaders is licensed under the MIT License.
82
82
  * http://www.opensource.org/licenses/mit-license
83
83
  */
84
84
 
85
85
  /*!
86
- * @pixi/math - v5.3.11
87
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
86
+ * @pixi/math - v5.3.10
87
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
88
88
  *
89
89
  * @pixi/math is licensed under the MIT License.
90
90
  * http://www.opensource.org/licenses/mit-license
91
91
  */
92
92
 
93
93
  /*!
94
- * @pixi/mesh-extras - v5.3.11
95
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
94
+ * @pixi/mesh-extras - v5.3.10
95
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
96
96
  *
97
97
  * @pixi/mesh-extras is licensed under the MIT License.
98
98
  * http://www.opensource.org/licenses/mit-license
99
99
  */
100
100
 
101
101
  /*!
102
- * @pixi/mixin-get-child-by-name - v5.3.11
103
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
102
+ * @pixi/mixin-get-child-by-name - v5.3.10
103
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
104
104
  *
105
105
  * @pixi/mixin-get-child-by-name is licensed under the MIT License.
106
106
  * http://www.opensource.org/licenses/mit-license
107
107
  */
108
108
 
109
109
  /*!
110
- * @pixi/mixin-get-global-position - v5.3.11
111
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
110
+ * @pixi/mixin-get-global-position - v5.3.10
111
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
112
112
  *
113
113
  * @pixi/mixin-get-global-position is licensed under the MIT License.
114
114
  * http://www.opensource.org/licenses/mit-license
115
115
  */
116
116
 
117
117
  /*!
118
- * @pixi/polyfill - v5.3.11
119
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
118
+ * @pixi/polyfill - v5.3.10
119
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
120
120
  *
121
121
  * @pixi/polyfill is licensed under the MIT License.
122
122
  * http://www.opensource.org/licenses/mit-license
123
123
  */
124
124
 
125
125
  /*!
126
- * @pixi/prepare - v5.3.11
127
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
126
+ * @pixi/prepare - v5.3.10
127
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
128
128
  *
129
129
  * @pixi/prepare is licensed under the MIT License.
130
130
  * http://www.opensource.org/licenses/mit-license
131
131
  */
132
132
 
133
133
  /*!
134
- * @pixi/runner - v5.3.11
135
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
134
+ * @pixi/runner - v5.3.10
135
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
136
136
  *
137
137
  * @pixi/runner is licensed under the MIT License.
138
138
  * http://www.opensource.org/licenses/mit-license
139
139
  */
140
140
 
141
141
  /*!
142
- * @pixi/ticker - v5.3.11
143
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
142
+ * @pixi/ticker - v5.3.10
143
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
144
144
  *
145
145
  * @pixi/ticker is licensed under the MIT License.
146
146
  * http://www.opensource.org/licenses/mit-license
147
147
  */
148
148
 
149
149
  /*!
150
- * @pixi/utils - v5.3.11
151
- * Compiled Mon, 01 Nov 2021 16:10:12 UTC
150
+ * @pixi/utils - v5.3.10
151
+ * Compiled Mon, 07 Jun 2021 22:37:25 UTC
152
152
  *
153
153
  * @pixi/utils is licensed under the MIT License.
154
154
  * http://www.opensource.org/licenses/mit-license
155
155
  */
156
156
 
157
157
  /*!
158
- * GSAP 3.8.0
158
+ * GSAP 3.7.1
159
159
  * https://greensock.com
160
160
  *
161
161
  * @license Copyright 2008-2021, GreenSock. All rights reserved.
package/package.json CHANGED
@@ -1,49 +1,49 @@
1
- {
2
- "name": "@urso/core",
3
- "version": "0.1.95",
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.00-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
+ }
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
+ };