using System; using ProtoBuf; using Fantasy; using System.Linq; using System.Reflection; using System.Collections.Generic; using System.Collections.Concurrent; using NBC; using NBC.Serialize; namespace NBF { [ProtoContract] public sealed partial class LureConfig : ASerialize, IProto, IConfigTable { [ProtoMember(1)] public uint Id { get; set; } // Id [ProtoMember(2)] public string Model { get; set; } // 模型 [ProtoMember(3)] public string Icon { get; set; } // 图标 [ProtoMember(4)] public uint[] Hook { get; set; } = Array.Empty(); // 勾 [ProtoMember(5)] public uint EfficacyBase { get; set; } // 吸引力 [ProtoMember(6)] public uint Length { get; set; } // 长度(毫米) [ProtoMember(7)] public uint Weight { get; set; } // 重量(克) [ProtoIgnore] public uint Key => Id; #region Static private static ConfigContext Context => ConfigTableHelper.Table(); public static LureConfig Get(uint key) { return Context.Get(key); } public static LureConfig Get(Predicate match) { return Context.Get(match); } public static LureConfig Fist() { return Context.Fist(); } public static LureConfig Last() { return Context.Last(); } public static LureConfig Fist(Predicate match) { return Context.Fist(match); } public static LureConfig 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 } }