mirror of
https://github.com/unanmed/HumanBreak.git
synced 2026-11-12 17:04:31 +08:00
refactor: Transform 可绑定多个更新对象
This commit is contained in:
1 parent
028e21b6c2
commit
ea047a4af6
5 files changed
+62
-46
No files matched your search
@@ -7,7 +7,7 @@ import { EffectBase } from './base';
|
||||
|
||||
export class Image3DEffect
|
||||
extends EffectBase<void>
|
||||
implements ITransformUpdatable
|
||||
implements ITransformUpdatable<Transform3D>
|
||||
{
|
||||
/** 图片的模型变换 */
|
||||
private model: Transform3D = new Transform3D();
|
||||
@@ -65,7 +65,7 @@ export class Image3DEffect
|
||||
* @param model 模型变换
|
||||
*/
|
||||
setModel(model: Transform3D) {
|
||||
this.model.bind();
|
||||
this.model.unbind(this);
|
||||
this.model = model;
|
||||
model.bind(this);
|
||||
}
|
||||
@@ -75,7 +75,7 @@ export class Image3DEffect
|
||||
* @param model 视角变换
|
||||
*/
|
||||
setView(view: Transform3D) {
|
||||
this.view.bind();
|
||||
this.view.unbind(this);
|
||||
this.view = view;
|
||||
view.bind(this);
|
||||
}
|
||||
@@ -85,7 +85,7 @@ export class Image3DEffect
|
||||
* @param model 投影变换
|
||||
*/
|
||||
setProj(proj: Transform3D) {
|
||||
this.proj.bind();
|
||||
this.proj.unbind(this);
|
||||
this.proj = proj;
|
||||
proj.bind(this);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import {
|
||||
MotaOffscreenCanvas2D,
|
||||
RenderItem,
|
||||
Transform
|
||||
} from '@motajs/render-core';
|
||||
import { MotaOffscreenCanvas2D, RenderItem } from '@motajs/render-core';
|
||||
import { ILayerState, state } from '@user/data-state';
|
||||
import { IMapRenderer } from './types';
|
||||
import { MapRenderer } from './renderer';
|
||||
@@ -51,10 +47,6 @@ export class MapRender extends RenderItem {
|
||||
this.sizeGL(width, height);
|
||||
}
|
||||
|
||||
updateTransform(transform: Transform): void {
|
||||
super.updateTransform(transform);
|
||||
}
|
||||
|
||||
protected render(canvas: MotaOffscreenCanvas2D): void {
|
||||
this.renderer.clear(true, true);
|
||||
const map = this.renderer.render();
|
||||
|
||||
@@ -42,7 +42,7 @@ import {
|
||||
DYNAMIC_RESERVE,
|
||||
MOVING_TOLERANCE
|
||||
} from '../shared';
|
||||
import { ITransformUpdatable, Transform } from '@motajs/render-core';
|
||||
import { Transform } from '@motajs/render-core';
|
||||
import { MapViewport } from './viewport';
|
||||
import { INSTANCED_COUNT } from './constant';
|
||||
import { StaticBlockStatus } from './status';
|
||||
@@ -54,11 +54,7 @@ const enum BackgroundType {
|
||||
}
|
||||
|
||||
export class MapRenderer
|
||||
implements
|
||||
IMapRenderer,
|
||||
IMovingRenderer,
|
||||
ITransformUpdatable<Transform>,
|
||||
IMapDataGetter
|
||||
implements IMapRenderer, IMovingRenderer, IMapDataGetter
|
||||
{
|
||||
//#region 实例属性
|
||||
|
||||
@@ -296,7 +292,7 @@ export class MapRenderer
|
||||
//#region 状态控制
|
||||
|
||||
setTransform(transform: Transform): void {
|
||||
this.transform.bind();
|
||||
this.transform.unbind(this);
|
||||
this.transform = transform;
|
||||
transform.bind(this);
|
||||
this.viewport.bindTransform(transform);
|
||||
|
||||
Reference in new issue
Block a user