判断接口更改、新增FrameUpdated核心事件

This commit is contained in:
yhh
2020-11-24 12:15:20 +08:00
parent e67f568069
commit 5c0ee92d85
8 changed files with 14 additions and 15 deletions

View File

@@ -70,7 +70,8 @@ declare module es {
enum CoreEvents { enum CoreEvents {
GraphicsDeviceReset = 0, GraphicsDeviceReset = 0,
SceneChanged = 1, SceneChanged = 1,
OrientationChanged = 2 OrientationChanged = 2,
FrameUpdated = 3
} }
} }
declare module es { declare module es {

View File

@@ -358,6 +358,7 @@ var es;
this.height = height; this.height = height;
Core._instance = this; Core._instance = this;
Core.emitter = new es.Emitter(); Core.emitter = new es.Emitter();
Core.emitter.addObserver(es.CoreEvents.FrameUpdated, this.update, this);
Core.registerGlobalManager(this._timerManager); Core.registerGlobalManager(this._timerManager);
this.initialize(); this.initialize();
} }
@@ -510,6 +511,7 @@ var es;
CoreEvents[CoreEvents["GraphicsDeviceReset"] = 0] = "GraphicsDeviceReset"; CoreEvents[CoreEvents["GraphicsDeviceReset"] = 0] = "GraphicsDeviceReset";
CoreEvents[CoreEvents["SceneChanged"] = 1] = "SceneChanged"; CoreEvents[CoreEvents["SceneChanged"] = 1] = "SceneChanged";
CoreEvents[CoreEvents["OrientationChanged"] = 2] = "OrientationChanged"; CoreEvents[CoreEvents["OrientationChanged"] = 2] = "OrientationChanged";
CoreEvents[CoreEvents["FrameUpdated"] = 3] = "FrameUpdated";
})(CoreEvents = es.CoreEvents || (es.CoreEvents = {})); })(CoreEvents = es.CoreEvents || (es.CoreEvents = {}));
})(es || (es = {})); })(es || (es = {}));
var es; var es;
@@ -866,10 +868,6 @@ var es;
this.renderableComponents.updateList(); this.renderableComponents.updateList();
}; };
Scene.prototype.render = function () { Scene.prototype.render = function () {
if (this._renderers.length == 0) {
console.error("场景中没有渲染器!");
return;
}
for (var i = 0; i < this._renderers.length; i++) { for (var i = 0; i < this._renderers.length; i++) {
this._renderers[i].render(this); this._renderers[i].render(this);
} }
@@ -1351,7 +1349,7 @@ var es;
return IUpdatableComparer; return IUpdatableComparer;
}()); }());
es.IUpdatableComparer = IUpdatableComparer; es.IUpdatableComparer = IUpdatableComparer;
es.isIUpdatable = function (props) { return typeof props['js'] !== 'undefined'; }; es.isIUpdatable = function (props) { return typeof props['update'] !== 'undefined'; };
})(es || (es = {})); })(es || (es = {}));
var es; var es;
(function (es) { (function (es) {
@@ -6286,7 +6284,7 @@ var es;
return Pool; return Pool;
}()); }());
es.Pool = Pool; es.Pool = Pool;
es.isIPoolable = function (props) { return typeof props['js'] !== 'undefined'; }; es.isIPoolable = function (props) { return typeof props['reset'] !== 'undefined'; };
})(es || (es = {})); })(es || (es = {}));
var RandomUtils = (function () { var RandomUtils = (function () {
function RandomUtils() { function RandomUtils() {

File diff suppressed because one or more lines are too long

View File

@@ -17,5 +17,5 @@ module es {
} }
} }
export var isIUpdatable = (props: any): props is IUpdatable => typeof (props as IUpdatable)['js'] !== 'undefined'; export var isIUpdatable = (props: any): props is IUpdatable => typeof (props as IUpdatable)['update'] !== 'undefined';
} }

View File

@@ -31,6 +31,7 @@ module es {
Core._instance = this; Core._instance = this;
Core.emitter = new Emitter<CoreEvents>(); Core.emitter = new Emitter<CoreEvents>();
Core.emitter.addObserver(CoreEvents.FrameUpdated, this.update, this);
Core.registerGlobalManager(this._timerManager); Core.registerGlobalManager(this._timerManager);

View File

@@ -12,5 +12,9 @@ module es {
* 当设备方向改变时触发 * 当设备方向改变时触发
*/ */
OrientationChanged, OrientationChanged,
/**
* 当每帧事件触发时
*/
FrameUpdated,
} }
} }

View File

@@ -124,11 +124,6 @@ module es {
} }
public render() { public render() {
if (this._renderers.length == 0) {
console.error("场景中没有渲染器!");
return;
}
for (let i = 0; i < this._renderers.length; i++) { for (let i = 0; i < this._renderers.length; i++) {
this._renderers[i].render(this); this._renderers[i].render(this);
} }

View File

@@ -65,5 +65,5 @@ module es {
reset(); reset();
} }
export var isIPoolable = (props: any): props is IPoolable => typeof (props as IPoolable)['js'] !== 'undefined'; export var isIPoolable = (props: any): props is IPoolable => typeof (props as IPoolable)['reset'] !== 'undefined';
} }