| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace App\Module\GameItems\Events;
- use Illuminate\Broadcasting\InteractsWithSockets;
- use Illuminate\Foundation\Events\Dispatchable;
- use Illuminate\Queue\SerializesModels;
- /**
- * 物品消耗事件
- *
- * 当用户消耗物品时触发此事件,包括使用物品、合成材料消耗、任务提交等方式消耗物品。
- * 此事件可用于更新任务进度、触发特殊效果、记录日志等功能。
- * 事件包含消耗物品的详细信息,如用户ID、物品ID、数量、消耗原因等。
- */
- class ItemConsumed
- {
- 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;
- }
- }
|