['item_id' => int, 'instance_id' => int, 'quantity' => int]] * * @var array */ private static array $itemRewards = []; /** * 代币奖励数据 * 格式:[coin_type => ['type' => int, 'quantity' => int]] * * @var array */ private static array $coinRewards = []; /** * 神像奖励数据 * 格式:[god_type => ['type' => int, 'diff' => int, 'quantity' => int]] * * @var array */ private static array $godRewards = []; /** * 添加物品奖励 * * @param int $itemId 物品ID * @param int $instanceId 物品实例ID * @param int $quantity 奖励数量 * @return void */ public static function addItemReward(int $itemId, int $instanceId, int $quantity): void { $key = $itemId . '_' . $instanceId; if (isset(self::$itemRewards[$key])) { // 如果已存在,累加数量 self::$itemRewards[$key]['quantity'] += $quantity; } else { // 新增奖励记录 self::$itemRewards[$key] = [ 'item_id' => $itemId, 'instance_id' => $instanceId, 'quantity' => $quantity, ]; } } /** * 添加代币奖励 * * @param int $coinType 代币类型 * @param int $quantity 奖励数量 * @return void */ public static function addCoinReward(int $coinType, int $quantity): void { if (isset(self::$coinRewards[$coinType])) { // 如果已存在,累加数量 self::$coinRewards[$coinType]['quantity'] += $quantity; } else { // 新增奖励记录 self::$coinRewards[$coinType] = [ 'type' => $coinType, 'quantity' => $quantity, ]; } } /** * 添加神像奖励 * * @param int $godType 神像类型 * @param int $diff 时间差值(秒) * @param int $quantity 奖励数量 * @return void */ public static function addGodReward(int $godType, int $diff, int $quantity): void { if (isset(self::$godRewards[$godType])) { // 如果已存在,累加数量和时间 self::$godRewards[$godType]['quantity'] += $quantity; self::$godRewards[$godType]['diff'] += $diff; } else { // 新增奖励记录 self::$godRewards[$godType] = [ 'type' => $godType, 'diff' => $diff, 'quantity' => $quantity, ]; } } /** * 获取本次请求的所有奖励数据 * * @return array 奖励数据数组,包含items、coins和gods */ public static function getRewards(): array { return [ 'items' => array_values(self::$itemRewards), 'coins' => array_values(self::$coinRewards), 'gods' => array_values(self::$godRewards), ]; } /** * 清空本次请求的奖励数据 * * @return void */ public static function clearRewards(): void { self::$itemRewards = []; self::$coinRewards = []; self::$godRewards = []; } /** * 检查是否有奖励数据 * * @return bool */ public static function hasRewards(): bool { return !empty(self::$itemRewards) || !empty(self::$coinRewards) || !empty(self::$godRewards); } /** * 获取物品奖励数据 * * @return array */ public static function getItemRewards(): array { return array_values(self::$itemRewards); } /** * 获取代币奖励数据 * * @return array */ public static function getCoinRewards(): array { return array_values(self::$coinRewards); } /** * 获取神像奖励数据 * * @return array */ public static function getGodRewards(): array { return array_values(self::$godRewards); } }