| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- <?php
- namespace App\Module\Game\Providers;
- use App\Module\Game\Commands\CleanExpiredRewardLogsCommand;
- use App\Module\Game\Commands\ImportRewardGroupsCommand;
- use App\Module\Game\Commands\TestConditionCommand;
- use App\Module\Game\Commands\TestConsumeCommand;
- use App\Module\Game\Commands\TestItemTempCommand;
- use App\Module\Game\Events\RewardGrantedEvent;
- // 这些事件类需要在 Farm 模块中定义
- // 如果 Farm 模块中尚未定义这些事件类,请先在 Farm 模块中创建它们
- use App\Module\Farm\Events\CropGrowthStageChangedEvent;
- use App\Module\Farm\Events\CropPlantedEvent;
- use App\Module\Farm\Events\DisasterClearedEvent;
- use App\Module\Farm\Events\HouseDowngradedEvent;
- use App\Module\Farm\Events\HouseUpgradedEvent;
- use App\Module\Farm\Events\LandStatusChangedEvent;
- use App\Module\Farm\Events\LandUpgradedEvent;
- use App\Module\Fund\Events\FundChangedEvent;
- use App\Module\Game\Listeners\CropGrowthStageChangedListener;
- use App\Module\Game\Listeners\CropPlantedListener;
- use App\Module\Game\Listeners\DisasterClearedListener;
- use App\Module\Game\Listeners\FundChangedListener;
- use App\Module\Game\Listeners\HouseDowngradedListener;
- use App\Module\Game\Listeners\HouseUpgradedListener;
- use App\Module\Game\Listeners\ItemQuantityChangedListener;
- use App\Module\Game\Listeners\LandStatusChangedListener;
- use App\Module\Game\Listeners\LandUpgradedListener;
- use App\Module\Game\Listeners\LogRewardGrantedListener;
- use App\Module\Game\Listeners\NotifyRewardGrantedListener;
- use App\Module\Game\Listeners\PetCreatedListener;
- use App\Module\Game\Listeners\PetStatusChangedListener;
- use App\Module\Game\Listeners\PetUpdateListener;
- use App\Module\GameItems\Events\ItemQuantityChanged;
- use App\Module\Pet\Events\PetCreatedEvent;
- use App\Module\Pet\Events\PetStatusChangedEvent;
- use App\Module\Pet\Events\PetUpdateEvent;
- use Illuminate\Support\ServiceProvider;
- use Illuminate\Support\Facades\Event;
- /**
- * 游戏模块服务提供者
- *
- * 负责注册游戏模块的事件监听器、命令和其他服务
- */
- class GameServiceProvider extends ServiceProvider
- {
- /**
- * 要注册的命令
- *
- * @var array
- */
- protected $commands = [
- TestItemTempCommand::class,
- ImportRewardGroupsCommand::class,
- CleanExpiredRewardLogsCommand::class,
- TestConsumeCommand::class,
- TestConditionCommand::class,
- ];
- protected $listeners = [
- // ...
- ];
- /**
- * 注册服务
- */
- public function register(): void
- {
- // 注册命令
- $this->commands($this->commands);
- }
- /**
- * 启动服务
- */
- public function boot(): void
- {
- // 注册事件监听器
- Event::listen(
- ItemQuantityChanged::class,
- ItemQuantityChangedListener::class
- );
- // 注册宠物事件监听器
- Event::listen(
- PetCreatedEvent::class,
- PetCreatedListener::class
- );
- Event::listen(
- PetStatusChangedEvent::class,
- PetStatusChangedListener::class
- );
- // 注册宠物更新事件监听器
- Event::listen(
- PetUpdateEvent::class,
- PetUpdateListener::class
- );
- // 注册奖励组系统事件监听器
- Event::listen(
- RewardGrantedEvent::class,
- LogRewardGrantedListener::class
- );
- // 注册奖励组系统事件监听器
- Event::listen(
- RewardGrantedEvent::class,
- NotifyRewardGrantedListener::class
- );
- // 注册土地事件监听器
- Event::listen(
- LandUpgradedEvent::class,
- LandUpgradedListener::class
- );
- // 注册土地状态变更事件监听器
- Event::listen(
- LandStatusChangedEvent::class,
- LandStatusChangedListener::class
- );
- // 注册作物种植事件监听器
- Event::listen(
- CropPlantedEvent::class,
- CropPlantedListener::class
- );
- // 注册作物生长阶段变更事件监听器
- Event::listen(
- CropGrowthStageChangedEvent::class,
- CropGrowthStageChangedListener::class
- );
- // 注册灾害清理事件监听器
- Event::listen(
- DisasterClearedEvent::class,
- DisasterClearedListener::class
- );
- // 注册房屋事件监听器
- Event::listen(
- HouseUpgradedEvent::class,
- HouseUpgradedListener::class
- );
- Event::listen(
- HouseDowngradedEvent::class,
- HouseDowngradedListener::class
- );
- // 注册资金事件监听器
- Event::listen(
- FundChangedEvent::class,
- FundChangedListener::class
- );
- }
- }
|