using System; using ProtoBuf; using Fantasy; using System.Linq; using System.Reflection; using System.Collections.Generic; using System.Collections.Concurrent; using NBC; using Fantasy.Serialize; namespace NBF { [ProtoContract] public sealed partial class ReelConfig : ASerialize, IConfigTable { [ProtoMember(1)] public uint Id { get; set; } // Id [ProtoMember(2)] public uint ReelType { get; set; } // 鱼轮类型 [ProtoMember(3)] public float[] GearRatio { get; set; } = Array.Empty(); // 组件比 [ProtoMember(4)] public uint Strength { get; set; } // 强度 [ProtoIgnore] public uint Key => Id; #region Static private static ConfigContext Context => ConfigTableHelper.Table(); public static ReelConfig Get(uint key) { return Context.Get(key); } public static ReelConfig Get(Predicate match) { return Context.Get(match); } public static ReelConfig Fist() { return Context.Fist(); } public static ReelConfig Last() { return Context.Last(); } public static ReelConfig Fist(Predicate match) { return Context.Fist(match); } public static ReelConfig Last(Predicate match) { return Context.Last(match); } public static int Count() { return Context.Count(); } public static int Count(Func predicate) { return Context.Count(predicate); } public static List GetList() { return Context.GetList(); } public static List GetList(Predicate match) { return Context.GetList(match); } public static void ParseJson(Newtonsoft.Json.Linq.JArray arr) { ConfigTableHelper.ParseLine(arr); } #endregion } }