goap sample
This commit is contained in:
11
demo/libs/framework/framework.d.ts
vendored
11
demo/libs/framework/framework.d.ts
vendored
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
2
demo/libs/framework/framework.min.js
vendored
2
demo/libs/framework/framework.min.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user