demo 更新

This commit is contained in:
yhh
2020-08-21 19:21:40 +08:00
parent 6d4d787530
commit 646d1806ec
144 changed files with 51196 additions and 2531 deletions
+2444
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+19
View File
@@ -328,6 +328,7 @@ declare module es {
onAddedToScene(): void;
onRemovedFromScene(): void;
update(): void;
debugRender(): void;
addComponent<T extends Component>(component: T): T;
getComponent<T extends Component>(type: any): T;
hasComponent<T extends Component>(type: any): boolean;
@@ -923,6 +924,7 @@ declare module es {
onEntityTransformChanged(comp: transform.Component): void;
onEntityEnabled(): void;
onEntityDisabled(): void;
debugRender(): void;
}
}
declare module es {
@@ -1008,6 +1010,7 @@ declare module es {
isVisible: boolean;
isVisibleFromCamera(camera: Camera): any;
render(camera: Camera): any;
debugRender(): any;
}
class RenderableComparer {
compare(self: IRenderable, other: IRenderable): number;
@@ -1152,6 +1155,9 @@ declare module es {
abstract class Renderer {
camera: Camera;
readonly renderOrder: number;
renderTexture: egret.RenderTexture;
shouldDebugRender: boolean;
readonly wantsToRenderToSceneRenderTarget: boolean;
protected constructor(renderOrder: number, camera?: Camera);
onAddedToScene(scene: Scene): void;
unload(): void;
@@ -1160,6 +1166,7 @@ declare module es {
compareTo(other: Renderer): number;
protected beginRender(cam: Camera): void;
protected renderAfterStateCheck(renderable: IRenderable, cam: Camera): void;
protected debugRender(scene: Scene, cam: Camera): void;
}
}
declare module es {
@@ -1168,9 +1175,21 @@ declare module es {
render(scene: Scene): void;
}
}
declare module es {
class RenderLayerExcludeRenderer extends Renderer {
excludedRenderLayers: number[];
constructor(renderOrder: number, ...excludedRenderLayers: number[]);
render(scene: es.Scene): void;
protected debugRender(scene: es.Scene, cam: es.Camera): void;
}
}
declare module es {
class ScreenSpaceRenderer extends Renderer {
renderLayers: number[];
constructor(renderOrder: number, ...renderLayers: number[]);
render(scene: Scene): void;
protected debugRender(scene: es.Scene, cam: es.Camera): void;
onSceneBackBufferSizeChanged(newWidth: number, newHeight: number): void;
}
}
declare module es {
+124 -26
View File
@@ -1536,6 +1536,9 @@ var es;
Entity.prototype.update = function () {
this.components.update();
};
Entity.prototype.debugRender = function () {
this.components.debugRender();
};
Entity.prototype.addComponent = function (component) {
component.entity = this;
this.components.add(component);
@@ -2712,6 +2715,8 @@ var es;
this._areBoundsDirty = true;
};
RenderableComponent.prototype.isVisibleFromCamera = function (camera) {
if (!camera)
return false;
this.isVisible = camera.bounds.intersects(this.displayObject.getBounds().union(this.bounds));
return this.isVisible;
};
@@ -4230,6 +4235,12 @@ var es;
for (var i = 0; i < this._components.length; i++)
this._components[i].onDisabled();
};
ComponentList.prototype.debugRender = function () {
for (var i = 0; i < this._components.length; i++) {
if (this._components[i].enabled)
this._components[i].debugRender();
}
};
ComponentList.compareUpdatableOrder = new es.IUpdatableComparer();
return ComponentList;
}());
@@ -5444,9 +5455,17 @@ var es;
function Renderer(renderOrder, camera) {
if (camera === void 0) { camera = null; }
this.renderOrder = 0;
this.shouldDebugRender = true;
this.camera = camera;
this.renderOrder = renderOrder;
}
Object.defineProperty(Renderer.prototype, "wantsToRenderToSceneRenderTarget", {
get: function () {
return !!this.renderTexture;
},
enumerable: true,
configurable: true
});
Renderer.prototype.onAddedToScene = function (scene) {
};
Renderer.prototype.unload = function () {
@@ -5461,6 +5480,13 @@ var es;
Renderer.prototype.renderAfterStateCheck = function (renderable, cam) {
renderable.render(cam);
};
Renderer.prototype.debugRender = function (scene, cam) {
for (var i = 0; i < scene.entities.count; i++) {
var entity = scene.entities.buffer[i];
if (entity.enabled)
entity.debugRender();
}
};
return Renderer;
}());
es.Renderer = Renderer;
@@ -5486,13 +5512,85 @@ var es;
es.DefaultRenderer = DefaultRenderer;
})(es || (es = {}));
var es;
(function (es) {
var RenderLayerExcludeRenderer = (function (_super) {
__extends(RenderLayerExcludeRenderer, _super);
function RenderLayerExcludeRenderer(renderOrder) {
var excludedRenderLayers = [];
for (var _i = 1; _i < arguments.length; _i++) {
excludedRenderLayers[_i - 1] = arguments[_i];
}
var _this = _super.call(this, renderOrder, null) || this;
_this.excludedRenderLayers = excludedRenderLayers;
return _this;
}
RenderLayerExcludeRenderer.prototype.render = function (scene) {
var cam = this.camera ? this.camera : scene.camera;
this.beginRender(cam);
for (var i = 0; i < scene.renderableComponents.count; i++) {
var renderable = scene.renderableComponents.buffer[i];
if (!this.excludedRenderLayers.contains(renderable.renderLayer) && renderable.enabled &&
renderable.isVisibleFromCamera(cam))
this.renderAfterStateCheck(renderable, cam);
}
if (this.shouldDebugRender && es.Core.debugRenderEndabled)
this.debugRender(scene, cam);
};
RenderLayerExcludeRenderer.prototype.debugRender = function (scene, cam) {
for (var i = 0; i < scene.renderableComponents.count; i++) {
var renderable = scene.renderableComponents.buffer[i];
if (!this.excludedRenderLayers.contains(renderable.renderLayer) && renderable.enabled &&
renderable.isVisibleFromCamera(cam))
renderable.debugRender();
}
_super.prototype.debugRender.call(this, scene, cam);
};
return RenderLayerExcludeRenderer;
}(es.Renderer));
es.RenderLayerExcludeRenderer = RenderLayerExcludeRenderer;
})(es || (es = {}));
var es;
(function (es) {
var ScreenSpaceRenderer = (function (_super) {
__extends(ScreenSpaceRenderer, _super);
function ScreenSpaceRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
function ScreenSpaceRenderer(renderOrder) {
var renderLayers = [];
for (var _i = 1; _i < arguments.length; _i++) {
renderLayers[_i - 1] = arguments[_i];
}
var _this = _super.call(this, renderOrder, null) || this;
renderLayers.sort();
renderLayers.reverse();
_this.renderLayers = renderLayers;
return _this;
}
ScreenSpaceRenderer.prototype.render = function (scene) {
this.beginRender(this.camera);
for (var i = 0; i < this.renderLayers.length; i++) {
var renderables = scene.renderableComponents.componentsWithRenderLayer(this.renderLayers[i]);
for (var j = 0; j < renderables.length; j++) {
var renderable = renderables[j];
if (renderable.enabled && renderable.isVisibleFromCamera(this.camera))
this.renderAfterStateCheck(renderable, this.camera);
}
}
if (this.shouldDebugRender && es.Core.debugRenderEndabled)
this.debugRender(scene, this.camera);
};
ScreenSpaceRenderer.prototype.debugRender = function (scene, cam) {
for (var i = 0; i < this.renderLayers.length; i++) {
var renderables = scene.renderableComponents.componentsWithRenderLayer(this.renderLayers[i]);
for (var j = 0; j < renderables.length; j++) {
var entity = renderables[j];
if (entity.enabled)
entity.debugRender();
}
}
};
ScreenSpaceRenderer.prototype.onSceneBackBufferSizeChanged = function (newWidth, newHeight) {
_super.prototype.onSceneBackBufferSizeChanged.call(this, newWidth, newHeight);
if (!this.camera)
this.camera = es.Core.scene.createEntity("screenspace camera").addComponent(new es.Camera());
};
return ScreenSpaceRenderer;
}(es.Renderer));
@@ -8102,22 +8200,21 @@ var es;
};
TiledMapLoader.parseTmxTileset = function (map, xTileset) {
return __awaiter(this, void 0, void 0, function () {
var xFirstGid, firstGid, source, xDocTileset, tileset;
var xFirstGid, firstGid, source, xDocTileset;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
xFirstGid = xTileset["firstgid"];
firstGid = xFirstGid;
source = xTileset["image"];
source = xTileset["source"];
if (!(source != undefined)) return [3, 2];
source = map.tmxDirectory + source;
return [4, RES.getResByUrl(source, null, this, RES.ResourceItem.TYPE_IMAGE).catch(function (err) {
return [4, RES.getResByUrl(source).catch(function (err) {
throw new Error(err);
})];
case 1:
xDocTileset = _a.sent();
tileset = this.loadTmxTileset(new es.TmxTileset(), map, xDocTileset["tileset"], firstGid);
return [2, tileset];
return [2, this.loadTmxTileset(new es.TmxTileset(), map, xDocTileset["tileset"], firstGid)];
case 2: return [2, this.loadTmxTileset(new es.TmxTileset(), map, xTileset, firstGid)];
}
});
@@ -8125,9 +8222,9 @@ var es;
};
TiledMapLoader.loadTmxTileset = function (tileset, map, xTileset, firstGid) {
return __awaiter(this, void 0, void 0, function () {
var xImage, _a, _i, _b, e, _c, _d, _e, t, xTile, tile, id, y, column, x;
return __generator(this, function (_f) {
switch (_f.label) {
var xImage, _i, _a, e, _b, _c, _d, t, xTile, tile, id, y, column, x;
return __generator(this, function (_e) {
switch (_e.label) {
case 0:
tileset.map = map;
tileset.firstGid = firstGid;
@@ -8141,38 +8238,39 @@ var es;
tileset.tileOffset = this.parseTmxTileOffset(xTileset["tileoffset"]);
xImage = xTileset["image"];
if (!xImage) return [3, 2];
_a = tileset;
return [4, this.loadTmxImage(new es.TmxImage(), xTileset, map.tmxDirectory).catch(function (err) {
return [4, this.loadTmxImage(new es.TmxImage(), xTileset, map.tmxDirectory).then(function (image) {
tileset.image = image;
}).catch(function (err) {
throw new Error(err);
})];
case 1:
_a.image = _f.sent();
_f.label = 2;
_e.sent();
_e.label = 2;
case 2:
tileset.terrains = [];
if (xTileset["terrains"])
for (_i = 0, _b = xTileset["terrains"]; _i < _b.length; _i++) {
e = _b[_i];
for (_i = 0, _a = xTileset["terrains"]; _i < _a.length; _i++) {
e = _a[_i];
tileset.terrains.push(this.parseTmxTerrain(e));
}
tileset.tiles = new Map();
_c = [];
for (_d in xTileset["tiles"])
_c.push(_d);
_e = 0;
_f.label = 3;
_b = [];
for (_c in xTileset["tiles"])
_b.push(_c);
_d = 0;
_e.label = 3;
case 3:
if (!(_e < _c.length)) return [3, 6];
t = _c[_e];
if (!(_d < _b.length)) return [3, 6];
t = _b[_d];
if (!xTileset["tiles"].hasOwnProperty(t)) return [3, 5];
xTile = xTileset["tiles"][t];
return [4, this.loadTmxTilesetTile(new es.TmxTilesetTile(), tileset, xTile, tileset.terrains, map.tmxDirectory)];
case 4:
tile = _f.sent();
tile = _e.sent();
tileset.tiles.set(tile.id == undefined ? Number(t) + 1 : tile.id, tile);
_f.label = 5;
_e.label = 5;
case 5:
_e++;
_d++;
return [3, 3];
case 6:
tileset.properties = this.parsePropertyDict(xTileset["properties"]);
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long