import { GameObjectDefinition } from "../definitions/game-object-definition.class"; import { Sprite } from "../display/sprite.class"; import { Clock } from "../gamelogic/clock.class"; import { Sound } from "../sound/sound.class"; import { Variable } from "../gamelogic/variables/variable.class"; import { ExtendedSpritesGroup } from "../display/extended-sprites-group.class"; import { BaseTrigger } from "../triggers/base-trigger.class"; import { Graph } from "../graphs/graph.class"; import { SceneUnitObject } from "./scene-unit-object.class"; import { Control } from "../gamelogic/control.class"; import { Dispatcher } from "../common/dispatcher.class"; import { IDisplayable } from "../interfaces/IDisplayable.interface"; import { Sequence } from "../spriteslogic/sequence.class"; import { Animation } from "../spriteslogic/animation.class"; import { SpritesGroupState } from "../display/sprites-group-state.class"; import { Script } from "../script/script.class"; import { Actionable } from "../script/interfaces/actionable.interface"; import { Condition } from "../gamelogic/condition.class"; import { Gettable } from "../interfaces/gettable.interface"; import { Triggerable } from "../interfaces/triggerable.interface"; export declare class GameUnitObject extends Dispatcher implements IDisplayable, Actionable, Gettable { objectsBank: { [key: string]: GameObjectDefinition; }; parent: GameUnitObject | SceneUnitObject; x: number; y: number; sprites: { [key: string]: Sprite; }; clocks: { [key: string]: Clock; }; sounds: { [key: string]: Sound; }; variables: { [key: string]: Variable; }; groups: { [key: string]: ExtendedSpritesGroup; }; graphs: { [key: string]: Graph; }; triggers: { [key: string]: BaseTrigger; }; sequences: { [key: string]: Sequence; }; animations: { [key: string]: Animation; }; states: { [key: string]: SpritesGroupState; }; conditions: { [key: string]: Condition; }; objects: { [key: string]: GameUnitObject; }; scripts: { [key: string]: Script; }; constructor(definition: GameObjectDefinition, objectsBank: { [key: string]: GameObjectDefinition; }, parent?: GameUnitObject | SceneUnitObject, x?: number, y?: number); preinit(definition: GameObjectDefinition): void; initializeObject(definition: GameObjectDefinition): void; display(): void; hide(): void; getSprite(id: string): Sprite; getClock(id: string): Clock; getTrigger(id: string): BaseTrigger; getGroup(id: string): ExtendedSpritesGroup; getControl(id: string): Control; getGraph(id: string): Graph; getSequence(id: string): Sequence; getAnimation(id: string): Animation; getState(id: string): SpritesGroupState; getVariable(id: string): Variable; getSound(id: string): Sound; getObject(id: string): GameUnitObject; getScript(id: string): Script; getCondition(id: string): Condition; getActionable(type: string, id: string): Actionable; getGettable(type: string, id: string): Gettable; getTriggerable(type: string, id: string): Triggerable; executeScript(id: string): void; executeAction(actionName: string, args: string[]): void; getProperty(propertyName: string): any; }