import {BehaviorStatus} from "./BehaviorStatus";
import Signal from "../../../core/events/signal/Signal";

export class Behavior<CTX> {
    context: CTX | null

    readonly onInitialized: Signal<this, CTX>

    readonly onFinalized: Signal<this>

    tick(timeDeltaSeconds: number): BehaviorStatus

    initialize(context: CTX): void

    finalize(): void
}
