57 lines
2.0 KiB
TypeScript
57 lines
2.0 KiB
TypeScript
import { Node, Vec3 } from 'cc';
|
|
import BoosterType from '../Enum/BoosterType';
|
|
import ControllerSide from '../Enum/ControllerSide';
|
|
import GameState from '../Enum/GameState';
|
|
import ScoreType from '../Enum/ScoreType';
|
|
import { RewardType } from '../Manager/GachaManager';
|
|
|
|
enum GameEvent {
|
|
Score,
|
|
BallOut,
|
|
MultiBall,
|
|
TimeUpdate,
|
|
GameStateChange,
|
|
ObjectRelease,
|
|
BoosterActive,
|
|
BoosterDisable,
|
|
ControlTouchStart,
|
|
ControlTouchEnd,
|
|
WarningTime,
|
|
TicketUpdate,
|
|
SpawnMultiBall,
|
|
}
|
|
|
|
export interface GameEventCallbackMap {
|
|
[GameEvent.Score]: (score: number, points?: number, type?: ScoreType, position?: Vec3) => void;
|
|
[GameEvent.BallOut]: () => void;
|
|
[GameEvent.MultiBall]: (active: boolean) => void;
|
|
[GameEvent.TimeUpdate]: (time: number) => void;
|
|
[GameEvent.GameStateChange]: (state: GameState) => void;
|
|
[GameEvent.ObjectRelease]: (obj: Node) => void;
|
|
[GameEvent.BoosterActive]: (boosterType: BoosterType, displayName: string) => void;
|
|
[GameEvent.BoosterDisable]: (boosterType: BoosterType) => void;
|
|
[GameEvent.ControlTouchStart]: (touchSide: ControllerSide) => void;
|
|
[GameEvent.ControlTouchEnd]: (touchSide: ControllerSide) => void;
|
|
[GameEvent.WarningTime]: (warning: boolean) => void;
|
|
[GameEvent.TicketUpdate]: (ticket: number) => void;
|
|
[GameEvent.SpawnMultiBall]: (quantity: number) => void;
|
|
}
|
|
|
|
export interface GameEventArgMap {
|
|
[GameEvent.Score]: [number, number, ScoreType, Vec3];
|
|
[GameEvent.BallOut]: null;
|
|
[GameEvent.MultiBall]: boolean;
|
|
[GameEvent.TimeUpdate]: number;
|
|
[GameEvent.GameStateChange]: GameState;
|
|
[GameEvent.ObjectRelease]: Node;
|
|
[GameEvent.BoosterActive]: [BoosterType, string];
|
|
[GameEvent.BoosterDisable]: BoosterType;
|
|
[GameEvent.ControlTouchStart]: ControllerSide;
|
|
[GameEvent.ControlTouchEnd]: ControllerSide;
|
|
[GameEvent.WarningTime]: boolean;
|
|
[GameEvent.TicketUpdate]: number;
|
|
[GameEvent.SpawnMultiBall]: number;
|
|
}
|
|
|
|
export default GameEvent;
|