@urso/core 0.7.81 → 0.7.83-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.
@@ -36,16 +36,6 @@ object-assign
36
36
  * Copyright 2019-2020, Ivan Igorevich Popelyshev <ivan.popelyshev@gmail.com>, All Rights Reserved
37
37
  */
38
38
 
39
- /*!
40
- * @pixi-spine/runtime-3.8 - v3.1.2
41
- * Compiled Tue, 10 Jan 2023 14:17:32 UTC
42
- *
43
- * @pixi-spine/runtime-3.8 is licensed under the MIT License.
44
- * http://www.opensource.org/licenses/mit-license
45
- *
46
- * Copyright 2019-2020, Ivan Igorevich Popelyshev <ivan.popelyshev@gmail.com>, All Rights Reserved
47
- */
48
-
49
39
  /*!
50
40
  * @pixi/accessibility - v6.5.10
51
41
  * Compiled Thu, 06 Jul 2023 15:25:11 UTC
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@urso/core",
3
- "version": "0.7.81",
3
+ "version": "0.7.83-dev",
4
4
  "description": "HTML5 game engine",
5
5
  "main": "build/js/index.js",
6
6
  "author": "Megbrimef",
@@ -78,6 +78,7 @@ window.Urso = {
78
78
  Html: require('../modules/assets/models/html'),
79
79
  Image: require('../modules/assets/models/image'),
80
80
  Json: require('../modules/assets/models/json'),
81
+ JsonAtlas: require('../modules/assets/models/jsonAtlas'),
81
82
  Sound: require('../modules/assets/models/sound'),
82
83
  Spine: require('../modules/assets/models/spine')
83
84
  }
@@ -9,6 +9,11 @@ PIXI.filters['DropShadowFilter'] = DropShadowFilter;
9
9
 
10
10
 
11
11
  window.PIXI.spine = require("pixi-spine");
12
+
13
+ import { AtlasAttachmentLoader, SkeletonJson } from "@pixi-spine/runtime-3.8";
14
+ window.PIXI.spine.AtlasAttachmentLoader = AtlasAttachmentLoader;
15
+ window.PIXI.spine.SkeletonJson = SkeletonJson;
16
+
12
17
  require("pixi-projection");
13
18
  require("pixi-text-input");
14
19
 
@@ -1,15 +1,16 @@
1
1
  class LibCache {
2
2
  constructor() {
3
3
  this.assetsList = {
4
- image: {},
5
4
  atlas: {},
6
- json: {},
7
5
  binary: {},
8
- spine: {},
9
6
  bitmapFont: {},
7
+ file: {},
8
+ image: {},
9
+ json: {},
10
+ jsonAtlas: {},
10
11
  sound: {},
11
- texture: {},
12
- file: {}
12
+ spine: {},
13
+ texture: {}
13
14
  };
14
15
 
15
16
  this.globalAtlas = new PIXI.spine.TextureAtlas();
@@ -50,6 +51,10 @@ class LibCache {
50
51
  this._setDataToAssetsList('json', key, someData);
51
52
  };
52
53
 
54
+ addJsonAtlas(key, someData) {
55
+ this._setDataToAssetsList('jsonAtlas', key, someData);
56
+ };
57
+
53
58
  addSound(key, someData) {
54
59
  this._setDataToAssetsList('sound', key, someData);
55
60
  };
@@ -91,6 +96,14 @@ class LibCache {
91
96
  return this.assetsList.json[key];
92
97
  };
93
98
 
99
+ getJsonAtlas(key) {
100
+ return this.assetsList.jsonAtlas[key];
101
+ };
102
+
103
+ getJsonAtlases() {
104
+ return this.assetsList.jsonAtlas;
105
+ };
106
+
94
107
  getSound(key) {
95
108
  return this.assetsList.sound[key];
96
109
  };
@@ -75,6 +75,9 @@ class LibLoader {
75
75
  case Urso.types.assets.JSON:
76
76
  Urso.cache.addJson(asset.key, resource);
77
77
  break;
78
+ case Urso.types.assets.JSONATLAS:
79
+ Urso.cache.addJsonAtlas(asset.key, resource);
80
+ break;
78
81
  case Urso.types.assets.SOUND:
79
82
  Urso.cache.addSound(asset.key, resource);
80
83
  break;
@@ -120,11 +123,28 @@ class LibLoader {
120
123
 
121
124
  let params = asset.params || false; // TODO: Set params field in base mode
122
125
 
123
- if (asset.type === Urso.types.assets.SPINE && asset.noAtlas) {
126
+ if (asset.type === Urso.types.assets.JSON) { // check json in JSONATLAS
127
+ const jsonData = this._getJsonDataFromJsonAtlases(asset.key);
128
+
129
+ if (jsonData) {
130
+ Urso.cache.addJson(asset.key, { data: jsonData });
131
+ return;
132
+ }
133
+ }
134
+
135
+ if (asset.type === Urso.types.assets.SPINE && asset.noAtlas) { // check SPINE in JSONATLAS
124
136
  if (!params)
125
137
  params = {};
126
138
 
127
139
  params.metadata = { spineAtlas: Urso.cache.getGlobalAtlas() };
140
+
141
+ //check for json in JSONATLAS
142
+ const jsonData = this._getJsonDataFromJsonAtlases(asset.key);
143
+
144
+ if (jsonData) {
145
+ this._loadSpineFromExistingResourses(asset, jsonData, params);
146
+ return;
147
+ }
128
148
  }
129
149
 
130
150
  const loadPath = this._getLoadPath(asset);
@@ -146,6 +166,27 @@ class LibLoader {
146
166
  }.bind(this));
147
167
  };
148
168
 
169
+ _getJsonDataFromJsonAtlases(key) {
170
+ const jsonAtlases = Urso.cache.getJsonAtlases();
171
+
172
+ for (let jsonAtlasKey in jsonAtlases) {
173
+ if (jsonAtlases[jsonAtlasKey].data.hasOwnProperty(key)) {
174
+ return jsonAtlases[jsonAtlasKey].data[key];
175
+ }
176
+ }
177
+
178
+ return null;
179
+ }
180
+
181
+ _loadSpineFromExistingResourses(asset, jsonData, params) {
182
+ //params.metadata.spineAtlas
183
+
184
+ const spineAtlasLoader = new PIXI.spine.AtlasAttachmentLoader(params.metadata.spineAtlas);
185
+ const spineJsonParser = new PIXI.spine.SkeletonJson(spineAtlasLoader);
186
+ const spineData = spineJsonParser.readSkeletonData(jsonData);
187
+ Urso.cache.addSpine(asset.key, {spineData});
188
+ }
189
+
149
190
  _onError(error) {
150
191
  Urso.logger.warn('LibLoader file load error: ', error);
151
192
 
@@ -0,0 +1,11 @@
1
+ const ModulesAssetsBaseModel = require('./../baseModel');
2
+
3
+ class ModulesAssetsModelsJsonAtlas extends ModulesAssetsBaseModel {
4
+ constructor(params) {
5
+ super(params);
6
+
7
+ this.type = Urso.types.assets.JSONATLAS;
8
+ }
9
+ }
10
+
11
+ module.exports = ModulesAssetsModelsJsonAtlas;
@@ -121,7 +121,7 @@ class ModulesAssetsService {
121
121
  * @param {Function} callback
122
122
  */
