| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- import { EventTarget } from 'cc';
- /**
- * 全局事件总线,用于模块间解耦通信。
- */
- export enum GameEvents {
- // 游戏状态事件
- GAME_START = 'GAME_START',
- GAME_PAUSE = 'GAME_PAUSE',
- GAME_RESUME = 'GAME_RESUME',
- GAME_SUCCESS = 'GAME_SUCCESS',
- GAME_DEFEAT = 'GAME_DEFEAT',
-
- // 游戏重置事件
- GAME_RESTART = 'GAME_RESTART',
- GAME_RESET_REQUEST = 'GAME_RESET_REQUEST',
- GAME_RESET_COMPLETE = 'GAME_RESET_COMPLETE',
-
- // 组件重置事件
- RESET_GAME_MANAGER = 'RESET_GAME_MANAGER',
- RESET_ENEMY_CONTROLLER = 'RESET_ENEMY_CONTROLLER',
- RESET_BALL_CONTROLLER = 'RESET_BALL_CONTROLLER',
- RESET_BLOCK_MANAGER = 'RESET_BLOCK_MANAGER',
- RESET_BLOCK_SELECTION = 'RESET_BLOCK_SELECTION',
- RESET_WALL_HEALTH = 'RESET_WALL_HEALTH',
- RESET_GAME_PAUSE = 'RESET_GAME_PAUSE',
- RESET_UI_STATES = 'RESET_UI_STATES',
- RESET_ENERGY_SYSTEM = 'RESET_ENERGY_SYSTEM',
-
- // 游戏对象清理事件
- CLEAR_ALL_BULLETS = 'CLEAR_ALL_BULLETS',
- CLEAR_ALL_ENEMIES = 'CLEAR_ALL_ENEMIES',
- CLEAR_ALL_GAME_OBJECTS = 'CLEAR_ALL_GAME_OBJECTS',
-
- // UI事件
- UPGRADE_UPDATED = 'UPGRADE_UPDATED',
- RETURN_TO_MAIN_MENU = 'RETURN_TO_MAIN_MENU',
- CURRENCY_CHANGED = 'CURRENCY_CHANGED',
- UI_PANEL_SWITCHED = 'UI_PANEL_SWITCHED',
-
- // UI状态切换事件(根据游戏管理文档)
- ENTER_BATTLE_PREPARATION = 'ENTER_BATTLE_PREPARATION', // 进入备战阶段
- ENTER_PLAYING_STATE = 'ENTER_PLAYING_STATE', // 进入游玩状态
- ENTER_GAME_END_STATE = 'ENTER_GAME_END_STATE', // 进入游戏结束状态
-
- // 敌人控制事件(保留实际使用的事件)
-
- // 墙体事件
- WALL_HEALTH_CHANGED = 'WALL_HEALTH_CHANGED',
- WALL_DESTROYED = 'WALL_DESTROYED',
- WALL_TAKE_DAMAGE = 'WALL_TAKE_DAMAGE',
-
- // 球控制事件
- BALL_CREATE = 'BALL_CREATE',
- BALL_START = 'BALL_START',
- BALL_CREATE_ADDITIONAL = 'BALL_CREATE_ADDITIONAL',
- BALL_FIRE_BULLET = 'BALL_FIRE_BULLET',
-
- // 敌人控制事件
- ENEMY_GET_NEAREST = 'ENEMY_GET_NEAREST',
- ENEMY_UPDATE_COUNT = 'ENEMY_UPDATE_COUNT',
- ENEMY_SPAWNING_STARTED = 'ENEMY_SPAWNING_STARTED',
- ENEMY_SPAWNING_STOPPED = 'ENEMY_SPAWNING_STOPPED',
-
- // 伤害事件
- APPLY_DAMAGE_TO_ENEMY = 'APPLY_DAMAGE_TO_ENEMY',
- BURN_EFFECT_ENDED = 'BURN_EFFECT_ENDED',
- ENEMY_START_WAVE = 'ENEMY_START_WAVE',
- ENEMY_START_GAME = 'ENEMY_START_GAME',
- ENEMY_SHOW_START_WAVE_PROMPT = 'ENEMY_SHOW_START_WAVE_PROMPT',
-
- // 游戏状态检查事件
- GAME_CHECK_OVER = 'GAME_CHECK_OVER',
-
-
- // 方块生成事件
- GENERATE_BLOCKS = 'GENERATE_BLOCKS',
- WAVE_COMPLETED = 'WAVE_COMPLETED',
- SETUP_BLOCK_DRAG_EVENTS = 'SETUP_BLOCK_DRAG_EVENTS',
-
- // 子弹事件
- BULLET_CREATE_REQUEST = 'BULLET_CREATE_REQUEST',
- BULLET_HIT_ENEMY = 'BULLET_HIT_ENEMY',
-
- // 方块拖拽事件
- BLOCK_DRAG_START = 'BLOCK_DRAG_START',
- BLOCK_DRAG_END = 'BLOCK_DRAG_END',
-
- // Toast提示事件
- SHOW_TOAST = 'SHOW_TOAST',
- HIDE_TOAST = 'HIDE_TOAST',
-
- // 资源不足Toast事件
- SHOW_RESOURCE_TOAST = 'SHOW_RESOURCE_TOAST',
- HIDE_RESOURCE_TOAST = 'HIDE_RESOURCE_TOAST'
- }
- export default class EventBus extends EventTarget {
- private static _instance: EventBus;
- private constructor() {
- super();
- }
- public static getInstance(): EventBus {
- if (!this._instance) {
- this._instance = new EventBus();
- }
- return this._instance;
- }
- }
|