phaser3-rex-plugins
Version:
91 lines (79 loc) • 1.96 kB
TypeScript
import BaseNode from './BaseNode';
import Tick from '../tick/Tick';
export default Decorator;
declare namespace Decorator {
/**
* Configuration options for creating a Decorator node.
*/
interface IConfig extends BaseNode.IConfig {
/**
* Child node id or instance.
*/
child?: string | BaseNode;
}
}
/**
* Base class for decorator nodes.
*/
declare class Decorator extends BaseNode {
/**
* Create a Decorator node.
*
* @param config - Configuration options.
* @param nodePool - Node pool for resolving ids.
*/
constructor(
config?: Decorator.IConfig,
nodePool?: BaseNode.NodePoolType
);
/**
* Child node instance.
*/
child: BaseNode | null;
/**
* Destroy the node.
*/
destroy(): void;
/**
* Add a child node.
*
* @param node - Node id or instance.
* @param nodePool - Node pool for resolving ids.
* @returns This Decorator instance.
*/
addChild(
node: string | BaseNode,
nodePool?: BaseNode.NodePoolType
): this;
/**
* Chain a child node.
*
* @param node - Node id or instance.
* @param nodePool - Node pool for resolving ids.
* @returns This Decorator instance.
*/
chainChild(
node: string | BaseNode,
nodePool?: BaseNode.NodePoolType
): this;
/**
* Check if child is running.
*
* @param tick - Tick instance.
* @returns True if child is running.
*/
isChildRunning(tick: Tick): boolean;
/**
* Abort child nodes.
*
* @param tick - Tick instance.
*/
abortChildren(tick: Tick): void;
/**
* Open child node.
*
* @param tick - Tick instance.
* @returns This Decorator instance.
*/
openChild(tick: Tick): this;
}