import { Node } from 'cc'; import GameState from '../Enum/GameState'; import ScoreType from '../Enum/ScoreType'; enum GameEvent { GameStateChange, Score, ScoreObjectRelease, } export interface GameEventCallbackMap { [GameEvent.GameStateChange]: (state: GameState) => void; [GameEvent.Score]: (type: ScoreType, score: number) => void; [GameEvent.ScoreObjectRelease]: (obj: Node) => void; } export interface GameEventArgMap { [GameEvent.GameStateChange]: GameState; [GameEvent.Score]: [ScoreType, number]; [GameEvent.ScoreObjectRelease]: Node; } export default GameEvent;