From 046a2ed644c980d2bdab6f9100e91de186c5b98c Mon Sep 17 00:00:00 2001 From: Nattsu39 Date: Fri, 31 Jul 2026 11:45:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20parser:=20product=5Fdiamon?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/solaris/solaris/parse/parsers/product_diamond.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/solaris/solaris/parse/parsers/product_diamond.py b/packages/solaris/solaris/parse/parsers/product_diamond.py index 1163ae9..30c822b 100644 --- a/packages/solaris/solaris/parse/parsers/product_diamond.py +++ b/packages/solaris/solaris/parse/parsers/product_diamond.py @@ -7,7 +7,6 @@ class ProductDiamondItem(TypedDict): """钻石产品项""" - icon: str name: str item_id: list[int] # 对应 C# 的 itemID[] price: int @@ -52,13 +51,12 @@ def parse(self, data: bytes) -> ProductDiamondConfig: for _ in range(count): # 按照IItemItem.Parse的顺序读取字段 - icon = reader.ReadUTFBytesWithLength() - # 读取可选的itemID数组 item_id: list[int] = [] if reader.ReadBoolean(): item_id_count = reader.ReadSignedInt() - item_id = [reader.ReadSignedInt() for _ in range(item_id_count)] + if item_id_count > 0: + item_id = [reader.ReadSignedInt() for _ in range(item_id_count)] name = reader.ReadUTFBytesWithLength() price = reader.ReadSignedInt() @@ -66,7 +64,6 @@ def parse(self, data: bytes) -> ProductDiamondConfig: vip = reader.ReadFloat() item = ProductDiamondItem( - icon=icon, name=name, item_id=item_id, price=price,