@eva/plugin-renderer-mesh 2.0.2 → 2.1.0-beta.1
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.
- package/dist/EVA.plugin.renderer.mesh.js +52 -33
- package/dist/EVA.plugin.renderer.mesh.min.js +1 -1
- package/dist/plugin-renderer-mesh.cjs.js +105 -38
- package/dist/plugin-renderer-mesh.cjs.prod.js +1 -1
- package/dist/plugin-renderer-mesh.d.ts +1 -0
- package/dist/plugin-renderer-mesh.esm.js +106 -39
- package/package.json +4 -4
|
@@ -3,39 +3,6 @@ globalThis.EVA.plugin = globalThis.EVA.plugin || {};
|
|
|
3
3
|
globalThis.EVA.plugin.renderer = globalThis.EVA.plugin.renderer || {};
|
|
4
4
|
var _EVA_IIFE_mesh = function (exports, eva_js, pluginRenderer, pixi_js) {
|
|
5
5
|
'use strict';
|
|
6
|
-
class PerspectiveMesh extends eva_js.Component {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.verticesX = 10;
|
|
10
|
-
this.verticesY = 10;
|
|
11
|
-
this._forceUpdate = 0;
|
|
12
|
-
}
|
|
13
|
-
init(obj) {
|
|
14
|
-
if (obj && obj.resource) {
|
|
15
|
-
this.resource = obj.resource;
|
|
16
|
-
}
|
|
17
|
-
if (obj && obj.verticesX) {
|
|
18
|
-
this.verticesX = obj.verticesX;
|
|
19
|
-
}
|
|
20
|
-
if (obj && obj.verticesY) {
|
|
21
|
-
this.verticesY = obj.verticesY;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
setCorners(x0, y0, x1, y1, x2, y2, x3, y3) {
|
|
25
|
-
const corners = this.corners || {};
|
|
26
|
-
corners.x0 = x0;
|
|
27
|
-
corners.y0 = y0;
|
|
28
|
-
corners.x1 = x1;
|
|
29
|
-
corners.y1 = y1;
|
|
30
|
-
corners.x2 = x2;
|
|
31
|
-
corners.y2 = y2;
|
|
32
|
-
corners.x3 = x3;
|
|
33
|
-
corners.y3 = y3;
|
|
34
|
-
this.corners = corners;
|
|
35
|
-
this._forceUpdate += 1;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
PerspectiveMesh.componentName = 'PerspectiveMesh';
|
|
39
6
|
function __decorate(decorators, target, key, desc) {
|
|
40
7
|
var c = arguments.length,
|
|
41
8
|
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
|
|
@@ -43,6 +10,9 @@ var _EVA_IIFE_mesh = function (exports, eva_js, pluginRenderer, pixi_js) {
|
|
|
43
10
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
44
11
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
45
12
|
}
|
|
13
|
+
function __metadata(metadataKey, metadataValue) {
|
|
14
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
15
|
+
}
|
|
46
16
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
47
17
|
function adopt(value) {
|
|
48
18
|
return value instanceof P ? value : new P(function (resolve) {
|
|
@@ -70,6 +40,55 @@ var _EVA_IIFE_mesh = function (exports, eva_js, pluginRenderer, pixi_js) {
|
|
|
70
40
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
71
41
|
});
|
|
72
42
|
}
|
|
43
|
+
class CornersMetadata {}
|
|
44
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Number)], CornersMetadata.prototype, "x0", void 0);
|
|
45
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Number)], CornersMetadata.prototype, "y0", void 0);
|
|
46
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Number)], CornersMetadata.prototype, "x1", void 0);
|
|
47
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Number)], CornersMetadata.prototype, "y1", void 0);
|
|
48
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Number)], CornersMetadata.prototype, "x2", void 0);
|
|
49
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Number)], CornersMetadata.prototype, "y2", void 0);
|
|
50
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Number)], CornersMetadata.prototype, "x3", void 0);
|
|
51
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Number)], CornersMetadata.prototype, "y3", void 0);
|
|
52
|
+
class PerspectiveMesh extends eva_js.Component {
|
|
53
|
+
constructor() {
|
|
54
|
+
super(...arguments);
|
|
55
|
+
this.verticesX = 10;
|
|
56
|
+
this.verticesY = 10;
|
|
57
|
+
this._forceUpdate = 0;
|
|
58
|
+
}
|
|
59
|
+
init(obj) {
|
|
60
|
+
if (obj && obj.resource) {
|
|
61
|
+
this.resource = obj.resource;
|
|
62
|
+
}
|
|
63
|
+
if (obj && obj.verticesX) {
|
|
64
|
+
this.verticesX = obj.verticesX;
|
|
65
|
+
}
|
|
66
|
+
if (obj && obj.verticesY) {
|
|
67
|
+
this.verticesY = obj.verticesY;
|
|
68
|
+
}
|
|
69
|
+
if (obj && obj.corners) {
|
|
70
|
+
this.corners = obj.corners;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
setCorners(x0, y0, x1, y1, x2, y2, x3, y3) {
|
|
74
|
+
const corners = this.corners || {};
|
|
75
|
+
corners.x0 = x0;
|
|
76
|
+
corners.y0 = y0;
|
|
77
|
+
corners.x1 = x1;
|
|
78
|
+
corners.y1 = y1;
|
|
79
|
+
corners.x2 = x2;
|
|
80
|
+
corners.y2 = y2;
|
|
81
|
+
corners.x3 = x3;
|
|
82
|
+
corners.y3 = y3;
|
|
83
|
+
this.corners = corners;
|
|
84
|
+
this._forceUpdate += 1;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
PerspectiveMesh.componentName = 'PerspectiveMesh';
|
|
88
|
+
__decorate([eva_js.type('string'), __metadata("design:type", String)], PerspectiveMesh.prototype, "resource", void 0);
|
|
89
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Object)], PerspectiveMesh.prototype, "verticesX", void 0);
|
|
90
|
+
__decorate([eva_js.type('number'), eva_js.step(1), __metadata("design:type", Object)], PerspectiveMesh.prototype, "verticesY", void 0);
|
|
91
|
+
__decorate([eva_js.Field(() => CornersMetadata), __metadata("design:type", Object)], PerspectiveMesh.prototype, "corners", void 0);
|
|
73
92
|
let MeshSystem = class MeshSystem extends pluginRenderer.Renderer {
|
|
74
93
|
constructor() {
|
|
75
94
|
super(...arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.EVA=globalThis.EVA||{},globalThis.EVA.plugin=globalThis.EVA.plugin||{},globalThis.EVA.plugin.renderer=globalThis.EVA.plugin.renderer||{};var _EVA_IIFE_mesh=function(e,r,s
|
|
1
|
+
globalThis.EVA=globalThis.EVA||{},globalThis.EVA.plugin=globalThis.EVA.plugin||{},globalThis.EVA.plugin.renderer=globalThis.EVA.plugin.renderer||{};var _EVA_IIFE_mesh=function(e,t,r,s){"use strict";function n(e,t,r,s){var n,o=arguments.length,i=o<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(o<3?n(i):o>3?n(t,r,i):n(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function o(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function i(e,t,r,s){return new(r||(r=Promise))(function(n,o){function i(e){try{d(s.next(e))}catch(e){o(e)}}function c(e){try{d(s.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(i,c)}d((s=s.apply(e,t||[])).next())})}class c{}n([t.type("number"),t.step(1),o("design:type",Number)],c.prototype,"x0",void 0),n([t.type("number"),t.step(1),o("design:type",Number)],c.prototype,"y0",void 0),n([t.type("number"),t.step(1),o("design:type",Number)],c.prototype,"x1",void 0),n([t.type("number"),t.step(1),o("design:type",Number)],c.prototype,"y1",void 0),n([t.type("number"),t.step(1),o("design:type",Number)],c.prototype,"x2",void 0),n([t.type("number"),t.step(1),o("design:type",Number)],c.prototype,"y2",void 0),n([t.type("number"),t.step(1),o("design:type",Number)],c.prototype,"x3",void 0),n([t.type("number"),t.step(1),o("design:type",Number)],c.prototype,"y3",void 0);class d extends t.Component{constructor(){super(...arguments),this.verticesX=10,this.verticesY=10,this._forceUpdate=0}init(e){e&&e.resource&&(this.resource=e.resource),e&&e.verticesX&&(this.verticesX=e.verticesX),e&&e.verticesY&&(this.verticesY=e.verticesY),e&&e.corners&&(this.corners=e.corners)}setCorners(e,t,r,s,n,o,i,c){const d=this.corners||{};d.x0=e,d.y0=t,d.x1=r,d.y1=s,d.x2=n,d.y2=o,d.x3=i,d.y3=c,this.corners=d,this._forceUpdate+=1}}d.componentName="PerspectiveMesh",n([t.type("string"),o("design:type",String)],d.prototype,"resource",void 0),n([t.type("number"),t.step(1),o("design:type",Object)],d.prototype,"verticesX",void 0),n([t.type("number"),t.step(1),o("design:type",Object)],d.prototype,"verticesY",void 0),n([t.Field(()=>c),o("design:type",Object)],d.prototype,"corners",void 0);let p=class extends r.Renderer{constructor(){super(...arguments),this.name="MeshSystem",this.meshes={}}init(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)}componentChanged(e){var r,n;return i(this,void 0,void 0,function*(){if("PerspectiveMesh"===e.componentName){const o=e.gameObject.id,i=e.component;if(e.type===t.OBSERVER_TYPE.ADD){const n=new s.PerspectiveMesh({texture:new s.Texture,verticesX:i.verticesX,verticesY:i.verticesY});this.meshes[e.gameObject.id]=n,this.containerManager.getContainer(e.gameObject.id).addChildAt(n,0);const c=this.increaseAsyncId(o),d=yield t.resource.getResource(i.resource),p=null===(r=d.data)||void 0===r?void 0:r.image;if(!this.validateAsyncId(o,c))return;if(!p)return void console.error(`GameObject:${e.gameObject.name}'s Mesh resource load error`);n.texture=p,i.corners?this.meshes[e.gameObject.id].setCorners(i.corners.x0,i.corners.y0,i.corners.x1,i.corners.y1,i.corners.x2,i.corners.y2,i.corners.x3,i.corners.y3):n.setCorners(0,0,p.width,0,p.width,p.height,0,p.height)}else if(e.type===t.OBSERVER_TYPE.CHANGE){const r=this.increaseAsyncId(o),s=yield t.resource.getResource(i.resource),c=null===(n=s.data)||void 0===n?void 0:n.image;if(!this.validateAsyncId(o,r))return;if(!c)return void console.error(`GameObject:${e.gameObject.name}'s Mesh resource load error`);this.meshes[e.gameObject.id].texture=c,i.corners&&this.meshes[e.gameObject.id].setCorners(i.corners.x0,i.corners.y0,i.corners.x1,i.corners.y1,i.corners.x2,i.corners.y2,i.corners.x3,i.corners.y3)}else if(e.type===t.OBSERVER_TYPE.REMOVE){this.increaseAsyncId(o);const t=this.meshes[e.gameObject.id];this.containerManager.getContainer(e.gameObject.id).removeChild(t),t.destroy(),delete this.meshes[e.gameObject.id]}}})}destroy(){var e,t;for(const r in this.meshes){const s=this.meshes[r];null===(t=null===(e=this.containerManager)||void 0===e?void 0:e.getContainer(parseInt(r)))||void 0===t||t.removeChild(s),s.destroy(),delete this.meshes[r]}}};p.systemName="MeshSystem",p=n([t.decorators.componentObserver({PerspectiveMesh:["resource","_forceUpdate"]})],p);var a=p;return e.MeshSystem=a,e.PerspectiveMesh=d,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer,PIXI);globalThis.EVA.plugin.renderer.mesh=globalThis.EVA.plugin.renderer.mesh||_EVA_IIFE_mesh;
|
|
@@ -6,6 +6,89 @@ var eva_js = require('@eva/eva.js');
|
|
|
6
6
|
var pluginRenderer = require('@eva/plugin-renderer');
|
|
7
7
|
var pixi_js = require('pixi.js');
|
|
8
8
|
|
|
9
|
+
/******************************************************************************
|
|
10
|
+
Copyright (c) Microsoft Corporation.
|
|
11
|
+
|
|
12
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
13
|
+
purpose with or without fee is hereby granted.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
16
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
17
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
18
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
19
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
20
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
21
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
22
|
+
***************************************************************************** */
|
|
23
|
+
|
|
24
|
+
function __decorate(decorators, target, key, desc) {
|
|
25
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
26
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
27
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
28
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function __metadata(metadataKey, metadataValue) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
46
|
+
var e = new Error(message);
|
|
47
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
class CornersMetadata {
|
|
51
|
+
}
|
|
52
|
+
__decorate([
|
|
53
|
+
eva_js.type('number'),
|
|
54
|
+
eva_js.step(1),
|
|
55
|
+
__metadata("design:type", Number)
|
|
56
|
+
], CornersMetadata.prototype, "x0", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
eva_js.type('number'),
|
|
59
|
+
eva_js.step(1),
|
|
60
|
+
__metadata("design:type", Number)
|
|
61
|
+
], CornersMetadata.prototype, "y0", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
eva_js.type('number'),
|
|
64
|
+
eva_js.step(1),
|
|
65
|
+
__metadata("design:type", Number)
|
|
66
|
+
], CornersMetadata.prototype, "x1", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
eva_js.type('number'),
|
|
69
|
+
eva_js.step(1),
|
|
70
|
+
__metadata("design:type", Number)
|
|
71
|
+
], CornersMetadata.prototype, "y1", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
eva_js.type('number'),
|
|
74
|
+
eva_js.step(1),
|
|
75
|
+
__metadata("design:type", Number)
|
|
76
|
+
], CornersMetadata.prototype, "x2", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
eva_js.type('number'),
|
|
79
|
+
eva_js.step(1),
|
|
80
|
+
__metadata("design:type", Number)
|
|
81
|
+
], CornersMetadata.prototype, "y2", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
eva_js.type('number'),
|
|
84
|
+
eva_js.step(1),
|
|
85
|
+
__metadata("design:type", Number)
|
|
86
|
+
], CornersMetadata.prototype, "x3", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
eva_js.type('number'),
|
|
89
|
+
eva_js.step(1),
|
|
90
|
+
__metadata("design:type", Number)
|
|
91
|
+
], CornersMetadata.prototype, "y3", void 0);
|
|
9
92
|
/**
|
|
10
93
|
* 透视网格组件
|
|
11
94
|
*
|
|
@@ -79,6 +162,9 @@ class PerspectiveMesh extends eva_js.Component {
|
|
|
79
162
|
if (obj && obj.verticesY) {
|
|
80
163
|
this.verticesY = obj.verticesY;
|
|
81
164
|
}
|
|
165
|
+
if (obj && obj.corners) {
|
|
166
|
+
this.corners = obj.corners;
|
|
167
|
+
}
|
|
82
168
|
}
|
|
83
169
|
/**
|
|
84
170
|
* 设置四个角的位置
|
|
@@ -109,44 +195,25 @@ class PerspectiveMesh extends eva_js.Component {
|
|
|
109
195
|
}
|
|
110
196
|
}
|
|
111
197
|
/** 组件名称 */
|
|
112
|
-
PerspectiveMesh.componentName = 'PerspectiveMesh';
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
132
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
133
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
137
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
138
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
139
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
140
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
141
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
142
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
147
|
-
var e = new Error(message);
|
|
148
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
149
|
-
};
|
|
198
|
+
PerspectiveMesh.componentName = 'PerspectiveMesh';
|
|
199
|
+
__decorate([
|
|
200
|
+
eva_js.type('string'),
|
|
201
|
+
__metadata("design:type", String)
|
|
202
|
+
], PerspectiveMesh.prototype, "resource", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
eva_js.type('number'),
|
|
205
|
+
eva_js.step(1),
|
|
206
|
+
__metadata("design:type", Object)
|
|
207
|
+
], PerspectiveMesh.prototype, "verticesX", void 0);
|
|
208
|
+
__decorate([
|
|
209
|
+
eva_js.type('number'),
|
|
210
|
+
eva_js.step(1),
|
|
211
|
+
__metadata("design:type", Object)
|
|
212
|
+
], PerspectiveMesh.prototype, "verticesY", void 0);
|
|
213
|
+
__decorate([
|
|
214
|
+
eva_js.Field(() => CornersMetadata),
|
|
215
|
+
__metadata("design:type", Object)
|
|
216
|
+
], PerspectiveMesh.prototype, "corners", void 0);
|
|
150
217
|
|
|
151
218
|
let MeshSystem = class MeshSystem extends pluginRenderer.Renderer {
|
|
152
219
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/plugin-renderer"),r=require("pixi.js");function s(e,t,r,s){var o,n=arguments.length,i=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(i=(n<3?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i}function o(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function n(e,t,r,s){return new(r||(r=Promise))(function(o,n){function i(e){try{p(s.next(e))}catch(e){n(e)}}function c(e){try{p(s.throw(e))}catch(e){n(e)}}function p(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(i,c)}p((s=s.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;class i{}s([e.type("number"),e.step(1),o("design:type",Number)],i.prototype,"x0",void 0),s([e.type("number"),e.step(1),o("design:type",Number)],i.prototype,"y0",void 0),s([e.type("number"),e.step(1),o("design:type",Number)],i.prototype,"x1",void 0),s([e.type("number"),e.step(1),o("design:type",Number)],i.prototype,"y1",void 0),s([e.type("number"),e.step(1),o("design:type",Number)],i.prototype,"x2",void 0),s([e.type("number"),e.step(1),o("design:type",Number)],i.prototype,"y2",void 0),s([e.type("number"),e.step(1),o("design:type",Number)],i.prototype,"x3",void 0),s([e.type("number"),e.step(1),o("design:type",Number)],i.prototype,"y3",void 0);class c extends e.Component{constructor(){super(...arguments),this.verticesX=10,this.verticesY=10,this._forceUpdate=0}init(e){e&&e.resource&&(this.resource=e.resource),e&&e.verticesX&&(this.verticesX=e.verticesX),e&&e.verticesY&&(this.verticesY=e.verticesY),e&&e.corners&&(this.corners=e.corners)}setCorners(e,t,r,s,o,n,i,c){const p=this.corners||{};p.x0=e,p.y0=t,p.x1=r,p.y1=s,p.x2=o,p.y2=n,p.x3=i,p.y3=c,this.corners=p,this._forceUpdate+=1}}c.componentName="PerspectiveMesh",s([e.type("string"),o("design:type",String)],c.prototype,"resource",void 0),s([e.type("number"),e.step(1),o("design:type",Object)],c.prototype,"verticesX",void 0),s([e.type("number"),e.step(1),o("design:type",Object)],c.prototype,"verticesY",void 0),s([e.Field(()=>i),o("design:type",Object)],c.prototype,"corners",void 0);let p=class extends t.Renderer{constructor(){super(...arguments),this.name="MeshSystem",this.meshes={}}init(){this.renderSystem=this.game.getSystem(t.RendererSystem),this.renderSystem.rendererManager.register(this)}componentChanged(t){var s,o;return n(this,void 0,void 0,function*(){if("PerspectiveMesh"===t.componentName){const n=t.gameObject.id,i=t.component;if(t.type===e.OBSERVER_TYPE.ADD){const o=new r.PerspectiveMesh({texture:new r.Texture,verticesX:i.verticesX,verticesY:i.verticesY});this.meshes[t.gameObject.id]=o,this.containerManager.getContainer(t.gameObject.id).addChildAt(o,0);const c=this.increaseAsyncId(n),p=yield e.resource.getResource(i.resource),d=null===(s=p.data)||void 0===s?void 0:s.image;if(!this.validateAsyncId(n,c))return;if(!d)return void console.error(`GameObject:${t.gameObject.name}'s Mesh resource load error`);o.texture=d,i.corners?this.meshes[t.gameObject.id].setCorners(i.corners.x0,i.corners.y0,i.corners.x1,i.corners.y1,i.corners.x2,i.corners.y2,i.corners.x3,i.corners.y3):o.setCorners(0,0,d.width,0,d.width,d.height,0,d.height)}else if(t.type===e.OBSERVER_TYPE.CHANGE){const r=this.increaseAsyncId(n),s=yield e.resource.getResource(i.resource),c=null===(o=s.data)||void 0===o?void 0:o.image;if(!this.validateAsyncId(n,r))return;if(!c)return void console.error(`GameObject:${t.gameObject.name}'s Mesh resource load error`);this.meshes[t.gameObject.id].texture=c,i.corners&&this.meshes[t.gameObject.id].setCorners(i.corners.x0,i.corners.y0,i.corners.x1,i.corners.y1,i.corners.x2,i.corners.y2,i.corners.x3,i.corners.y3)}else if(t.type===e.OBSERVER_TYPE.REMOVE){this.increaseAsyncId(n);const e=this.meshes[t.gameObject.id];this.containerManager.getContainer(t.gameObject.id).removeChild(e),e.destroy(),delete this.meshes[t.gameObject.id]}}})}destroy(){var e,t;for(const r in this.meshes){const s=this.meshes[r];null===(t=null===(e=this.containerManager)||void 0===e?void 0:e.getContainer(parseInt(r)))||void 0===t||t.removeChild(s),s.destroy(),delete this.meshes[r]}}};p.systemName="MeshSystem",p=s([e.decorators.componentObserver({PerspectiveMesh:["resource","_forceUpdate"]})],p);var d=p;exports.MeshSystem=d,exports.PerspectiveMesh=c;
|
|
@@ -1,7 +1,90 @@
|
|
|
1
|
-
import { Component, decorators, OBSERVER_TYPE, resource } from '@eva/eva.js';
|
|
1
|
+
import { Component, type, step, Field, decorators, OBSERVER_TYPE, resource } from '@eva/eva.js';
|
|
2
2
|
import { Renderer, RendererSystem } from '@eva/plugin-renderer';
|
|
3
3
|
import { PerspectiveMesh as PerspectiveMesh$1, Texture } from 'pixi.js';
|
|
4
4
|
|
|
5
|
+
/******************************************************************************
|
|
6
|
+
Copyright (c) Microsoft Corporation.
|
|
7
|
+
|
|
8
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
9
|
+
purpose with or without fee is hereby granted.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
12
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
13
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
14
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
15
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
16
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
17
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
18
|
+
***************************************************************************** */
|
|
19
|
+
|
|
20
|
+
function __decorate(decorators, target, key, desc) {
|
|
21
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
22
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
23
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
24
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function __metadata(metadataKey, metadataValue) {
|
|
28
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
32
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
33
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
34
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
35
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
36
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
37
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
42
|
+
var e = new Error(message);
|
|
43
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
class CornersMetadata {
|
|
47
|
+
}
|
|
48
|
+
__decorate([
|
|
49
|
+
type('number'),
|
|
50
|
+
step(1),
|
|
51
|
+
__metadata("design:type", Number)
|
|
52
|
+
], CornersMetadata.prototype, "x0", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
type('number'),
|
|
55
|
+
step(1),
|
|
56
|
+
__metadata("design:type", Number)
|
|
57
|
+
], CornersMetadata.prototype, "y0", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
type('number'),
|
|
60
|
+
step(1),
|
|
61
|
+
__metadata("design:type", Number)
|
|
62
|
+
], CornersMetadata.prototype, "x1", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
type('number'),
|
|
65
|
+
step(1),
|
|
66
|
+
__metadata("design:type", Number)
|
|
67
|
+
], CornersMetadata.prototype, "y1", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
type('number'),
|
|
70
|
+
step(1),
|
|
71
|
+
__metadata("design:type", Number)
|
|
72
|
+
], CornersMetadata.prototype, "x2", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
type('number'),
|
|
75
|
+
step(1),
|
|
76
|
+
__metadata("design:type", Number)
|
|
77
|
+
], CornersMetadata.prototype, "y2", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
type('number'),
|
|
80
|
+
step(1),
|
|
81
|
+
__metadata("design:type", Number)
|
|
82
|
+
], CornersMetadata.prototype, "x3", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
type('number'),
|
|
85
|
+
step(1),
|
|
86
|
+
__metadata("design:type", Number)
|
|
87
|
+
], CornersMetadata.prototype, "y3", void 0);
|
|
5
88
|
/**
|
|
6
89
|
* 透视网格组件
|
|
7
90
|
*
|
|
@@ -75,6 +158,9 @@ class PerspectiveMesh extends Component {
|
|
|
75
158
|
if (obj && obj.verticesY) {
|
|
76
159
|
this.verticesY = obj.verticesY;
|
|
77
160
|
}
|
|
161
|
+
if (obj && obj.corners) {
|
|
162
|
+
this.corners = obj.corners;
|
|
163
|
+
}
|
|
78
164
|
}
|
|
79
165
|
/**
|
|
80
166
|
* 设置四个角的位置
|
|
@@ -105,44 +191,25 @@ class PerspectiveMesh extends Component {
|
|
|
105
191
|
}
|
|
106
192
|
}
|
|
107
193
|
/** 组件名称 */
|
|
108
|
-
PerspectiveMesh.componentName = 'PerspectiveMesh';
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
128
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
129
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
133
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
134
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
135
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
136
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
137
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
138
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
143
|
-
var e = new Error(message);
|
|
144
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
145
|
-
};
|
|
194
|
+
PerspectiveMesh.componentName = 'PerspectiveMesh';
|
|
195
|
+
__decorate([
|
|
196
|
+
type('string'),
|
|
197
|
+
__metadata("design:type", String)
|
|
198
|
+
], PerspectiveMesh.prototype, "resource", void 0);
|
|
199
|
+
__decorate([
|
|
200
|
+
type('number'),
|
|
201
|
+
step(1),
|
|
202
|
+
__metadata("design:type", Object)
|
|
203
|
+
], PerspectiveMesh.prototype, "verticesX", void 0);
|
|
204
|
+
__decorate([
|
|
205
|
+
type('number'),
|
|
206
|
+
step(1),
|
|
207
|
+
__metadata("design:type", Object)
|
|
208
|
+
], PerspectiveMesh.prototype, "verticesY", void 0);
|
|
209
|
+
__decorate([
|
|
210
|
+
Field(() => CornersMetadata),
|
|
211
|
+
__metadata("design:type", Object)
|
|
212
|
+
], PerspectiveMesh.prototype, "corners", void 0);
|
|
146
213
|
|
|
147
214
|
let MeshSystem = class MeshSystem extends Renderer {
|
|
148
215
|
constructor() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eva/plugin-renderer-mesh",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.1.0-beta.1",
|
|
4
4
|
"description": "@eva/plugin-renderer-mesh",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "dist/plugin-renderer-mesh.esm.js",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"homepage": "https://eva.js.org",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@eva/inspector-decorator": "^0.0.
|
|
22
|
-
"@eva/plugin-renderer": "2.0.
|
|
23
|
-
"@eva/eva.js": "2.0.
|
|
21
|
+
"@eva/inspector-decorator": "^2.0.0-beta.0",
|
|
22
|
+
"@eva/plugin-renderer": "2.1.0-beta.1",
|
|
23
|
+
"@eva/eva.js": "2.1.0-beta.1",
|
|
24
24
|
"pixi.js": "^8.17.0"
|
|
25
25
|
}
|
|
26
26
|
}
|