| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace App\Module\GameItems\Events;
- use Illuminate\Broadcasting\InteractsWithSockets;
- use Illuminate\Foundation\Events\Dispatchable;
- use Illuminate\Queue\SerializesModels;
- /**
- * 物品获取事件
- *
- * 当用户获取物品时触发此事件,包括通过任务奖励、商店购买、宝箱开启等方式获取物品。
- * 此事件可用于更新任务进度、触发成就解锁、记录日志等功能。
- * 事件包含获取物品的详细信息,如用户ID、物品ID、数量、来源等。
- */
- class ItemAcquired
- {
- use Dispatchable, InteractsWithSockets, SerializesModels;
- /**
- * 用户ID
- *
- * @var int
- */
- public $userId;
- /**
- * 物品ID
- *
- * @var int
- */
- public $itemId;
- /**
- * 物品实例ID(单独属性物品)
- *
- * @var int|null
- */
- public $instanceId;
- /**
- * 数量
- *
- * @var int
- */
- public $quantity;
- /**
- * 选项
- *
- * @var array
- */
- public $options;
- /**
- * 创建一个新的事件实例
- *
- * @param int $userId 用户ID
- * @param int $itemId 物品ID
- * @param int|null $instanceId 物品实例ID
- * @param int $quantity 数量
- * @param array $options 选项
- * @return void
- */
- public function __construct(int $userId, int $itemId, ?int $instanceId, int $quantity, array $options = [])
- {
- $this->userId = $userId;
- $this->itemId = $itemId;
- $this->instanceId = $instanceId;
- $this->quantity = $quantity;
- $this->options = $options;
- }
- }
|