取消wxgame依赖,去除debugRender与camera依赖
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
///<reference path="./Renderer.ts" />
|
||||
module es {
|
||||
export class DefaultRenderer extends Renderer {
|
||||
constructor() {
|
||||
super(0, null);
|
||||
}
|
||||
|
||||
public render(scene: Scene) {
|
||||
let cam = this.camera ? this.camera : scene.camera;
|
||||
this.beginRender(cam);
|
||||
|
||||
for (let i = 0; i < scene.renderableComponents.count; i++) {
|
||||
let renderable = scene.renderableComponents.buffer[i];
|
||||
if (renderable.enabled && renderable.isVisibleFromCamera(cam))
|
||||
this.renderAfterStateCheck(renderable, cam);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,25 +20,6 @@ module es {
|
||||
* 可渲染的可见性。状态的改变会调用onBecameVisible/onBecameInvisible方法
|
||||
*/
|
||||
isVisible: boolean;
|
||||
|
||||
/**
|
||||
* 如果renderableComponent的边界与camera.bounds相交 返回true
|
||||
* 用于处理isVisible标志的状态开关
|
||||
* 在渲染方法中使用这个方法来决定是否渲染
|
||||
* @param camera
|
||||
*/
|
||||
isVisibleFromCamera(camera: Camera);
|
||||
|
||||
/**
|
||||
* 由渲染器调用。可以使用摄像机进行剔除
|
||||
* @param camera
|
||||
*/
|
||||
render(camera: Camera);
|
||||
|
||||
/**
|
||||
* 只有在没有碰撞器时才呈现边界。总是在原点上渲染一个正方形。
|
||||
*/
|
||||
debugRender(camera: Camera);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,12 +3,6 @@ module es {
|
||||
* 渲染器被添加到场景中并处理所有对RenderableComponent的实际调用
|
||||
*/
|
||||
export abstract class Renderer {
|
||||
/**
|
||||
* 渲染器用于渲染的摄像机(实际上是用于剔除的变换矩阵和边界)
|
||||
* 不是必须的
|
||||
* Renderer子类可以选择调用beginRender时使用的摄像头
|
||||
*/
|
||||
public camera: Camera;
|
||||
/**
|
||||
* 指定场景调用渲染器的顺序
|
||||
*/
|
||||
@@ -20,8 +14,7 @@ module es {
|
||||
*/
|
||||
public shouldDebugRender: boolean = true;
|
||||
|
||||
protected constructor(renderOrder: number, camera: Camera = null) {
|
||||
this.camera = camera;
|
||||
protected constructor(renderOrder: number) {
|
||||
this.renderOrder = renderOrder;
|
||||
}
|
||||
|
||||
@@ -52,34 +45,5 @@ module es {
|
||||
public compareTo(other: Renderer): number {
|
||||
return this.renderOrder - other.renderOrder;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param cam
|
||||
*/
|
||||
protected beginRender(cam: Camera) {
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param renderable
|
||||
* @param cam
|
||||
*/
|
||||
protected renderAfterStateCheck(renderable: IRenderable, cam: Camera) {
|
||||
renderable.render(cam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 默认debugRender方法只循环遍历所有实体并调用entity.debugRender
|
||||
* @param scene
|
||||
* @param cam
|
||||
*/
|
||||
protected debugRender(scene: Scene, cam: Camera){
|
||||
for (let i = 0; i < scene.entities.count; i ++){
|
||||
let entity = scene.entities.buffer[i];
|
||||
if (entity.enabled)
|
||||
entity.debugRender(cam);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user