@eva/plugin-renderer-render 2.0.1-beta.28 → 2.0.1-beta.29
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.render.js +28 -3
- package/dist/EVA.plugin.renderer.render.min.js +1 -1
- package/dist/plugin-renderer-render.cjs.js +50 -4
- package/dist/plugin-renderer-render.cjs.prod.js +1 -1
- package/dist/plugin-renderer-render.d.ts +16 -0
- package/dist/plugin-renderer-render.esm.js +50 -4
- package/package.json +4 -4
|
@@ -42,6 +42,7 @@ var _EVA_IIFE_render = function (exports, eva_js, pluginRenderer) {
|
|
|
42
42
|
this.alpha = 1;
|
|
43
43
|
this.zIndex = 0;
|
|
44
44
|
this.sortableChildren = false;
|
|
45
|
+
this.resolution = 1;
|
|
45
46
|
}
|
|
46
47
|
init(obj) {
|
|
47
48
|
obj && _extends(this, obj);
|
|
@@ -52,6 +53,7 @@ var _EVA_IIFE_render = function (exports, eva_js, pluginRenderer) {
|
|
|
52
53
|
__decorate([type('number'), step(0.1)], Render$2.prototype, "alpha", void 0);
|
|
53
54
|
__decorate([type('number'), step(1)], Render$2.prototype, "zIndex", void 0);
|
|
54
55
|
__decorate([type('boolean')], Render$2.prototype, "sortableChildren", void 0);
|
|
56
|
+
__decorate([type('number'), step(0.1)], Render$2.prototype, "resolution", void 0);
|
|
55
57
|
let Render = class Render extends pluginRenderer.Renderer {
|
|
56
58
|
constructor() {
|
|
57
59
|
super(...arguments);
|
|
@@ -82,11 +84,24 @@ var _EVA_IIFE_render = function (exports, eva_js, pluginRenderer) {
|
|
|
82
84
|
add(changed) {
|
|
83
85
|
if (changed.component.name === 'Render') {
|
|
84
86
|
this.setDirty(changed);
|
|
87
|
+
const component = changed.component;
|
|
88
|
+
const container = this.containerManager.getContainer(changed.gameObject.id);
|
|
89
|
+
if (component.resolution !== undefined && component.resolution > 0) {
|
|
90
|
+
this.applyResolution(container, component.resolution);
|
|
91
|
+
}
|
|
85
92
|
}
|
|
86
93
|
}
|
|
87
94
|
change(changed) {
|
|
88
|
-
if (changed.component.name === 'Render'
|
|
89
|
-
|
|
95
|
+
if (changed.component.name === 'Render') {
|
|
96
|
+
if (changed.prop.prop[0] === 'zIndex') {
|
|
97
|
+
this.setDirty(changed);
|
|
98
|
+
} else if (changed.prop.prop[0] === 'resolution') {
|
|
99
|
+
const component = changed.component;
|
|
100
|
+
const container = this.containerManager.getContainer(changed.gameObject.id);
|
|
101
|
+
if (component.resolution !== undefined && component.resolution > 0) {
|
|
102
|
+
this.applyResolution(container, component.resolution);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
90
105
|
}
|
|
91
106
|
}
|
|
92
107
|
remove(changed) {
|
|
@@ -101,10 +116,20 @@ var _EVA_IIFE_render = function (exports, eva_js, pluginRenderer) {
|
|
|
101
116
|
parentRender.sortDirty = true;
|
|
102
117
|
}
|
|
103
118
|
}
|
|
119
|
+
applyResolution(container, resolution) {
|
|
120
|
+
if (!container) return;
|
|
121
|
+
window.requestAnimationFrame(() => {
|
|
122
|
+
if (container.children && Array.isArray(container.children)) {
|
|
123
|
+
for (const child of container.children) {
|
|
124
|
+
child.resolution = resolution;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
104
129
|
};
|
|
105
130
|
Render.systemName = 'Render';
|
|
106
131
|
Render = __decorate([eva_js.decorators.componentObserver({
|
|
107
|
-
Render: ['zIndex']
|
|
132
|
+
Render: ['zIndex', 'resolution']
|
|
108
133
|
})], Render);
|
|
109
134
|
var Render$1 = Render;
|
|
110
135
|
exports.Render = Render$2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var
|
|
1
|
+
function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},_extends.apply(null,arguments)}globalThis.EVA=globalThis.EVA||{},globalThis.EVA.plugin=globalThis.EVA.plugin||{},globalThis.EVA.plugin.renderer=globalThis.EVA.plugin.renderer||{};var _EVA_IIFE_render=function(e,n,t){"use strict";function r(e,n,t,r){var o,i=arguments.length,s=i<3?n:null===r?r=Object.getOwnPropertyDescriptor(n,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,n,t,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(n,t,s):o(n,t))||s);return i>3&&s&&Object.defineProperty(n,t,s),s}function o(e,n){return e.constructor.IDEProps||(e.constructor.IDEProps={}),e.constructor.IDEProps[n]||(e.constructor.IDEProps[n]={}),e.constructor.IDEProps[n]}function i(e){return function(n,t){var r=o(n,t);r.key=t,r.type=e}}function s(e){return function(n,t){o(n,t).step=e}}class a extends n.Component{constructor(){super(...arguments),this.sortDirty=!1,this.visible=!0,this.alpha=1,this.zIndex=0,this.sortableChildren=!1,this.resolution=1}init(e){e&&_extends(this,e)}}a.componentName="Render",r([i("boolean")],a.prototype,"visible",void 0),r([i("number"),s(.1)],a.prototype,"alpha",void 0),r([i("number"),s(1)],a.prototype,"zIndex",void 0),r([i("boolean")],a.prototype,"sortableChildren",void 0),r([i("number"),s(.1)],a.prototype,"resolution",void 0);let l=class extends t.Renderer{constructor(){super(...arguments),this.name="Render"}init(){this.renderSystem=this.game.getSystem(t.RendererSystem),this.renderSystem.rendererManager.register(this)}rendererUpdate(e){const n=e.getComponent("Render"),t=this.containerManager.getContainer(e.id);t.alpha=n.alpha,t.visible=n.visible,t.zIndex=n.zIndex}componentChanged(e){e.type!==n.OBSERVER_TYPE.ADD&&e.type!==n.OBSERVER_TYPE.REMOVE||this.add(e),e.type===n.OBSERVER_TYPE.CHANGE&&this.change(e),e.type===n.OBSERVER_TYPE.REMOVE&&this.remove(e)}add(e){if("Render"===e.component.name){this.setDirty(e);const n=e.component,t=this.containerManager.getContainer(e.gameObject.id);void 0!==n.resolution&&n.resolution>0&&this.applyResolution(t,n.resolution)}}change(e){if("Render"===e.component.name)if("zIndex"===e.prop.prop[0])this.setDirty(e);else if("resolution"===e.prop.prop[0]){const n=e.component,t=this.containerManager.getContainer(e.gameObject.id);void 0!==n.resolution&&n.resolution>0&&this.applyResolution(t,n.resolution)}}remove(e){if("Render"===e.component.name){this.containerManager.getContainer(e.gameObject.id).alpha=1}}setDirty(e){const n=e.gameObject.parent&&e.gameObject.parent.getComponent("Render");n&&(n.sortDirty=!0)}applyResolution(e,n){e&&window.requestAnimationFrame((()=>{if(e.children&&Array.isArray(e.children))for(const t of e.children)t.resolution=n}))}};l.systemName="Render",l=r([n.decorators.componentObserver({Render:["zIndex","resolution"]})],l);var p=l;return e.Render=a,e.RenderSystem=p,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer);globalThis.EVA.plugin.renderer.render=globalThis.EVA.plugin.renderer.render||_EVA_IIFE_render;
|
|
@@ -40,6 +40,7 @@ function __decorate(decorators, target, key, desc) {
|
|
|
40
40
|
* - alpha - 控制对象透明度(0-1)
|
|
41
41
|
* - zIndex - 控制对象渲染层级
|
|
42
42
|
* - sortableChildren - 是否对子对象按 zIndex 排序
|
|
43
|
+
* - resolution - 渲染分辨率,值越大越清晰但性能消耗越大
|
|
43
44
|
*
|
|
44
45
|
* @example
|
|
45
46
|
* ```typescript
|
|
@@ -72,6 +73,13 @@ function __decorate(decorators, target, key, desc) {
|
|
|
72
73
|
* container.addComponent(new Render({
|
|
73
74
|
* sortableChildren: true // 子对象将按 zIndex 排序
|
|
74
75
|
* }));
|
|
76
|
+
*
|
|
77
|
+
* // 设置渲染分辨率
|
|
78
|
+
* const text = new GameObject('text');
|
|
79
|
+
* text.addComponent(new Text({ text: 'High Resolution' }));
|
|
80
|
+
* text.addComponent(new Render({
|
|
81
|
+
* resolution: 2 // 2倍分辨率,使渲染更清晰
|
|
82
|
+
* }));
|
|
75
83
|
* ```
|
|
76
84
|
*/
|
|
77
85
|
class Render$2 extends eva_js.Component {
|
|
@@ -87,6 +95,8 @@ class Render$2 extends eva_js.Component {
|
|
|
87
95
|
this.zIndex = 0;
|
|
88
96
|
/** 是否对子对象按 zIndex 排序 */
|
|
89
97
|
this.sortableChildren = false;
|
|
98
|
+
/** 渲染分辨率(值越大越清晰但性能消耗越大,默认为 1) */
|
|
99
|
+
this.resolution = 1;
|
|
90
100
|
}
|
|
91
101
|
/**
|
|
92
102
|
* 初始化组件
|
|
@@ -95,6 +105,7 @@ class Render$2 extends eva_js.Component {
|
|
|
95
105
|
* @param obj.alpha - 透明度
|
|
96
106
|
* @param obj.zIndex - 渲染层级
|
|
97
107
|
* @param obj.sortableChildren - 是否对子对象排序
|
|
108
|
+
* @param obj.resolution - 渲染分辨率
|
|
98
109
|
*/
|
|
99
110
|
init(obj) {
|
|
100
111
|
obj && Object.assign(this, obj);
|
|
@@ -115,7 +126,11 @@ __decorate([
|
|
|
115
126
|
], Render$2.prototype, "zIndex", void 0);
|
|
116
127
|
__decorate([
|
|
117
128
|
inspectorDecorator.type('boolean')
|
|
118
|
-
], Render$2.prototype, "sortableChildren", void 0);
|
|
129
|
+
], Render$2.prototype, "sortableChildren", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
inspectorDecorator.type('number'),
|
|
132
|
+
inspectorDecorator.step(0.1)
|
|
133
|
+
], Render$2.prototype, "resolution", void 0);
|
|
119
134
|
|
|
120
135
|
let Render = class Render extends pluginRenderer.Renderer {
|
|
121
136
|
constructor() {
|
|
@@ -147,11 +162,27 @@ let Render = class Render extends pluginRenderer.Renderer {
|
|
|
147
162
|
add(changed) {
|
|
148
163
|
if (changed.component.name === 'Render') {
|
|
149
164
|
this.setDirty(changed);
|
|
165
|
+
// 初始化时应用 resolution
|
|
166
|
+
const component = changed.component;
|
|
167
|
+
const container = this.containerManager.getContainer(changed.gameObject.id);
|
|
168
|
+
if (component.resolution !== undefined && component.resolution > 0) {
|
|
169
|
+
this.applyResolution(container, component.resolution);
|
|
170
|
+
}
|
|
150
171
|
}
|
|
151
172
|
}
|
|
152
173
|
change(changed) {
|
|
153
|
-
if (changed.component.name === 'Render'
|
|
154
|
-
|
|
174
|
+
if (changed.component.name === 'Render') {
|
|
175
|
+
if (changed.prop.prop[0] === 'zIndex') {
|
|
176
|
+
this.setDirty(changed);
|
|
177
|
+
}
|
|
178
|
+
else if (changed.prop.prop[0] === 'resolution') {
|
|
179
|
+
// 当 resolution 改变时,重新应用到子对象
|
|
180
|
+
const component = changed.component;
|
|
181
|
+
const container = this.containerManager.getContainer(changed.gameObject.id);
|
|
182
|
+
if (component.resolution !== undefined && component.resolution > 0) {
|
|
183
|
+
this.applyResolution(container, component.resolution);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
155
186
|
}
|
|
156
187
|
}
|
|
157
188
|
remove(changed) {
|
|
@@ -166,11 +197,26 @@ let Render = class Render extends pluginRenderer.Renderer {
|
|
|
166
197
|
parentRender.sortDirty = true;
|
|
167
198
|
}
|
|
168
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* 递归应用 resolution 到容器中所有支持该属性的子对象
|
|
202
|
+
*/
|
|
203
|
+
applyResolution(container, resolution) {
|
|
204
|
+
if (!container)
|
|
205
|
+
return;
|
|
206
|
+
window.requestAnimationFrame(() => {
|
|
207
|
+
// 遍历容器的所有子对象
|
|
208
|
+
if (container.children && Array.isArray(container.children)) {
|
|
209
|
+
for (const child of container.children) {
|
|
210
|
+
child.resolution = resolution;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
169
215
|
};
|
|
170
216
|
Render.systemName = 'Render';
|
|
171
217
|
Render = __decorate([
|
|
172
218
|
eva_js.decorators.componentObserver({
|
|
173
|
-
Render: ['zIndex'],
|
|
219
|
+
Render: ['zIndex', 'resolution'],
|
|
174
220
|
})
|
|
175
221
|
], Render);
|
|
176
222
|
var Render$1 = Render;
|
|
@@ -13,4 +13,4 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
13
13
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
14
|
and limitations under the License.
|
|
15
15
|
***************************************************************************** */
|
|
16
|
-
function n(e,t,r,n){var o,
|
|
16
|
+
function n(e,t,r,n){var o,i=arguments.length,s=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(t,r,s):o(t,r))||s);return i>3&&s&&Object.defineProperty(t,r,s),s}class o extends e.Component{constructor(){super(...arguments),this.sortDirty=!1,this.visible=!0,this.alpha=1,this.zIndex=0,this.sortableChildren=!1,this.resolution=1}init(e){e&&Object.assign(this,e)}}o.componentName="Render",n([t.type("boolean")],o.prototype,"visible",void 0),n([t.type("number"),t.step(.1)],o.prototype,"alpha",void 0),n([t.type("number"),t.step(1)],o.prototype,"zIndex",void 0),n([t.type("boolean")],o.prototype,"sortableChildren",void 0),n([t.type("number"),t.step(.1)],o.prototype,"resolution",void 0);let i=class extends r.Renderer{constructor(){super(...arguments),this.name="Render"}init(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)}rendererUpdate(e){const t=e.getComponent("Render"),r=this.containerManager.getContainer(e.id);r.alpha=t.alpha,r.visible=t.visible,r.zIndex=t.zIndex}componentChanged(t){t.type!==e.OBSERVER_TYPE.ADD&&t.type!==e.OBSERVER_TYPE.REMOVE||this.add(t),t.type===e.OBSERVER_TYPE.CHANGE&&this.change(t),t.type===e.OBSERVER_TYPE.REMOVE&&this.remove(t)}add(e){if("Render"===e.component.name){this.setDirty(e);const t=e.component,r=this.containerManager.getContainer(e.gameObject.id);void 0!==t.resolution&&t.resolution>0&&this.applyResolution(r,t.resolution)}}change(e){if("Render"===e.component.name)if("zIndex"===e.prop.prop[0])this.setDirty(e);else if("resolution"===e.prop.prop[0]){const t=e.component,r=this.containerManager.getContainer(e.gameObject.id);void 0!==t.resolution&&t.resolution>0&&this.applyResolution(r,t.resolution)}}remove(e){if("Render"===e.component.name){this.containerManager.getContainer(e.gameObject.id).alpha=1}}setDirty(e){const t=e.gameObject.parent&&e.gameObject.parent.getComponent("Render");t&&(t.sortDirty=!0)}applyResolution(e,t){e&&window.requestAnimationFrame((()=>{if(e.children&&Array.isArray(e.children))for(const r of e.children)r.resolution=t}))}};i.systemName="Render",i=n([e.decorators.componentObserver({Render:["zIndex","resolution"]})],i);var s=i;exports.Render=o,exports.RenderSystem=s;
|
|
@@ -18,6 +18,7 @@ import { RendererSystem } from '@eva/plugin-renderer';
|
|
|
18
18
|
* - alpha - 控制对象透明度(0-1)
|
|
19
19
|
* - zIndex - 控制对象渲染层级
|
|
20
20
|
* - sortableChildren - 是否对子对象按 zIndex 排序
|
|
21
|
+
* - resolution - 渲染分辨率,值越大越清晰但性能消耗越大
|
|
21
22
|
*
|
|
22
23
|
* @example
|
|
23
24
|
* ```typescript
|
|
@@ -50,6 +51,13 @@ import { RendererSystem } from '@eva/plugin-renderer';
|
|
|
50
51
|
* container.addComponent(new Render({
|
|
51
52
|
* sortableChildren: true // 子对象将按 zIndex 排序
|
|
52
53
|
* }));
|
|
54
|
+
*
|
|
55
|
+
* // 设置渲染分辨率
|
|
56
|
+
* const text = new GameObject('text');
|
|
57
|
+
* text.addComponent(new Text({ text: 'High Resolution' }));
|
|
58
|
+
* text.addComponent(new Render({
|
|
59
|
+
* resolution: 2 // 2倍分辨率,使渲染更清晰
|
|
60
|
+
* }));
|
|
53
61
|
* ```
|
|
54
62
|
*/
|
|
55
63
|
export declare class Render extends Component<RenderParams> {
|
|
@@ -65,6 +73,8 @@ export declare class Render extends Component<RenderParams> {
|
|
|
65
73
|
zIndex: number;
|
|
66
74
|
/** 是否对子对象按 zIndex 排序 */
|
|
67
75
|
sortableChildren: boolean;
|
|
76
|
+
/** 渲染分辨率(值越大越清晰但性能消耗越大,默认为 1) */
|
|
77
|
+
resolution: number;
|
|
68
78
|
/**
|
|
69
79
|
* 初始化组件
|
|
70
80
|
* @param obj - 初始化参数
|
|
@@ -72,6 +82,7 @@ export declare class Render extends Component<RenderParams> {
|
|
|
72
82
|
* @param obj.alpha - 透明度
|
|
73
83
|
* @param obj.zIndex - 渲染层级
|
|
74
84
|
* @param obj.sortableChildren - 是否对子对象排序
|
|
85
|
+
* @param obj.resolution - 渲染分辨率
|
|
75
86
|
*/
|
|
76
87
|
init(obj?: RenderParams): void;
|
|
77
88
|
}
|
|
@@ -81,6 +92,7 @@ export declare interface RenderParams {
|
|
|
81
92
|
zIndex?: number;
|
|
82
93
|
visible?: boolean;
|
|
83
94
|
sortableChildren?: boolean;
|
|
95
|
+
resolution?: number;
|
|
84
96
|
}
|
|
85
97
|
|
|
86
98
|
export declare class RenderSystem extends Renderer {
|
|
@@ -96,6 +108,10 @@ export declare class RenderSystem extends Renderer {
|
|
|
96
108
|
change(changed: ComponentChanged): void;
|
|
97
109
|
remove(changed: ComponentChanged): void;
|
|
98
110
|
setDirty(changed: ComponentChanged): void;
|
|
111
|
+
/**
|
|
112
|
+
* 递归应用 resolution 到容器中所有支持该属性的子对象
|
|
113
|
+
*/
|
|
114
|
+
private applyResolution;
|
|
99
115
|
}
|
|
100
116
|
|
|
101
117
|
export { }
|
|
@@ -36,6 +36,7 @@ function __decorate(decorators, target, key, desc) {
|
|
|
36
36
|
* - alpha - 控制对象透明度(0-1)
|
|
37
37
|
* - zIndex - 控制对象渲染层级
|
|
38
38
|
* - sortableChildren - 是否对子对象按 zIndex 排序
|
|
39
|
+
* - resolution - 渲染分辨率,值越大越清晰但性能消耗越大
|
|
39
40
|
*
|
|
40
41
|
* @example
|
|
41
42
|
* ```typescript
|
|
@@ -68,6 +69,13 @@ function __decorate(decorators, target, key, desc) {
|
|
|
68
69
|
* container.addComponent(new Render({
|
|
69
70
|
* sortableChildren: true // 子对象将按 zIndex 排序
|
|
70
71
|
* }));
|
|
72
|
+
*
|
|
73
|
+
* // 设置渲染分辨率
|
|
74
|
+
* const text = new GameObject('text');
|
|
75
|
+
* text.addComponent(new Text({ text: 'High Resolution' }));
|
|
76
|
+
* text.addComponent(new Render({
|
|
77
|
+
* resolution: 2 // 2倍分辨率,使渲染更清晰
|
|
78
|
+
* }));
|
|
71
79
|
* ```
|
|
72
80
|
*/
|
|
73
81
|
class Render$2 extends Component {
|
|
@@ -83,6 +91,8 @@ class Render$2 extends Component {
|
|
|
83
91
|
this.zIndex = 0;
|
|
84
92
|
/** 是否对子对象按 zIndex 排序 */
|
|
85
93
|
this.sortableChildren = false;
|
|
94
|
+
/** 渲染分辨率(值越大越清晰但性能消耗越大,默认为 1) */
|
|
95
|
+
this.resolution = 1;
|
|
86
96
|
}
|
|
87
97
|
/**
|
|
88
98
|
* 初始化组件
|
|
@@ -91,6 +101,7 @@ class Render$2 extends Component {
|
|
|
91
101
|
* @param obj.alpha - 透明度
|
|
92
102
|
* @param obj.zIndex - 渲染层级
|
|
93
103
|
* @param obj.sortableChildren - 是否对子对象排序
|
|
104
|
+
* @param obj.resolution - 渲染分辨率
|
|
94
105
|
*/
|
|
95
106
|
init(obj) {
|
|
96
107
|
obj && Object.assign(this, obj);
|
|
@@ -111,7 +122,11 @@ __decorate([
|
|
|
111
122
|
], Render$2.prototype, "zIndex", void 0);
|
|
112
123
|
__decorate([
|
|
113
124
|
type('boolean')
|
|
114
|
-
], Render$2.prototype, "sortableChildren", void 0);
|
|
125
|
+
], Render$2.prototype, "sortableChildren", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
type('number'),
|
|
128
|
+
step(0.1)
|
|
129
|
+
], Render$2.prototype, "resolution", void 0);
|
|
115
130
|
|
|
116
131
|
let Render = class Render extends Renderer {
|
|
117
132
|
constructor() {
|
|
@@ -143,11 +158,27 @@ let Render = class Render extends Renderer {
|
|
|
143
158
|
add(changed) {
|
|
144
159
|
if (changed.component.name === 'Render') {
|
|
145
160
|
this.setDirty(changed);
|
|
161
|
+
// 初始化时应用 resolution
|
|
162
|
+
const component = changed.component;
|
|
163
|
+
const container = this.containerManager.getContainer(changed.gameObject.id);
|
|
164
|
+
if (component.resolution !== undefined && component.resolution > 0) {
|
|
165
|
+
this.applyResolution(container, component.resolution);
|
|
166
|
+
}
|
|
146
167
|
}
|
|
147
168
|
}
|
|
148
169
|
change(changed) {
|
|
149
|
-
if (changed.component.name === 'Render'
|
|
150
|
-
|
|
170
|
+
if (changed.component.name === 'Render') {
|
|
171
|
+
if (changed.prop.prop[0] === 'zIndex') {
|
|
172
|
+
this.setDirty(changed);
|
|
173
|
+
}
|
|
174
|
+
else if (changed.prop.prop[0] === 'resolution') {
|
|
175
|
+
// 当 resolution 改变时,重新应用到子对象
|
|
176
|
+
const component = changed.component;
|
|
177
|
+
const container = this.containerManager.getContainer(changed.gameObject.id);
|
|
178
|
+
if (component.resolution !== undefined && component.resolution > 0) {
|
|
179
|
+
this.applyResolution(container, component.resolution);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
151
182
|
}
|
|
152
183
|
}
|
|
153
184
|
remove(changed) {
|
|
@@ -162,11 +193,26 @@ let Render = class Render extends Renderer {
|
|
|
162
193
|
parentRender.sortDirty = true;
|
|
163
194
|
}
|
|
164
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* 递归应用 resolution 到容器中所有支持该属性的子对象
|
|
198
|
+
*/
|
|
199
|
+
applyResolution(container, resolution) {
|
|
200
|
+
if (!container)
|
|
201
|
+
return;
|
|
202
|
+
window.requestAnimationFrame(() => {
|
|
203
|
+
// 遍历容器的所有子对象
|
|
204
|
+
if (container.children && Array.isArray(container.children)) {
|
|
205
|
+
for (const child of container.children) {
|
|
206
|
+
child.resolution = resolution;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
}
|
|
165
211
|
};
|
|
166
212
|
Render.systemName = 'Render';
|
|
167
213
|
Render = __decorate([
|
|
168
214
|
decorators.componentObserver({
|
|
169
|
-
Render: ['zIndex'],
|
|
215
|
+
Render: ['zIndex', 'resolution'],
|
|
170
216
|
})
|
|
171
217
|
], Render);
|
|
172
218
|
var Render$1 = Render;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eva/plugin-renderer-render",
|
|
3
|
-
"version": "2.0.1-beta.
|
|
3
|
+
"version": "2.0.1-beta.29",
|
|
4
4
|
"description": "@eva/plugin-renderer-render",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "dist/plugin-renderer-render.esm.js",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"homepage": "https://eva.js.org",
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@eva/inspector-decorator": "^0.0.5",
|
|
22
|
-
"@eva/plugin-renderer": "2.0.1-beta.
|
|
23
|
-
"@eva/renderer-adapter": "2.0.1-beta.
|
|
24
|
-
"@eva/eva.js": "2.0.1-beta.
|
|
22
|
+
"@eva/plugin-renderer": "2.0.1-beta.29",
|
|
23
|
+
"@eva/renderer-adapter": "2.0.1-beta.29",
|
|
24
|
+
"@eva/eva.js": "2.0.1-beta.29",
|
|
25
25
|
"pixi.js": "^8.8.1"
|
|
26
26
|
}
|
|
27
27
|
}
|