PetSkillUsedEvent.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace App\Module\Pet\Events;
  3. use Illuminate\Broadcasting\InteractsWithSockets;
  4. use Illuminate\Foundation\Events\Dispatchable;
  5. use Illuminate\Queue\SerializesModels;
  6. /**
  7. * 宠物技能使用事件
  8. *
  9. * 当用户使用宠物技能时触发此事件,允许其他系统响应宠物技能的使用。
  10. * 此事件可用于记录技能使用日志、更新技能冷却时间、处理技能效果等。
  11. */
  12. class PetSkillUsedEvent
  13. {
  14. use Dispatchable, InteractsWithSockets, SerializesModels;
  15. /**
  16. * 用户ID
  17. *
  18. * @var int
  19. */
  20. public int $userId;
  21. /**
  22. * 宠物ID
  23. *
  24. * @var int
  25. */
  26. public int $petId;
  27. /**
  28. * 技能ID
  29. *
  30. * @var int
  31. */
  32. public int $skillId;
  33. /**
  34. * 技能参数
  35. *
  36. * @var array
  37. */
  38. public array $params;
  39. /**
  40. * 创建一个新的事件实例
  41. *
  42. * @param int $userId 用户ID
  43. * @param int $petId 宠物ID
  44. * @param int $skillId 技能ID
  45. * @param array $params 技能参数
  46. * @return void
  47. */
  48. public function __construct(int $userId, int $petId, int $skillId, array $params = [])
  49. {
  50. $this->userId = $userId;
  51. $this->petId = $petId;
  52. $this->skillId = $skillId;
  53. $this->params = $params;
  54. }
  55. }