using System.Text.Json.Serialization; using Yuanshen.Common.Data.Excel.Attributes; namespace Yuanshen.Common.Data.Excel; public sealed class MaterialItemUse { [JsonPropertyName("useOp")] public string UseOp { get; set; } = string.Empty; [JsonPropertyName("useParam")] public List UseParam { get; set; } = new(); } [Excel(ExcelType.Material, "MaterialExcelConfigData.json")] public sealed class MaterialExcel : ExcelItem { public const string GainAvatar = "ITEM_USE_GAIN_AVATAR"; [JsonPropertyName("id")] public uint Id { get; set; } [JsonPropertyName("materialType")] public string MaterialType { get; set; } = string.Empty; [JsonPropertyName("itemUse")] public List ItemUse { get; set; } = new(); public override uint ExcelId => Id; public uint GainedAvatarId { get { foreach (MaterialItemUse use in ItemUse) { if (use.UseOp == GainAvatar && use.UseParam.Count != 0 && uint.TryParse(use.UseParam[0], out uint avatarId)) return avatarId; } return 0; } } }