patchwork-mapconverter
Version:
Executable wrapper for https://github.com/ChiefOfGxBxL/WC3MapTranslator
105 lines (104 loc) • 2.78 kB
TypeScript
interface TriggerContainer {
name: string;
triggers: Array<TriggerContainer | TriggerContent>;
}
declare class TriggerHeader implements TriggerContainer {
name: string;
triggers: TriggerContent[];
constructor(data: TriggerContainer);
}
declare class TriggerLibrary implements TriggerContainer {
name: string;
triggers: TriggerContent[];
constructor(data: TriggerContainer);
}
declare class TriggerCategory implements TriggerContainer {
name: string;
triggers: TriggerContent[];
constructor(data: TriggerContainer);
}
interface TriggerContent {
name: string;
}
declare class GUITrigger implements TriggerContent {
name: string;
description: string;
isEnabled: boolean;
initiallyOff: boolean;
runOnMapInit: boolean;
events: ECA[];
conditions: ECA[];
actions: ECA[];
constructor(data: TriggerContent & GUITrigger);
}
declare class TriggerComment implements TriggerContent {
name: string;
description: string;
constructor(data: TriggerContent & TriggerComment);
}
declare class CustomScript implements TriggerContent {
name: string;
description: string;
isEnabled: boolean;
script: string;
constructor(data: TriggerContent & CustomScript, script?: string);
}
declare class GlobalVariable implements TriggerContent {
name: string;
type: string;
isArray: boolean;
arrayLength: number;
isInitialized: boolean;
initialValue: string;
constructor(data: TriggerContent & GlobalVariable);
}
declare enum Classifier {
HEADER = 1,
LIBRARY = 2,
CATEGORY = 4,
GUI_TRIGGER = 8,
COMMENT = 16,
CUSTOM_SCRIPT = 32,
VARIABLE = 64
}
interface ECA {
name: string;
isEnabled: boolean;
nestedAs: NestedECAClassifier | -1;
children: ECA[];
parameters: Parameter[];
}
interface FunctionCall {
name: string;
parameters: Parameter[];
}
declare enum ECA_Classifier {
EVENT = 0,
CONDITION = 1,
ACTION = 2,
CALL = 3
}
declare enum NestedECAClassifier {
CONDITION = 0,
THEN_ACTION = 1,
ELSE_ACTION = 2,
LOOP_ACTION = 1
}
interface Parameter {
type: ParameterType;
value: string;
nestedParams: Parameter[];
arrayIndex: number | undefined;
}
declare enum ParameterType {
NOTHING = 0,
PRESET = 1,
VARIABLE = 1,
FUNCTION = 2,
STRING = 3
}
interface TriggerTranslatorOutput {
roots: TriggerContainer[];
scriptReferences: CustomScript[];
}
export { type TriggerContainer, TriggerHeader, TriggerCategory, TriggerLibrary, type TriggerContent, GUITrigger, TriggerComment, CustomScript, GlobalVariable, type ECA, type FunctionCall, type Parameter, ParameterType, Classifier, ECA_Classifier, NestedECAClassifier, type TriggerTranslatorOutput };