修复因fastlist component丢失问题

This commit is contained in:
yhh
2020-10-30 20:08:26 +08:00
parent c9fc9ffea5
commit 8191359953
9 changed files with 59 additions and 14 deletions
+1 -1
View File
@@ -31,7 +31,7 @@
data-content-width="640" data-content-width="640"
data-content-height="1136" data-content-height="1136"
data-multi-fingered="2" data-multi-fingered="2"
data-show-fps="true" data-show-log="false" data-show-fps="false" data-show-log="false"
data-show-fps-style="x:0,y:0,size:12,textColor:0xffffff,bgAlpha:0.9"> data-show-fps-style="x:0,y:0,size:12,textColor:0xffffff,bgAlpha:0.9">
</div> </div>
<script> <script>
+11
View File
@@ -262,6 +262,17 @@ declare module es {
findActionIndex(action: Action): number; findActionIndex(action: Action): number;
} }
} }
declare module es {
abstract class Agent {
actions: Action[];
_planner: ActionPlanner;
constructor();
plan(debugPlan?: boolean): boolean;
hasActionPlan(): boolean;
abstract getWorldState(): WorldState;
abstract getGoalState(): WorldState;
}
}
declare module es { declare module es {
class WorldState implements IEquatable<WorldState> { class WorldState implements IEquatable<WorldState> {
values: number; values: number;
+35 -4
View File
@@ -1289,6 +1289,36 @@ var es;
es.ActionPlanner = ActionPlanner; es.ActionPlanner = ActionPlanner;
})(es || (es = {})); })(es || (es = {}));
var es; var es;
(function (es) {
var Agent = (function () {
function Agent() {
this._planner = new es.ActionPlanner();
}
Agent.prototype.plan = function (debugPlan) {
if (debugPlan === void 0) { debugPlan = false; }
var nodes = null;
if (debugPlan)
nodes = [];
this.actions = this._planner.plan(this.getWorldState(), this.getGoalState(), nodes);
if (nodes != null && nodes.length > 0) {
console.log("---- ActionPlanner plan ----");
console.log("plan cost = " + nodes[nodes.length - 1].costSoFar);
console.log(" start" + "\t" + this.getWorldState().describe(this._planner));
for (var i = 0; i < nodes.length; i++) {
console.log(i + ": " + nodes[i].action.name + "\t" + nodes[i].worldState.describe(this._planner));
es.Pool.free(nodes[i]);
}
}
return this.hasActionPlan();
};
Agent.prototype.hasActionPlan = function () {
return this.actions != null && this.actions.length > 0;
};
return Agent;
}());
es.Agent = Agent;
})(es || (es = {}));
var es;
(function (es) { (function (es) {
var WorldState = (function () { var WorldState = (function () {
function WorldState(planner, values, dontcare) { function WorldState(planner, values, dontcare) {
@@ -1483,7 +1513,6 @@ var es;
return __generator(this, function (_a) { return __generator(this, function (_a) {
switch (_a.label) { switch (_a.label) {
case 0: case 0:
this.startDebugUpdate();
es.Time.update(egret.getTimer()); es.Time.update(egret.getTimer());
es.Input.update(); es.Input.update();
if (!this._scene) return [3, 2]; if (!this._scene) return [3, 2];
@@ -1507,9 +1536,7 @@ var es;
_a.sent(); _a.sent();
this.addChild(this._scene); this.addChild(this._scene);
_a.label = 2; _a.label = 2;
case 2: case 2: return [4, this.draw()];
this.endDebugUpdate();
return [4, this.draw()];
case 3: case 3:
_a.sent(); _a.sent();
return [2]; return [2];
@@ -4902,6 +4929,8 @@ var es;
ComponentList.prototype.deregisterAllComponents = function () { ComponentList.prototype.deregisterAllComponents = function () {
for (var i = 0; i < this._components.length; i++) { for (var i = 0; i < this._components.length; i++) {
var component = this._components.buffer[i]; var component = this._components.buffer[i];
if (!component)
continue;
if (component instanceof es.RenderableComponent) { if (component instanceof es.RenderableComponent) {
if (component.displayObject.parent) if (component.displayObject.parent)
component.displayObject.parent.removeChild(component.displayObject); component.displayObject.parent.removeChild(component.displayObject);
@@ -4971,6 +5000,8 @@ var es;
} }
}; };
ComponentList.prototype.handleRemove = function (component) { ComponentList.prototype.handleRemove = function (component) {
if (!component)
return;
if (component instanceof es.RenderableComponent) { if (component instanceof es.RenderableComponent) {
if (component.displayObject.parent) if (component.displayObject.parent)
component.displayObject.parent.removeChild(component.displayObject); component.displayObject.parent.removeChild(component.displayObject);
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -37,7 +37,7 @@ egret_native.egretStart = function () {
contentWidth: 640, contentWidth: 640,
contentHeight: 1136, contentHeight: 1136,
showPaintRect: false, showPaintRect: false,
showFPS: true, showFPS: false,
fpsStyles: "x:0,y:0,size:12,textColor:0xffffff,bgAlpha:0.9", fpsStyles: "x:0,y:0,size:12,textColor:0xffffff,bgAlpha:0.9",
showLog: false, showLog: false,
logFilter: "", logFilter: "",
+5 -4
View File
@@ -1513,7 +1513,6 @@ var es;
return __generator(this, function (_a) { return __generator(this, function (_a) {
switch (_a.label) { switch (_a.label) {
case 0: case 0:
this.startDebugUpdate();
es.Time.update(egret.getTimer()); es.Time.update(egret.getTimer());
es.Input.update(); es.Input.update();
if (!this._scene) return [3, 2]; if (!this._scene) return [3, 2];
@@ -1537,9 +1536,7 @@ var es;
_a.sent(); _a.sent();
this.addChild(this._scene); this.addChild(this._scene);
_a.label = 2; _a.label = 2;
case 2: case 2: return [4, this.draw()];
this.endDebugUpdate();
return [4, this.draw()];
case 3: case 3:
_a.sent(); _a.sent();
return [2]; return [2];
@@ -4932,6 +4929,8 @@ var es;
ComponentList.prototype.deregisterAllComponents = function () { ComponentList.prototype.deregisterAllComponents = function () {
for (var i = 0; i < this._components.length; i++) { for (var i = 0; i < this._components.length; i++) {
var component = this._components.buffer[i]; var component = this._components.buffer[i];
if (!component)
continue;
if (component instanceof es.RenderableComponent) { if (component instanceof es.RenderableComponent) {
if (component.displayObject.parent) if (component.displayObject.parent)
component.displayObject.parent.removeChild(component.displayObject); component.displayObject.parent.removeChild(component.displayObject);
@@ -5001,6 +5000,8 @@ var es;
} }
}; };
ComponentList.prototype.handleRemove = function (component) { ComponentList.prototype.handleRemove = function (component) {
if (!component)
return;
if (component instanceof es.RenderableComponent) { if (component instanceof es.RenderableComponent) {
if (component.displayObject.parent) if (component.displayObject.parent)
component.displayObject.parent.removeChild(component.displayObject); component.displayObject.parent.removeChild(component.displayObject);
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -232,7 +232,7 @@ module es {
} }
protected async update() { protected async update() {
this.startDebugUpdate(); // this.startDebugUpdate();
// 更新我们所有的系统管理器 // 更新我们所有的系统管理器
Time.update(egret.getTimer()); Time.update(egret.getTimer());
@@ -266,7 +266,7 @@ module es {
} }
} }
this.endDebugUpdate(); // this.endDebugUpdate();
await this.draw(); await this.draw();
} }
+2
View File
@@ -75,6 +75,7 @@ module es {
for (let i = 0; i < this._components.length; i++) { for (let i = 0; i < this._components.length; i++) {
let component = this._components.buffer[i]; let component = this._components.buffer[i];
if (!component) continue;
// 处理渲染层列表 // 处理渲染层列表
if (component instanceof RenderableComponent) { if (component instanceof RenderableComponent) {
if (component.displayObject.parent) if (component.displayObject.parent)
@@ -161,6 +162,7 @@ module es {
} }
public handleRemove(component: Component) { public handleRemove(component: Component) {
if (!component) return;
// 处理渲染层列表 // 处理渲染层列表
if (component instanceof RenderableComponent) { if (component instanceof RenderableComponent) {
if (component.displayObject.parent) if (component.displayObject.parent)