@nice2dev/game-engine 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ai/BehaviorTree.js +1215 -0
- package/dist/cjs/ai/BehaviorTree.js.map +1 -0
- package/dist/cjs/ai/StateMachine.js +783 -0
- package/dist/cjs/ai/StateMachine.js.map +1 -0
- package/dist/cjs/editor/ShaderGraph.js +1616 -0
- package/dist/cjs/editor/ShaderGraph.js.map +1 -0
- package/dist/cjs/editor/TimelineEditor.js +819 -0
- package/dist/cjs/editor/TimelineEditor.js.map +1 -0
- package/dist/cjs/export/GodotExporter.js +1102 -0
- package/dist/cjs/export/GodotExporter.js.map +1 -0
- package/dist/cjs/export/PlatformExporter.js +236 -0
- package/dist/cjs/export/PlatformExporter.js.map +1 -0
- package/dist/cjs/export/ThreeJSExporter.js +1116 -0
- package/dist/cjs/export/ThreeJSExporter.js.map +1 -0
- package/dist/cjs/export/UnityExporter.js +1193 -0
- package/dist/cjs/export/UnityExporter.js.map +1 -0
- package/dist/cjs/export/WebExporter.js +1036 -0
- package/dist/cjs/export/WebExporter.js.map +1 -0
- package/dist/cjs/export/index.js +58 -0
- package/dist/cjs/export/index.js.map +1 -0
- package/dist/cjs/import/AsepriteImporter.js +761 -0
- package/dist/cjs/import/AsepriteImporter.js.map +1 -0
- package/dist/cjs/import/DragonBonesImporter.js +499 -0
- package/dist/cjs/import/DragonBonesImporter.js.map +1 -0
- package/dist/cjs/import/GameMakerImporter.js +559 -0
- package/dist/cjs/import/GameMakerImporter.js.map +1 -0
- package/dist/cjs/import/GodotSceneImporter.js +824 -0
- package/dist/cjs/import/GodotSceneImporter.js.map +1 -0
- package/dist/cjs/import/LDtkImporter.js +481 -0
- package/dist/cjs/import/LDtkImporter.js.map +1 -0
- package/dist/cjs/import/Live2DImporter.js +553 -0
- package/dist/cjs/import/Live2DImporter.js.map +1 -0
- package/dist/cjs/import/NdgFormat.js +499 -0
- package/dist/cjs/import/NdgFormat.js.map +1 -0
- package/dist/cjs/import/OgmoImporter.js +529 -0
- package/dist/cjs/import/OgmoImporter.js.map +1 -0
- package/dist/cjs/import/RPGMakerImporter.js +520 -0
- package/dist/cjs/import/RPGMakerImporter.js.map +1 -0
- package/dist/cjs/import/SceneImporter.js +449 -0
- package/dist/cjs/import/SceneImporter.js.map +1 -0
- package/dist/cjs/import/SpineImporter.js +583 -0
- package/dist/cjs/import/SpineImporter.js.map +1 -0
- package/dist/cjs/import/SpriterImporter.js +652 -0
- package/dist/cjs/import/SpriterImporter.js.map +1 -0
- package/dist/cjs/import/TiledMapImporter.js +859 -0
- package/dist/cjs/import/TiledMapImporter.js.map +1 -0
- package/dist/cjs/import/UnitySceneImporter.js +732 -0
- package/dist/cjs/import/UnitySceneImporter.js.map +1 -0
- package/dist/cjs/import/index.js +305 -0
- package/dist/cjs/import/index.js.map +1 -0
- package/dist/cjs/index.js +201 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/scripting/GraphToAST.js +567 -0
- package/dist/cjs/scripting/GraphToAST.js.map +1 -0
- package/dist/cjs/scripting/LanguageExporter.js +321 -0
- package/dist/cjs/scripting/LanguageExporter.js.map +1 -0
- package/dist/cjs/scripting/ScriptAST.js +67 -0
- package/dist/cjs/scripting/ScriptAST.js.map +1 -0
- package/dist/cjs/scripting/VisualScripting2.js +1140 -0
- package/dist/cjs/scripting/VisualScripting2.js.map +1 -0
- package/dist/cjs/scripting/exporters/CSharpExporter.js +503 -0
- package/dist/cjs/scripting/exporters/CSharpExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/GDScriptExporter.js +452 -0
- package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/LuaExporter.js +457 -0
- package/dist/cjs/scripting/exporters/LuaExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/PythonExporter.js +565 -0
- package/dist/cjs/scripting/exporters/PythonExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/RustExporter.js +525 -0
- package/dist/cjs/scripting/exporters/RustExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/TypeScriptExporter.js +570 -0
- package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +1 -0
- package/dist/cjs/systems/ParticleSystem2.js +1478 -0
- package/dist/cjs/systems/ParticleSystem2.js.map +1 -0
- package/dist/esm/ai/BehaviorTree.js +1186 -0
- package/dist/esm/ai/BehaviorTree.js.map +1 -0
- package/dist/esm/ai/StateMachine.js +767 -0
- package/dist/esm/ai/StateMachine.js.map +1 -0
- package/dist/esm/editor/ShaderGraph.js +1606 -0
- package/dist/esm/editor/ShaderGraph.js.map +1 -0
- package/dist/esm/editor/TimelineEditor.js +800 -0
- package/dist/esm/editor/TimelineEditor.js.map +1 -0
- package/dist/esm/export/GodotExporter.js +1100 -0
- package/dist/esm/export/GodotExporter.js.map +1 -0
- package/dist/esm/export/PlatformExporter.js +230 -0
- package/dist/esm/export/PlatformExporter.js.map +1 -0
- package/dist/esm/export/ThreeJSExporter.js +1114 -0
- package/dist/esm/export/ThreeJSExporter.js.map +1 -0
- package/dist/esm/export/UnityExporter.js +1191 -0
- package/dist/esm/export/UnityExporter.js.map +1 -0
- package/dist/esm/export/WebExporter.js +1033 -0
- package/dist/esm/export/WebExporter.js.map +1 -0
- package/dist/esm/export/index.js +44 -0
- package/dist/esm/export/index.js.map +1 -0
- package/dist/esm/import/AsepriteImporter.js +759 -0
- package/dist/esm/import/AsepriteImporter.js.map +1 -0
- package/dist/esm/import/DragonBonesImporter.js +496 -0
- package/dist/esm/import/DragonBonesImporter.js.map +1 -0
- package/dist/esm/import/GameMakerImporter.js +556 -0
- package/dist/esm/import/GameMakerImporter.js.map +1 -0
- package/dist/esm/import/GodotSceneImporter.js +822 -0
- package/dist/esm/import/GodotSceneImporter.js.map +1 -0
- package/dist/esm/import/LDtkImporter.js +479 -0
- package/dist/esm/import/LDtkImporter.js.map +1 -0
- package/dist/esm/import/Live2DImporter.js +550 -0
- package/dist/esm/import/Live2DImporter.js.map +1 -0
- package/dist/esm/import/NdgFormat.js +490 -0
- package/dist/esm/import/NdgFormat.js.map +1 -0
- package/dist/esm/import/OgmoImporter.js +526 -0
- package/dist/esm/import/OgmoImporter.js.map +1 -0
- package/dist/esm/import/RPGMakerImporter.js +517 -0
- package/dist/esm/import/RPGMakerImporter.js.map +1 -0
- package/dist/esm/import/SceneImporter.js +441 -0
- package/dist/esm/import/SceneImporter.js.map +1 -0
- package/dist/esm/import/SpineImporter.js +580 -0
- package/dist/esm/import/SpineImporter.js.map +1 -0
- package/dist/esm/import/SpriterImporter.js +649 -0
- package/dist/esm/import/SpriterImporter.js.map +1 -0
- package/dist/esm/import/TiledMapImporter.js +857 -0
- package/dist/esm/import/TiledMapImporter.js.map +1 -0
- package/dist/esm/import/UnitySceneImporter.js +730 -0
- package/dist/esm/import/UnitySceneImporter.js.map +1 -0
- package/dist/esm/import/index.js +279 -0
- package/dist/esm/import/index.js.map +1 -0
- package/dist/esm/index.js +36 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/scripting/GraphToAST.js +564 -0
- package/dist/esm/scripting/GraphToAST.js.map +1 -0
- package/dist/esm/scripting/LanguageExporter.js +311 -0
- package/dist/esm/scripting/LanguageExporter.js.map +1 -0
- package/dist/esm/scripting/ScriptAST.js +52 -0
- package/dist/esm/scripting/ScriptAST.js.map +1 -0
- package/dist/esm/scripting/VisualScripting2.js +1130 -0
- package/dist/esm/scripting/VisualScripting2.js.map +1 -0
- package/dist/esm/scripting/exporters/CSharpExporter.js +501 -0
- package/dist/esm/scripting/exporters/CSharpExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/GDScriptExporter.js +450 -0
- package/dist/esm/scripting/exporters/GDScriptExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/LuaExporter.js +455 -0
- package/dist/esm/scripting/exporters/LuaExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/PythonExporter.js +563 -0
- package/dist/esm/scripting/exporters/PythonExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/RustExporter.js +523 -0
- package/dist/esm/scripting/exporters/RustExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/TypeScriptExporter.js +568 -0
- package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +1 -0
- package/dist/esm/systems/ParticleSystem2.js +1471 -0
- package/dist/esm/systems/ParticleSystem2.js.map +1 -0
- package/dist/types/ai/BehaviorTree.d.ts +375 -0
- package/dist/types/ai/StateMachine.d.ts +296 -0
- package/dist/types/editor/ShaderGraph.d.ts +207 -0
- package/dist/types/editor/TimelineEditor.d.ts +393 -0
- package/dist/types/export/GodotExporter.d.ts +56 -0
- package/dist/types/export/PlatformExporter.d.ts +201 -0
- package/dist/types/export/ThreeJSExporter.d.ts +40 -0
- package/dist/types/export/UnityExporter.d.ts +69 -0
- package/dist/types/export/WebExporter.d.ts +58 -0
- package/dist/types/export/index.d.ts +19 -0
- package/dist/types/import/AsepriteImporter.d.ts +46 -0
- package/dist/types/import/DragonBonesImporter.d.ts +331 -0
- package/dist/types/import/GameMakerImporter.d.ts +375 -0
- package/dist/types/import/GodotSceneImporter.d.ts +34 -0
- package/dist/types/import/LDtkImporter.d.ts +177 -0
- package/dist/types/import/Live2DImporter.d.ts +237 -0
- package/dist/types/import/NdgFormat.d.ts +387 -0
- package/dist/types/import/OgmoImporter.d.ts +237 -0
- package/dist/types/import/RPGMakerImporter.d.ts +186 -0
- package/dist/types/import/SceneImporter.d.ts +276 -0
- package/dist/types/import/SpineImporter.d.ts +372 -0
- package/dist/types/import/SpriterImporter.d.ts +230 -0
- package/dist/types/import/TiledMapImporter.d.ts +57 -0
- package/dist/types/import/UnitySceneImporter.d.ts +87 -0
- package/dist/types/import/index.d.ts +59 -0
- package/dist/types/index.d.ts +29 -17
- package/dist/types/scripting/GraphToAST.d.ts +55 -0
- package/dist/types/scripting/LanguageExporter.d.ts +136 -0
- package/dist/types/scripting/ScriptAST.d.ts +312 -0
- package/dist/types/scripting/VisualScripting2.d.ts +353 -0
- package/dist/types/scripting/exporters/CSharpExporter.d.ts +44 -0
- package/dist/types/scripting/exporters/GDScriptExporter.d.ts +46 -0
- package/dist/types/scripting/exporters/LuaExporter.d.ts +46 -0
- package/dist/types/scripting/exporters/PythonExporter.d.ts +49 -0
- package/dist/types/scripting/exporters/RustExporter.d.ts +46 -0
- package/dist/types/scripting/exporters/TypeScriptExporter.d.ts +48 -0
- package/dist/types/scripting/exporters/index.d.ts +8 -0
- package/dist/types/scripting/index.d.ts +11 -0
- package/dist/types/systems/ParticleSystem2.d.ts +646 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParticleSystem2.js","sources":["../../../src/systems/ParticleSystem2.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file BehaviorTree.ts
|
|
3
|
+
* @description Behavior Tree System with Graphical Editor Support
|
|
4
|
+
* PRO-1.4: Professional Editor Features
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Full behavior tree implementation
|
|
8
|
+
* - Composite nodes (Selector, Sequence, Parallel)
|
|
9
|
+
* - Decorator nodes (Inverter, Repeater, Succeeder, etc.)
|
|
10
|
+
* - Leaf nodes (Actions, Conditions)
|
|
11
|
+
* - Real-time preview and debugging
|
|
12
|
+
* - Blackboard system for shared data
|
|
13
|
+
* - Subtree support
|
|
14
|
+
* - Serialization support
|
|
15
|
+
*/
|
|
16
|
+
import type { EntityId, Vec2 } from '../core/types';
|
|
17
|
+
/** Status returned by behavior tree nodes */
|
|
18
|
+
export type BTStatus = 'success' | 'failure' | 'running';
|
|
19
|
+
/** Visual status for editor display */
|
|
20
|
+
export type BTVisualStatus = BTStatus | 'inactive' | 'aborted';
|
|
21
|
+
/** Type-safe blackboard key */
|
|
22
|
+
export interface BTBlackboardKey<T = unknown> {
|
|
23
|
+
name: string;
|
|
24
|
+
type: string;
|
|
25
|
+
defaultValue?: T;
|
|
26
|
+
}
|
|
27
|
+
/** Blackboard for sharing data between nodes */
|
|
28
|
+
export declare class BTBlackboard {
|
|
29
|
+
private data;
|
|
30
|
+
private types;
|
|
31
|
+
private listeners;
|
|
32
|
+
/** Set a value in the blackboard */
|
|
33
|
+
set<T>(key: BTBlackboardKey<T> | string, value: T): void;
|
|
34
|
+
/** Get a value from the blackboard */
|
|
35
|
+
get<T>(key: BTBlackboardKey<T> | string): T | undefined;
|
|
36
|
+
/** Check if key exists */
|
|
37
|
+
has(key: BTBlackboardKey | string): boolean;
|
|
38
|
+
/** Remove a key */
|
|
39
|
+
delete(key: BTBlackboardKey | string): void;
|
|
40
|
+
/** Clear all data */
|
|
41
|
+
clear(): void;
|
|
42
|
+
/** Subscribe to key changes */
|
|
43
|
+
subscribe<T>(key: BTBlackboardKey<T> | string, callback: (value: T) => void): () => void;
|
|
44
|
+
/** Get all keys */
|
|
45
|
+
keys(): string[];
|
|
46
|
+
/** Clone the blackboard */
|
|
47
|
+
clone(): BTBlackboard;
|
|
48
|
+
/** Export to JSON */
|
|
49
|
+
toJSON(): Record<string, unknown>;
|
|
50
|
+
/** Import from JSON */
|
|
51
|
+
fromJSON(data: Record<string, unknown>): void;
|
|
52
|
+
}
|
|
53
|
+
export interface BTContext {
|
|
54
|
+
/** The entity this tree is controlling */
|
|
55
|
+
entityId: EntityId;
|
|
56
|
+
/** Shared blackboard */
|
|
57
|
+
blackboard: BTBlackboard;
|
|
58
|
+
/** Delta time since last tick */
|
|
59
|
+
dt: number;
|
|
60
|
+
/** Total time elapsed */
|
|
61
|
+
time: number;
|
|
62
|
+
/** World reference */
|
|
63
|
+
world: unknown;
|
|
64
|
+
/** Event emitter for external communication */
|
|
65
|
+
emit: (event: string, data?: unknown) => void;
|
|
66
|
+
/** Cancel current execution */
|
|
67
|
+
abort: () => void;
|
|
68
|
+
/** Is execution aborted? */
|
|
69
|
+
isAborted: boolean;
|
|
70
|
+
}
|
|
71
|
+
export type BTNodeType = 'root' | 'composite' | 'decorator' | 'action' | 'condition' | 'subtree';
|
|
72
|
+
export interface BTNodeDefinition {
|
|
73
|
+
type: string;
|
|
74
|
+
category: BTNodeType;
|
|
75
|
+
name: string;
|
|
76
|
+
description: string;
|
|
77
|
+
icon?: string;
|
|
78
|
+
color?: string;
|
|
79
|
+
/** Properties that can be configured in editor */
|
|
80
|
+
properties?: BTPropertyDef[];
|
|
81
|
+
/** Create a node instance */
|
|
82
|
+
create: (properties?: Record<string, unknown>) => BTNode;
|
|
83
|
+
}
|
|
84
|
+
export interface BTPropertyDef {
|
|
85
|
+
name: string;
|
|
86
|
+
type: 'boolean' | 'number' | 'string' | 'enum' | 'blackboardKey' | 'entity';
|
|
87
|
+
default?: unknown;
|
|
88
|
+
enumValues?: string[];
|
|
89
|
+
description?: string;
|
|
90
|
+
min?: number;
|
|
91
|
+
max?: number;
|
|
92
|
+
}
|
|
93
|
+
/** Base class for all behavior tree nodes */
|
|
94
|
+
export declare abstract class BTNode {
|
|
95
|
+
id: string;
|
|
96
|
+
name: string;
|
|
97
|
+
type: string;
|
|
98
|
+
category: BTNodeType;
|
|
99
|
+
/** Position in editor */
|
|
100
|
+
position: Vec2;
|
|
101
|
+
/** Custom properties */
|
|
102
|
+
properties: Record<string, unknown>;
|
|
103
|
+
/** Comment for documentation */
|
|
104
|
+
comment?: string;
|
|
105
|
+
/** Current execution status (for debugging) */
|
|
106
|
+
lastStatus: BTVisualStatus;
|
|
107
|
+
/** Last execution time (for profiling) */
|
|
108
|
+
lastExecutionTime: number;
|
|
109
|
+
constructor(type: string, category: BTNodeType, name: string);
|
|
110
|
+
/** Initialize the node */
|
|
111
|
+
initialize(context: BTContext): void;
|
|
112
|
+
/** Tick the node */
|
|
113
|
+
abstract tick(context: BTContext): BTStatus;
|
|
114
|
+
/** Reset the node state */
|
|
115
|
+
reset(): void;
|
|
116
|
+
/** Called when execution is aborted */
|
|
117
|
+
abort(): void;
|
|
118
|
+
/** Clone the node */
|
|
119
|
+
abstract clone(): BTNode;
|
|
120
|
+
/** Serialize to JSON */
|
|
121
|
+
toJSON(): BTNodeJSON;
|
|
122
|
+
}
|
|
123
|
+
export interface BTNodeJSON {
|
|
124
|
+
id: string;
|
|
125
|
+
type: string;
|
|
126
|
+
category: BTNodeType;
|
|
127
|
+
name: string;
|
|
128
|
+
position: Vec2;
|
|
129
|
+
properties: Record<string, unknown>;
|
|
130
|
+
comment?: string;
|
|
131
|
+
children?: BTNodeJSON[];
|
|
132
|
+
}
|
|
133
|
+
/** Base class for composite nodes (have children) */
|
|
134
|
+
export declare abstract class BTComposite extends BTNode {
|
|
135
|
+
children: BTNode[];
|
|
136
|
+
protected currentChild: number;
|
|
137
|
+
constructor(type: string, name: string);
|
|
138
|
+
addChild(child: BTNode): void;
|
|
139
|
+
removeChild(child: BTNode): void;
|
|
140
|
+
reset(): void;
|
|
141
|
+
abort(): void;
|
|
142
|
+
toJSON(): BTNodeJSON;
|
|
143
|
+
}
|
|
144
|
+
/** Sequence: Runs children in order until one fails */
|
|
145
|
+
export declare class BTSequence extends BTComposite {
|
|
146
|
+
constructor(name?: string);
|
|
147
|
+
tick(context: BTContext): BTStatus;
|
|
148
|
+
clone(): BTSequence;
|
|
149
|
+
}
|
|
150
|
+
/** Selector: Runs children until one succeeds */
|
|
151
|
+
export declare class BTSelector extends BTComposite {
|
|
152
|
+
constructor(name?: string);
|
|
153
|
+
tick(context: BTContext): BTStatus;
|
|
154
|
+
clone(): BTSelector;
|
|
155
|
+
}
|
|
156
|
+
/** Parallel: Runs all children simultaneously */
|
|
157
|
+
export declare class BTParallel extends BTComposite {
|
|
158
|
+
/** Policy for determining success */
|
|
159
|
+
successPolicy: 'all' | 'one';
|
|
160
|
+
/** Policy for determining failure */
|
|
161
|
+
failurePolicy: 'all' | 'one';
|
|
162
|
+
private childStatuses;
|
|
163
|
+
constructor(name?: string);
|
|
164
|
+
initialize(context: BTContext): void;
|
|
165
|
+
tick(context: BTContext): BTStatus;
|
|
166
|
+
reset(): void;
|
|
167
|
+
clone(): BTParallel;
|
|
168
|
+
}
|
|
169
|
+
/** Random Selector: Selects children in random order */
|
|
170
|
+
export declare class BTRandomSelector extends BTComposite {
|
|
171
|
+
private shuffledOrder;
|
|
172
|
+
constructor(name?: string);
|
|
173
|
+
initialize(context: BTContext): void;
|
|
174
|
+
private shuffle;
|
|
175
|
+
tick(context: BTContext): BTStatus;
|
|
176
|
+
clone(): BTRandomSelector;
|
|
177
|
+
}
|
|
178
|
+
/** Random Sequence: Runs children in random order */
|
|
179
|
+
export declare class BTRandomSequence extends BTComposite {
|
|
180
|
+
private shuffledOrder;
|
|
181
|
+
constructor(name?: string);
|
|
182
|
+
initialize(context: BTContext): void;
|
|
183
|
+
private shuffle;
|
|
184
|
+
tick(context: BTContext): BTStatus;
|
|
185
|
+
clone(): BTRandomSequence;
|
|
186
|
+
}
|
|
187
|
+
/** Base class for decorator nodes (single child) */
|
|
188
|
+
export declare abstract class BTDecorator extends BTNode {
|
|
189
|
+
child: BTNode | null;
|
|
190
|
+
constructor(type: string, name: string);
|
|
191
|
+
setChild(child: BTNode): void;
|
|
192
|
+
reset(): void;
|
|
193
|
+
abort(): void;
|
|
194
|
+
toJSON(): BTNodeJSON;
|
|
195
|
+
}
|
|
196
|
+
/** Inverter: Inverts child's result */
|
|
197
|
+
export declare class BTInverter extends BTDecorator {
|
|
198
|
+
constructor(name?: string);
|
|
199
|
+
tick(context: BTContext): BTStatus;
|
|
200
|
+
clone(): BTInverter;
|
|
201
|
+
}
|
|
202
|
+
/** Succeeder: Always returns success */
|
|
203
|
+
export declare class BTSucceeder extends BTDecorator {
|
|
204
|
+
constructor(name?: string);
|
|
205
|
+
tick(context: BTContext): BTStatus;
|
|
206
|
+
clone(): BTSucceeder;
|
|
207
|
+
}
|
|
208
|
+
/** Failer: Always returns failure */
|
|
209
|
+
export declare class BTFailer extends BTDecorator {
|
|
210
|
+
constructor(name?: string);
|
|
211
|
+
tick(context: BTContext): BTStatus;
|
|
212
|
+
clone(): BTFailer;
|
|
213
|
+
}
|
|
214
|
+
/** Repeater: Repeats child N times */
|
|
215
|
+
export declare class BTRepeater extends BTDecorator {
|
|
216
|
+
times: number;
|
|
217
|
+
private currentCount;
|
|
218
|
+
constructor(name?: string, times?: number);
|
|
219
|
+
tick(context: BTContext): BTStatus;
|
|
220
|
+
reset(): void;
|
|
221
|
+
clone(): BTRepeater;
|
|
222
|
+
}
|
|
223
|
+
/** RepeatUntilFail: Repeats until child fails */
|
|
224
|
+
export declare class BTRepeatUntilFail extends BTDecorator {
|
|
225
|
+
constructor(name?: string);
|
|
226
|
+
tick(context: BTContext): BTStatus;
|
|
227
|
+
clone(): BTRepeatUntilFail;
|
|
228
|
+
}
|
|
229
|
+
/** RepeatUntilSuccess: Repeats until child succeeds */
|
|
230
|
+
export declare class BTRepeatUntilSuccess extends BTDecorator {
|
|
231
|
+
constructor(name?: string);
|
|
232
|
+
tick(context: BTContext): BTStatus;
|
|
233
|
+
clone(): BTRepeatUntilSuccess;
|
|
234
|
+
}
|
|
235
|
+
/** Timeout: Fails if child takes too long */
|
|
236
|
+
export declare class BTTimeout extends BTDecorator {
|
|
237
|
+
timeoutSeconds: number;
|
|
238
|
+
private elapsed;
|
|
239
|
+
private started;
|
|
240
|
+
constructor(name?: string, seconds?: number);
|
|
241
|
+
tick(context: BTContext): BTStatus;
|
|
242
|
+
reset(): void;
|
|
243
|
+
clone(): BTTimeout;
|
|
244
|
+
}
|
|
245
|
+
/** Cooldown: Rate limits child execution */
|
|
246
|
+
export declare class BTCooldown extends BTDecorator {
|
|
247
|
+
cooldownSeconds: number;
|
|
248
|
+
private lastExecution;
|
|
249
|
+
constructor(name?: string, seconds?: number);
|
|
250
|
+
tick(context: BTContext): BTStatus;
|
|
251
|
+
reset(): void;
|
|
252
|
+
clone(): BTCooldown;
|
|
253
|
+
}
|
|
254
|
+
/** Condition Guard: Only runs child if condition is true */
|
|
255
|
+
export declare class BTConditionGuard extends BTDecorator {
|
|
256
|
+
condition: (context: BTContext) => boolean;
|
|
257
|
+
constructor(name?: string, condition?: (context: BTContext) => boolean);
|
|
258
|
+
tick(context: BTContext): BTStatus;
|
|
259
|
+
clone(): BTConditionGuard;
|
|
260
|
+
}
|
|
261
|
+
/** Action Node: Performs an action */
|
|
262
|
+
export declare class BTAction extends BTNode {
|
|
263
|
+
action: (context: BTContext) => BTStatus;
|
|
264
|
+
constructor(name: string, action: (context: BTContext) => BTStatus);
|
|
265
|
+
tick(context: BTContext): BTStatus;
|
|
266
|
+
clone(): BTAction;
|
|
267
|
+
}
|
|
268
|
+
/** Condition Node: Tests a condition */
|
|
269
|
+
export declare class BTCondition extends BTNode {
|
|
270
|
+
condition: (context: BTContext) => boolean;
|
|
271
|
+
constructor(name: string, condition: (context: BTContext) => boolean);
|
|
272
|
+
tick(context: BTContext): BTStatus;
|
|
273
|
+
clone(): BTCondition;
|
|
274
|
+
}
|
|
275
|
+
/** Wait Action: Waits for a duration */
|
|
276
|
+
export declare class BTWait extends BTNode {
|
|
277
|
+
seconds: number;
|
|
278
|
+
private elapsed;
|
|
279
|
+
private started;
|
|
280
|
+
constructor(name?: string, seconds?: number);
|
|
281
|
+
tick(context: BTContext): BTStatus;
|
|
282
|
+
reset(): void;
|
|
283
|
+
clone(): BTWait;
|
|
284
|
+
}
|
|
285
|
+
/** Log Action: Logs a message */
|
|
286
|
+
export declare class BTLog extends BTNode {
|
|
287
|
+
message: string;
|
|
288
|
+
level: 'info' | 'warn' | 'error';
|
|
289
|
+
constructor(name?: string, message?: string, level?: 'info' | 'warn' | 'error');
|
|
290
|
+
tick(context: BTContext): BTStatus;
|
|
291
|
+
clone(): BTLog;
|
|
292
|
+
}
|
|
293
|
+
export declare class BTSubtree extends BTNode {
|
|
294
|
+
subtreeId: string;
|
|
295
|
+
private subtree;
|
|
296
|
+
constructor(name: string, subtreeId: string);
|
|
297
|
+
setSubtree(tree: BehaviorTree): void;
|
|
298
|
+
tick(context: BTContext): BTStatus;
|
|
299
|
+
reset(): void;
|
|
300
|
+
clone(): BTSubtree;
|
|
301
|
+
}
|
|
302
|
+
export declare class BTRoot extends BTNode {
|
|
303
|
+
child: BTNode | null;
|
|
304
|
+
constructor(name?: string);
|
|
305
|
+
setChild(child: BTNode): void;
|
|
306
|
+
tick(context: BTContext): BTStatus;
|
|
307
|
+
reset(): void;
|
|
308
|
+
toJSON(): BTNodeJSON;
|
|
309
|
+
clone(): BTRoot;
|
|
310
|
+
}
|
|
311
|
+
export declare class BehaviorTree {
|
|
312
|
+
id: string;
|
|
313
|
+
name: string;
|
|
314
|
+
root: BTRoot;
|
|
315
|
+
blackboard: BTBlackboard;
|
|
316
|
+
/** Execution statistics */
|
|
317
|
+
stats: {
|
|
318
|
+
tickCount: number;
|
|
319
|
+
lastTickTime: number;
|
|
320
|
+
averageTickTime: number;
|
|
321
|
+
};
|
|
322
|
+
/** Debugging */
|
|
323
|
+
debugMode: boolean;
|
|
324
|
+
breakpoints: Set<string>;
|
|
325
|
+
private isPaused;
|
|
326
|
+
constructor(name?: string);
|
|
327
|
+
/** Tick the tree */
|
|
328
|
+
tick(context: BTContext): BTStatus;
|
|
329
|
+
/** Reset the tree */
|
|
330
|
+
reset(): void;
|
|
331
|
+
/** Pause execution */
|
|
332
|
+
pause(): void;
|
|
333
|
+
/** Resume execution */
|
|
334
|
+
resume(): void;
|
|
335
|
+
/** Add breakpoint */
|
|
336
|
+
addBreakpoint(nodeId: string): void;
|
|
337
|
+
/** Remove breakpoint */
|
|
338
|
+
removeBreakpoint(nodeId: string): void;
|
|
339
|
+
/** Toggle breakpoint */
|
|
340
|
+
toggleBreakpoint(nodeId: string): void;
|
|
341
|
+
/** Find node by ID */
|
|
342
|
+
findNode(nodeId: string): BTNode | null;
|
|
343
|
+
private findNodeRecursive;
|
|
344
|
+
/** Get all nodes */
|
|
345
|
+
getAllNodes(): BTNode[];
|
|
346
|
+
private collectNodes;
|
|
347
|
+
/** Clone the tree */
|
|
348
|
+
clone(): BehaviorTree;
|
|
349
|
+
/** Serialize to JSON */
|
|
350
|
+
toJSON(): {
|
|
351
|
+
id: string;
|
|
352
|
+
name: string;
|
|
353
|
+
root: BTNodeJSON;
|
|
354
|
+
blackboard: Record<string, unknown>;
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
export declare class BTNodeRegistry {
|
|
358
|
+
private definitions;
|
|
359
|
+
register(definition: BTNodeDefinition): void;
|
|
360
|
+
get(type: string): BTNodeDefinition | undefined;
|
|
361
|
+
getAll(): BTNodeDefinition[];
|
|
362
|
+
getByCategory(category: BTNodeType): BTNodeDefinition[];
|
|
363
|
+
createNode(type: string, properties?: Record<string, unknown>): BTNode | null;
|
|
364
|
+
}
|
|
365
|
+
export declare function createBehaviorTree(name?: string): BehaviorTree;
|
|
366
|
+
export declare function createBlackboard(): BTBlackboard;
|
|
367
|
+
export declare function createNodeRegistry(): BTNodeRegistry;
|
|
368
|
+
/** Create execution context */
|
|
369
|
+
export declare function createBTContext(params: {
|
|
370
|
+
entityId: EntityId;
|
|
371
|
+
dt: number;
|
|
372
|
+
time: number;
|
|
373
|
+
world: unknown;
|
|
374
|
+
blackboard?: BTBlackboard;
|
|
375
|
+
}): BTContext;
|