pinball/assets/_Game/Scripts/Events/GameEvent.ts

24 lines
610 B
TypeScript

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;