123
123
  _loadGroupAtlases(assetsSpace, group, callback) {
124
- const atlases = assetsSpace[group].filter(assetModel => assetModel.type === Urso.types.assets.ATLAS);
124
+ const atlases = assetsSpace[group].filter(assetModel => assetModel.type === Urso.types.assets.ATLAS || assetModel.type === Urso.types.assets.JSONATLAS);
125
125
 
126
126
  if (!atlases.length)
127
127
  return callback();
@@ -366,6 +366,9 @@ class ModulesAssetsService {
366
366
  case Urso.types.assets.JSON:
367
367
  model = this.getInstance('Models.Json', asset)
368
368
  break;
369
+ case Urso.types.assets.JSONATLAS:
370
+ model = this.getInstance('Models.JsonAtlas', asset)
371
+ break;
369
372
  case Urso.types.assets.SOUND:
370
373
  model = this.getInstance('Models.Sound', asset)
371
374
  break;
@@ -9,8 +9,9 @@ class ModulesTemplateTypes {
9
9
  FONT: 5,
10
10
  IMAGE: 6,
11
11
  JSON: 7,
12
- SOUND: 8,
13
- SPINE: 9,
12
+ JSONATLAS: 8,
13
+ SOUND: 9,
14
+ SPINE: 10,
14
15
  HTML: 100
15
16
  },
16
17