import type { AdvConfig, AdvGameConfig } from '@advjs/types' import type { ComputedRef } from 'vue' import type { useAdvBgm, useAdvLogic, useAdvNav, useAdvTachies } from '../composables' import type { useAdvCharacters } from '../composables/useAdvCharacters' import type { useAdvNodes } from '../composables/useAdvNodes' import type { PixiGame } from '../pixi/game' import type { AdvStore } from '../stores' import type { ADV_RUNTIME } from '../utils' /** * start with $ means it's a system functions */ export interface AdvContext { store: AdvStore config: ComputedRef gameConfig: ComputedRef themeConfig: ComputedRef functions: Record void> $t: typeof import('../compiler').$t $nav: ReturnType $logic: ReturnType $tachies: ReturnType $characters: ReturnType $bgm: ReturnType $nodes: ReturnType init: () => Promise /** * 运行时变量 */ runtime: typeof ADV_RUNTIME pixiGame?: PixiGame } export interface AdvOptions { /** * 调试模式 */ debug?: boolean }