修复因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

View File

@@ -31,7 +31,7 @@
data-content-width="640"
data-content-height="1136"
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">
</div>
<script>

View File

@@ -262,6 +262,17 @@ declare module es {
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 {
class WorldState implements IEquatable<WorldState> {
values: number;

View File

@@ -1289,6 +1289,36 @@ var es;
es.ActionPlanner = ActionPlanner;
})(es || (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) {
var WorldState = (function () {
function WorldState(planner, values, dontcare) {
@@ -1483,7 +1513,6 @@ var es;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.startDebugUpdate();
es.Time.update(egret.getTimer());
es.Input.update();
if (!this._scene) return [3, 2];
@@ -1507,9 +1536,7 @@ var es;
_a.sent();
this.addChild(this._scene);
_a.label = 2;
case 2:
this.endDebugUpdate();
return [4, this.draw()];
case 2: return [4, this.draw()];
case 3:
_a.sent();
return [2];
@@ -4902,6 +4929,8 @@ var es;
ComponentList.prototype.deregisterAllComponents = function () {
for (var i = 0; i < this._components.length; i++) {
var component = this._components.buffer[i];
if (!component)
continue;
if (component instanceof es.RenderableComponent) {
if (component.displayObject.parent)
component.displayObject.parent.removeChild(component.displayObject);
@@ -4971,6 +5000,8 @@ var es;
}
};
ComponentList.prototype.handleRemove = function (component) {
if (!component)
return;
if (component instanceof es.RenderableComponent) {
if (component.displayObject.parent)
component.displayObject.parent.removeChild(component.displayObject);

File diff suppressed because one or more lines are too long

View File

@@ -37,7 +37,7 @@ egret_native.egretStart = function () {
contentWidth: 640,
contentHeight: 1136,
showPaintRect: false,
showFPS: true,
showFPS: false,
fpsStyles: "x:0,y:0,size:12,textColor:0xffffff,bgAlpha:0.9",
showLog: false,
logFilter: "",