UNPKG

@gdquest/gd-exercise

Version:

Core package that handles logic for the GDExercise project.

71 lines 2.6 kB
import { EventEmitter } from "eventemitter3"; import { type Godot } from "@gdquest/gd-types"; import { CodeController } from "./code.mts"; import { GdPlayerController } from "./gdplayer.mts"; import { type GdExerciseFile, type GdExerciseLog } from "../utils.mts"; import { ConsoleController } from "./console.mts"; import { TestController } from "./test.mts"; export interface ControllerConstructorParams extends CreateMainControllerOptions { projectUrl: string; mainScene: string; projectFiles: Map<string, GdExerciseFile>; } export interface MainControllerEvents { ready: () => void; } export declare class MainController extends EventEmitter<MainControllerEvents> { projectId: string; _projectUrl: string; _project: string; _mainScene: string; _files: CreateMainControllerFile[]; _Engine: Godot.EngineClass; _projectFiles: Map<string, GdExerciseFile>; _size: Record<string, number>; get canRestart(): boolean; _codeController: CodeController; get codeController(): CodeController; set codeController(_: CodeController); _gdPlayerController: GdPlayerController; get gdPlayerController(): GdPlayerController; set gdPlayerController(_: GdPlayerController); _testController: TestController; get testController(): TestController; set testController(_: TestController); _consoleController: ConsoleController; get consoleController(): ConsoleController; set consoleController(_: ConsoleController); _snippet: string; get isSnippet(): boolean; set isSnippet(_: boolean); constructor(options: ControllerConstructorParams); _loadProjectFiles(): Promise<void>; _launchGdPlayer(): Promise<void>; _onGdPlayerLog(message: string): Promise<void>; _onGdPlayerLogError(message: string): Promise<void>; _onLogTest(entry: GdExerciseLog): void; loadFile(file: GdExerciseFile): Promise<void>; save(): void; revert(): void; dispose(): void; restart(): void; setDarkMode(enabled: boolean): void; logTest(entry: GdExerciseLog): void; } export interface CreateMainControllerFile { path: string; focus: boolean; override: string | null; } export interface CreateMainControllerOptions { projectUrl: string; project: string; mainScene: string; files: CreateMainControllerFile[]; Engine: Godot.EngineClass; isDarkMode?: boolean; size: Record<string, number>; snippet?: string; } export declare function createMainController(options: CreateMainControllerOptions): Promise<MainController>; //# sourceMappingURL=main.d.mts.map