From 1969c1ec897302fcb4afe0fb9362444af506b271 Mon Sep 17 00:00:00 2001 From: Naruse <71993948+DevilProMT@users.noreply.github.com> Date: Wed, 29 Apr 2026 09:46:21 +0800 Subject: [PATCH] use enum for item slots --- Common/Database/Character/CharacterData.cs | 9 ++-- Common/Database/Inventory/InventoryData.cs | 4 +- Common/Enums/Item/ItemFlagEnum.cs | 13 ------ Common/Enums/Item/ItemTypeEnum.cs | 52 ++++++++++++++++++++++ 4 files changed, 58 insertions(+), 20 deletions(-) delete mode 100644 Common/Enums/Item/ItemFlagEnum.cs diff --git a/Common/Database/Character/CharacterData.cs b/Common/Database/Character/CharacterData.cs index 2330f96..ec0608a 100644 --- a/Common/Database/Character/CharacterData.cs +++ b/Common/Database/Character/CharacterData.cs @@ -29,8 +29,7 @@ public class CharacterInfo [SugarColumn(IsJson = true)] public List UnlockedSkin { get; set; } = []; [SugarColumn(IsJson = true)] public List Spines { get; set; } = []; [SugarColumn(IsJson = true)] public List Affixs { get; set; } = []; - // Key = EqSlot (= support card Detail), Value = support card UniqueId - [SugarColumn(IsJson = true)] public Dictionary SupportSlots { get; set; } = []; + [SugarColumn(IsJson = true)] public Dictionary SupportSlots { get; set; } = []; // Key = EqSlot (= support card Detail), Value = support card UniqueId public long Timestamp { get; set; } public uint Count { get; set; } = 1; @@ -56,9 +55,9 @@ public class CharacterInfo proto.Enhance.Spines.AddRange(Spines.Select(x => (ulong)x)); proto.Enhance.Affixs.AddRange(Affixs); - proto.Slots[4] = WeaponUniqueId; - proto.Slots[5] = SkinId; - proto.Slots[6] = WeaponSkinId; + proto.Slots[(uint)ItemCardSlotTypeEnum.SLOT_WEAPON] = WeaponUniqueId; + proto.Slots[(uint)ItemCardSlotTypeEnum.SLOT_SKIN] = SkinId; + proto.Slots[(uint)ItemCardSlotTypeEnum.SLOT_WEAPON_SKIN] = WeaponSkinId; foreach (var (slot, uid) in SupportSlots) proto.Slots[slot] = uid; diff --git a/Common/Database/Inventory/InventoryData.cs b/Common/Database/Inventory/InventoryData.cs index 02cbf50..38650ca 100644 --- a/Common/Database/Inventory/InventoryData.cs +++ b/Common/Database/Inventory/InventoryData.cs @@ -93,7 +93,7 @@ public class GameSkinInfo : BaseGameItemInfo Count = ItemCount, Flag = (uint)Flag, }; - proto.Slots[11] = Math.Min(SkinType, 1); + proto.Slots[(uint)ItemSkinSlotTypeEnum.SLOT_CARD_SKIL_TYPE] = Math.Min(SkinType, 1); return proto; } } @@ -116,7 +116,7 @@ public class GameSupportCardInfo : BaseGameItemInfo Exp = Exp } }; - proto.Slots[1] = AffixId; + proto.Slots[(uint)ItemSupportCardSlotTypeEnum.SLOT_AFFIXINDEX] = AffixId; return proto; } } diff --git a/Common/Enums/Item/ItemFlagEnum.cs b/Common/Enums/Item/ItemFlagEnum.cs deleted file mode 100644 index 8686b8d..0000000 --- a/Common/Enums/Item/ItemFlagEnum.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace MikuSB.Enums.Item; - -public enum ItemFlagEnum -{ - FLAG_USE = 1,// 使用中 - FLAG_LOCK = 2,// 锁定中 - FLAG_READED = 4,// 道具已查看 - FLAG_LEAVE = 8,// 角色大招后离场 - FLAG_WEAPON_DEFAULT = 16,// 武器显示原始样式 - FLAG_WEAPON_AUDIO = 32,// 武器消音器音效 - FLAG_ROLE_LIKE = 64,// 心选角色 -} - diff --git a/Common/Enums/Item/ItemTypeEnum.cs b/Common/Enums/Item/ItemTypeEnum.cs index 8e7be17..273cdc3 100644 --- a/Common/Enums/Item/ItemTypeEnum.cs +++ b/Common/Enums/Item/ItemTypeEnum.cs @@ -25,4 +25,56 @@ public enum ItemTypeEnum TYPE_MAIN_SCENE = 21, //主界面场景道具 TYPE_AR = 24, //AR道具 TYPE_CALL = 25, //电话陪伴道具 +} + +public enum ItemCardSlotTypeEnum +{ + SLOT_SUPPORTERCARD1 = 1, // 后勤卡 + SLOT_SUPPORTERCARD2 = 2, // 后勤卡 + SLOT_SUPPORTERCARD3 = 3, // 后勤卡 + SLOT_WEAPON = 4, // 武器 + SLOT_SKIN = 5, // 时装 + SLOT_WEAPON_SKIN = 6, // 武器时装 + SLOT_SUPPORTERINDEX = 7, // 当前使用的后勤组 + SLOT_SUPPORTERCARD4 = 8, // 后勤卡 + SLOT_SUPPORTERCARD5 = 9, // 后勤卡 + SLOT_SUPPORTERCARD6 = 10, // 后勤卡 + SLOT_SUPPORTERCARD7 = 11, // 后勤卡 + SLOT_SUPPORTERCARD8 = 12, // 后勤卡 + SLOT_SUPPORTERCARD9 = 13, // 后勤卡 +} + +public enum ItemSkinPartSlotTypeEnum +{ + SLOT_SkinPartSlot1 = 1, + SLOT_SkinPartSlot2 = 2, + SLOT_SkinPartSlot3 = 3, + SLOT_SkinPartSlot4 = 4, + SLOT_SkinPartSlot5 = 5, + SLOT_SkinPartSlot6 = 6, + SLOT_SkinPartSlot7 = 7, + SLOT_SkinPartSlot8 = 8, + SLOT_SkinPartSlot9 = 9, + SLOT_SkinPartSlot10 = 10, +} + +public enum ItemSkinSlotTypeEnum +{ + SLOT_CARD_SKIL_TYPE = 11 +} + +public enum ItemSupportCardSlotTypeEnum +{ + SLOT_AFFIXINDEX = 1 // 可洗练的初始词缀索引 +} + +public enum ItemFlagEnum +{ + FLAG_USE = 1, // 使用中 + FLAG_LOCK = 2, // 锁定中 + FLAG_READED = 4, // 道具已查看 + FLAG_LEAVE = 8, // 角色大招后离场 + FLAG_WEAPON_DEFAULT = 16, // 武器显示原始样式 + FLAG_WEAPON_AUDIO = 32, // 武器消音器音效 + FLAG_ROLE_LIKE = 64, // 心选角色 } \ No newline at end of file