diff --git a/Assets/Gen/Bait.cs b/Assets/Gen/Bait.cs new file mode 100644 index 0000000..25184f3 --- /dev/null +++ b/Assets/Gen/Bait.cs @@ -0,0 +1,66 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Bait : Luban.BeanBase +{ + public Bait(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["efficacy_base"].IsNumber) { throw new SerializationException(); } EfficacyBase = _buf["efficacy_base"]; } + { var __json0 = _buf["arr"]; if(!__json0.IsArray) { throw new SerializationException(); } Arr = new System.Collections.Generic.List(__json0.Count); foreach(JSONNode __e0 in __json0.Children) { int __v0; { if(!__e0.IsNumber) { throw new SerializationException(); } __v0 = __e0; } Arr.Add(__v0); } } + { if(!_buf["strength"].IsNumber) { throw new SerializationException(); } Strength = _buf["strength"]; } + } + + public static Bait DeserializeBait(JSONNode _buf) + { + return new Bait(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 吸引力 + /// + public readonly int EfficacyBase; + /// + /// 导线圈 + /// + public readonly System.Collections.Generic.List Arr; + /// + /// 强度 + /// + public readonly int Strength; + + public const int __ID__ = 2062794; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "efficacyBase:" + EfficacyBase + "," + + "arr:" + Luban.StringUtil.CollectionToString(Arr) + "," + + "strength:" + Strength + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/BasicConfig.cs b/Assets/Gen/BasicConfig.cs new file mode 100644 index 0000000..0fe0890 --- /dev/null +++ b/Assets/Gen/BasicConfig.cs @@ -0,0 +1,69 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class BasicConfig : Luban.BeanBase +{ + public BasicConfig(JSONNode _buf) + { + { if(!_buf["x1"].IsNumber) { throw new SerializationException(); } X1 = _buf["x1"]; } + { if(!_buf["x2"].IsNumber) { throw new SerializationException(); } X2 = _buf["x2"]; } + { if(!_buf["x3"].IsNumber) { throw new SerializationException(); } X3 = _buf["x3"]; } + { if(!_buf["x4"].IsNumber) { throw new SerializationException(); } X4 = _buf["x4"]; } + { if(!_buf["x5"].IsNumber) { throw new SerializationException(); } X5 = _buf["x5"]; } + { if(!_buf["x6"].IsNumber) { throw new SerializationException(); } X6 = _buf["x6"]; } + { var __json0 = _buf["x7"]; if(!__json0.IsArray) { throw new SerializationException(); } X7 = new System.Collections.Generic.List(__json0.Count); foreach(JSONNode __e0 in __json0.Children) { int __v0; { if(!__e0.IsNumber) { throw new SerializationException(); } __v0 = __e0; } X7.Add(__v0); } } + } + + public static BasicConfig DeserializeBasicConfig(JSONNode _buf) + { + return new BasicConfig(_buf); + } + + /// + /// 参数1 + /// + public readonly int X1; + /// + /// 道具 + /// + public readonly int X2; + public readonly int X3; + public readonly int X4; + public readonly int X5; + public readonly int X6; + public readonly System.Collections.Generic.List X7; + + public const int __ID__ = 378573040; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "x1:" + X1 + "," + + "x2:" + X2 + "," + + "x3:" + X3 + "," + + "x4:" + X4 + "," + + "x5:" + X5 + "," + + "x6:" + X6 + "," + + "x7:" + Luban.StringUtil.CollectionToString(X7) + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Bobber.cs b/Assets/Gen/Bobber.cs new file mode 100644 index 0000000..aa3c2af --- /dev/null +++ b/Assets/Gen/Bobber.cs @@ -0,0 +1,60 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Bobber : Luban.BeanBase +{ + public Bobber(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["displacement"].IsNumber) { throw new SerializationException(); } Displacement = _buf["displacement"]; } + { var __json0 = _buf["night_light"]; if(!__json0.IsArray) { throw new SerializationException(); } NightLight = new System.Collections.Generic.List(__json0.Count); foreach(JSONNode __e0 in __json0.Children) { float __v0; { if(!__e0.IsNumber) { throw new SerializationException(); } __v0 = __e0; } NightLight.Add(__v0); } } + } + + public static Bobber DeserializeBobber(JSONNode _buf) + { + return new Bobber(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 位移 + /// + public readonly int Displacement; + /// + /// 是否夜光 + /// + public readonly System.Collections.Generic.List NightLight; + + public const int __ID__ = 1995051738; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "displacement:" + Displacement + "," + + "nightLight:" + Luban.StringUtil.CollectionToString(NightLight) + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Feeder.cs b/Assets/Gen/Feeder.cs new file mode 100644 index 0000000..501d2f7 --- /dev/null +++ b/Assets/Gen/Feeder.cs @@ -0,0 +1,60 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Feeder : Luban.BeanBase +{ + public Feeder(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["capacity"].IsNumber) { throw new SerializationException(); } Capacity = _buf["capacity"]; } + { if(!_buf["weight"].IsNumber) { throw new SerializationException(); } Weight = _buf["weight"]; } + } + + public static Feeder DeserializeFeeder(JSONNode _buf) + { + return new Feeder(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 能力 + /// + public readonly int Capacity; + /// + /// 重量(克) + /// + public readonly int Weight; + + public const int __ID__ = 2100424427; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "capacity:" + Capacity + "," + + "weight:" + Weight + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Fish.cs b/Assets/Gen/Fish.cs new file mode 100644 index 0000000..45ce5fc --- /dev/null +++ b/Assets/Gen/Fish.cs @@ -0,0 +1,78 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Fish : Luban.BeanBase +{ + public Fish(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["name"].IsString) { throw new SerializationException(); } Name = _buf["name"]; } + { if(!_buf["model"].IsString) { throw new SerializationException(); } Model = _buf["model"]; } + { if(!_buf["min_weight"].IsNumber) { throw new SerializationException(); } MinWeight = _buf["min_weight"]; } + { if(!_buf["max_weight"].IsNumber) { throw new SerializationException(); } MaxWeight = _buf["max_weight"]; } + { if(!_buf["accept"].IsNumber) { throw new SerializationException(); } Accept = _buf["accept"]; } + } + + public static Fish DeserializeFish(JSONNode _buf) + { + return new Fish(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 鱼名字 + /// + public readonly string Name; + /// + /// 模型 + /// + public readonly string Model; + /// + /// 最小重量(克) + /// + public readonly int MinWeight; + /// + /// 最大重量(克) + /// + public readonly int MaxWeight; + /// + /// 接受的鱼饵配置组 + /// + public readonly int Accept; + + public const int __ID__ = 2189944; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "name:" + Name + "," + + "model:" + Model + "," + + "minWeight:" + MinWeight + "," + + "maxWeight:" + MaxWeight + "," + + "accept:" + Accept + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Hook.cs b/Assets/Gen/Hook.cs new file mode 100644 index 0000000..6c76067 --- /dev/null +++ b/Assets/Gen/Hook.cs @@ -0,0 +1,54 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Hook : Luban.BeanBase +{ + public Hook(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["ding"].IsNumber) { throw new SerializationException(); } Ding = _buf["ding"]; } + } + + public static Hook DeserializeHook(JSONNode _buf) + { + return new Hook(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 长钉 + /// + public readonly int Ding; + + public const int __ID__ = 2255171; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "ding:" + Ding + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/InitItemConfig.cs b/Assets/Gen/InitItemConfig.cs new file mode 100644 index 0000000..562cb4e --- /dev/null +++ b/Assets/Gen/InitItemConfig.cs @@ -0,0 +1,54 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class InitItemConfig : Luban.BeanBase +{ + public InitItemConfig(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["count"].IsNumber) { throw new SerializationException(); } Count = _buf["count"]; } + } + + public static InitItemConfig DeserializeInitItemConfig(JSONNode _buf) + { + return new InitItemConfig(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 数量 + /// + public readonly int Count; + + public const int __ID__ = 1451166085; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "count:" + Count + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Item.cs b/Assets/Gen/Item.cs new file mode 100644 index 0000000..f6e13b6 --- /dev/null +++ b/Assets/Gen/Item.cs @@ -0,0 +1,96 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Item : Luban.BeanBase +{ + public Item(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["model"].IsString) { throw new SerializationException(); } Model = _buf["model"]; } + { if(!_buf["type"].IsNumber) { throw new SerializationException(); } Type = _buf["type"]; } + { if(!_buf["quality"].IsNumber) { throw new SerializationException(); } Quality = _buf["quality"]; } + { if(!_buf["brand"].IsNumber) { throw new SerializationException(); } Brand = _buf["brand"]; } + { if(!_buf["weight"].IsNumber) { throw new SerializationException(); } Weight = _buf["weight"]; } + { if(!_buf["length"].IsNumber) { throw new SerializationException(); } Length = _buf["length"]; } + { if(!_buf["max"].IsNumber) { throw new SerializationException(); } Max = _buf["max"]; } + { if(!_buf["auto_use"].IsNumber) { throw new SerializationException(); } AutoUse = _buf["auto_use"]; } + } + + public static Item DeserializeItem(JSONNode _buf) + { + return new Item(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 模型 + /// + public readonly string Model; + /// + /// 子类型 + /// + public readonly int Type; + /// + /// 品质 + /// + public readonly int Quality; + /// + /// 品牌 + /// + public readonly int Brand; + /// + /// 重量(克) + /// + public readonly int Weight; + /// + /// 长度(毫米) + /// + public readonly int Length; + /// + /// 最大堆叠数量 + /// + public readonly int Max; + /// + /// 获得自动使用 + /// + public readonly int AutoUse; + + public const int __ID__ = 2289459; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "model:" + Model + "," + + "type:" + Type + "," + + "quality:" + Quality + "," + + "brand:" + Brand + "," + + "weight:" + Weight + "," + + "length:" + Length + "," + + "max:" + Max + "," + + "autoUse:" + AutoUse + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Line.cs b/Assets/Gen/Line.cs new file mode 100644 index 0000000..3eb9440 --- /dev/null +++ b/Assets/Gen/Line.cs @@ -0,0 +1,60 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Line : Luban.BeanBase +{ + public Line(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["strength"].IsNumber) { throw new SerializationException(); } Strength = _buf["strength"]; } + { if(!_buf["size"].IsNumber) { throw new SerializationException(); } Size = _buf["size"]; } + } + + public static Line DeserializeLine(JSONNode _buf) + { + return new Line(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 强度 + /// + public readonly int Strength; + /// + /// 尺寸 + /// + public readonly int Size; + + public const int __ID__ = 2368532; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "strength:" + Strength + "," + + "size:" + Size + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Lure.cs b/Assets/Gen/Lure.cs new file mode 100644 index 0000000..4baae52 --- /dev/null +++ b/Assets/Gen/Lure.cs @@ -0,0 +1,66 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Lure : Luban.BeanBase +{ + public Lure(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { var __json0 = _buf["hook"]; if(!__json0.IsArray) { throw new SerializationException(); } Hook = new System.Collections.Generic.List(__json0.Count); foreach(JSONNode __e0 in __json0.Children) { int __v0; { if(!__e0.IsNumber) { throw new SerializationException(); } __v0 = __e0; } Hook.Add(__v0); } } + { if(!_buf["hook_num"].IsNumber) { throw new SerializationException(); } HookNum = _buf["hook_num"]; } + { if(!_buf["efficacy_base"].IsNumber) { throw new SerializationException(); } EfficacyBase = _buf["efficacy_base"]; } + } + + public static Lure DeserializeLure(JSONNode _buf) + { + return new Lure(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 鱼钩 + /// + public readonly System.Collections.Generic.List Hook; + /// + /// 装配鱼钩数量 + /// + public readonly int HookNum; + /// + /// 吸引力 + /// + public readonly int EfficacyBase; + + public const int __ID__ = 2380188; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "hook:" + Luban.StringUtil.CollectionToString(Hook) + "," + + "hookNum:" + HookNum + "," + + "efficacyBase:" + EfficacyBase + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Reel.cs b/Assets/Gen/Reel.cs new file mode 100644 index 0000000..6c8899e --- /dev/null +++ b/Assets/Gen/Reel.cs @@ -0,0 +1,66 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Reel : Luban.BeanBase +{ + public Reel(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["reel_type"].IsNumber) { throw new SerializationException(); } ReelType = _buf["reel_type"]; } + { var __json0 = _buf["gear_ratio"]; if(!__json0.IsArray) { throw new SerializationException(); } GearRatio = new System.Collections.Generic.List(__json0.Count); foreach(JSONNode __e0 in __json0.Children) { float __v0; { if(!__e0.IsNumber) { throw new SerializationException(); } __v0 = __e0; } GearRatio.Add(__v0); } } + { if(!_buf["strength"].IsNumber) { throw new SerializationException(); } Strength = _buf["strength"]; } + } + + public static Reel DeserializeReel(JSONNode _buf) + { + return new Reel(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 鱼轮类型 + /// + public readonly int ReelType; + /// + /// 组件比 + /// + public readonly System.Collections.Generic.List GearRatio; + /// + /// 强度 + /// + public readonly int Strength; + + public const int __ID__ = 2543162; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "reelType:" + ReelType + "," + + "gearRatio:" + Luban.StringUtil.CollectionToString(GearRatio) + "," + + "strength:" + Strength + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Rod.cs b/Assets/Gen/Rod.cs new file mode 100644 index 0000000..8df3bec --- /dev/null +++ b/Assets/Gen/Rod.cs @@ -0,0 +1,78 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public sealed partial class Rod : Luban.BeanBase +{ + public Rod(JSONNode _buf) + { + { if(!_buf["id"].IsNumber) { throw new SerializationException(); } Id = _buf["id"]; } + { if(!_buf["rod_type"].IsNumber) { throw new SerializationException(); } RodType = _buf["rod_type"]; } + { if(!_buf["ring"].IsNumber) { throw new SerializationException(); } Ring = _buf["ring"]; } + { if(!_buf["strength"].IsNumber) { throw new SerializationException(); } Strength = _buf["strength"]; } + { if(!_buf["max_range"].IsNumber) { throw new SerializationException(); } MaxRange = _buf["max_range"]; } + { if(!_buf["construction_type"].IsNumber) { throw new SerializationException(); } ConstructionType = _buf["construction_type"]; } + } + + public static Rod DeserializeRod(JSONNode _buf) + { + return new Rod(_buf); + } + + /// + /// Id + /// + public readonly int Id; + /// + /// 鱼竿类型 + /// + public readonly int RodType; + /// + /// 导线圈 + /// + public readonly int Ring; + /// + /// 强度 + /// + public readonly int Strength; + /// + /// 最大范围 + /// + public readonly int MaxRange; + /// + /// 结构类型 + /// + public readonly int ConstructionType; + + public const int __ID__ = 82343; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "rodType:" + RodType + "," + + "ring:" + Ring + "," + + "strength:" + Strength + "," + + "maxRange:" + MaxRange + "," + + "constructionType:" + ConstructionType + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/Tables.cs b/Assets/Gen/Tables.cs new file mode 100644 index 0000000..277a1ed --- /dev/null +++ b/Assets/Gen/Tables.cs @@ -0,0 +1,100 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + +namespace cfg +{ +public partial class Tables +{ + /// + /// 鱼饵 + /// + public TbBait TbBait {get; } + /// + /// 全局常量配置表 + /// + public TbBasicConfig TbBasicConfig {get; } + /// + /// 浮漂 + /// + public TbBobber TbBobber {get; } + /// + /// 菲德 + /// + public TbFeeder TbFeeder {get; } + /// + /// 鱼 + /// + public TbFish TbFish {get; } + /// + /// 鱼钩 + /// + public TbHook TbHook {get; } + /// + /// 初始物品表 + /// + public TbInitItemConfig TbInitItemConfig {get; } + /// + /// 物品表 + /// + public TbItem TbItem {get; } + /// + /// 鱼线 + /// + public TbLine TbLine {get; } + /// + /// 路亚饵 + /// + public TbLure TbLure {get; } + /// + /// 渔轮 + /// + public TbReel TbReel {get; } + /// + /// 鱼竿 + /// + public TbRod TbRod {get; } + + public Tables(System.Func loader) + { + TbBait = new TbBait(loader("tbbait")); + TbBasicConfig = new TbBasicConfig(loader("tbbasicconfig")); + TbBobber = new TbBobber(loader("tbbobber")); + TbFeeder = new TbFeeder(loader("tbfeeder")); + TbFish = new TbFish(loader("tbfish")); + TbHook = new TbHook(loader("tbhook")); + TbInitItemConfig = new TbInitItemConfig(loader("tbinititemconfig")); + TbItem = new TbItem(loader("tbitem")); + TbLine = new TbLine(loader("tbline")); + TbLure = new TbLure(loader("tblure")); + TbReel = new TbReel(loader("tbreel")); + TbRod = new TbRod(loader("tbrod")); + ResolveRef(); + } + + private void ResolveRef() + { + TbBait.ResolveRef(this); + TbBasicConfig.ResolveRef(this); + TbBobber.ResolveRef(this); + TbFeeder.ResolveRef(this); + TbFish.ResolveRef(this); + TbHook.ResolveRef(this); + TbInitItemConfig.ResolveRef(this); + TbItem.ResolveRef(this); + TbLine.ResolveRef(this); + TbLure.ResolveRef(this); + TbReel.ResolveRef(this); + TbRod.ResolveRef(this); + } +} + +} diff --git a/Assets/Gen/TbBait.cs b/Assets/Gen/TbBait.cs new file mode 100644 index 0000000..d3c303b --- /dev/null +++ b/Assets/Gen/TbBait.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 鱼饵 +/// +public partial class TbBait +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbBait(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Bait _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Bait.DeserializeBait(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Bait GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Bait Get(int key) => _dataMap[key]; + public Bait this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbBasicConfig.cs b/Assets/Gen/TbBasicConfig.cs new file mode 100644 index 0000000..e61119d --- /dev/null +++ b/Assets/Gen/TbBasicConfig.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 全局常量配置表 +/// +public partial class TbBasicConfig +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbBasicConfig(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + BasicConfig _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.BasicConfig.DeserializeBasicConfig(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.X1, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public BasicConfig GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public BasicConfig Get(int key) => _dataMap[key]; + public BasicConfig this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbBobber.cs b/Assets/Gen/TbBobber.cs new file mode 100644 index 0000000..a4465a4 --- /dev/null +++ b/Assets/Gen/TbBobber.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 浮漂 +/// +public partial class TbBobber +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbBobber(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Bobber _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Bobber.DeserializeBobber(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Bobber GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Bobber Get(int key) => _dataMap[key]; + public Bobber this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbFeeder.cs b/Assets/Gen/TbFeeder.cs new file mode 100644 index 0000000..79cd761 --- /dev/null +++ b/Assets/Gen/TbFeeder.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 菲德 +/// +public partial class TbFeeder +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbFeeder(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Feeder _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Feeder.DeserializeFeeder(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Feeder GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Feeder Get(int key) => _dataMap[key]; + public Feeder this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbFish.cs b/Assets/Gen/TbFish.cs new file mode 100644 index 0000000..dab119c --- /dev/null +++ b/Assets/Gen/TbFish.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 鱼 +/// +public partial class TbFish +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbFish(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Fish _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Fish.DeserializeFish(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Fish GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Fish Get(int key) => _dataMap[key]; + public Fish this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbHook.cs b/Assets/Gen/TbHook.cs new file mode 100644 index 0000000..efff1fd --- /dev/null +++ b/Assets/Gen/TbHook.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 鱼钩 +/// +public partial class TbHook +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbHook(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Hook _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Hook.DeserializeHook(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Hook GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Hook Get(int key) => _dataMap[key]; + public Hook this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbInitItemConfig.cs b/Assets/Gen/TbInitItemConfig.cs new file mode 100644 index 0000000..457469f --- /dev/null +++ b/Assets/Gen/TbInitItemConfig.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 初始物品表 +/// +public partial class TbInitItemConfig +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbInitItemConfig(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + InitItemConfig _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.InitItemConfig.DeserializeInitItemConfig(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public InitItemConfig GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public InitItemConfig Get(int key) => _dataMap[key]; + public InitItemConfig this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbItem.cs b/Assets/Gen/TbItem.cs new file mode 100644 index 0000000..77cb058 --- /dev/null +++ b/Assets/Gen/TbItem.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 物品表 +/// +public partial class TbItem +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbItem(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Item _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Item.DeserializeItem(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Item GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Item Get(int key) => _dataMap[key]; + public Item this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbLine.cs b/Assets/Gen/TbLine.cs new file mode 100644 index 0000000..7ff461a --- /dev/null +++ b/Assets/Gen/TbLine.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 鱼线 +/// +public partial class TbLine +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbLine(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Line _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Line.DeserializeLine(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Line GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Line Get(int key) => _dataMap[key]; + public Line this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbLure.cs b/Assets/Gen/TbLure.cs new file mode 100644 index 0000000..1a7e78d --- /dev/null +++ b/Assets/Gen/TbLure.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 路亚饵 +/// +public partial class TbLure +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbLure(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Lure _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Lure.DeserializeLure(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Lure GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Lure Get(int key) => _dataMap[key]; + public Lure this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbReel.cs b/Assets/Gen/TbReel.cs new file mode 100644 index 0000000..d7c5281 --- /dev/null +++ b/Assets/Gen/TbReel.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 渔轮 +/// +public partial class TbReel +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbReel(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Reel _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Reel.DeserializeReel(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Reel GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Reel Get(int key) => _dataMap[key]; + public Reel this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/TbRod.cs b/Assets/Gen/TbRod.cs new file mode 100644 index 0000000..fbb0983 --- /dev/null +++ b/Assets/Gen/TbRod.cs @@ -0,0 +1,57 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +/// +/// 鱼竿 +/// +public partial class TbRod +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbRod(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary(count); + _dataList = new System.Collections.Generic.List(count); + + foreach(JSONNode _ele in _buf.Children) + { + Rod _v; + { if(!_ele.IsObject) { throw new SerializationException(); } _v = global::cfg.Rod.DeserializeRod(_ele); } + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Rod GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public Rod Get(int key) => _dataMap[key]; + public Rod this[int key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Assets/Gen/vector2.cs b/Assets/Gen/vector2.cs new file mode 100644 index 0000000..949d955 --- /dev/null +++ b/Assets/Gen/vector2.cs @@ -0,0 +1,46 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public partial struct vector2 +{ + public vector2(JSONNode _buf) + { + { if(!_buf["x"].IsNumber) { throw new SerializationException(); } X = _buf["x"]; } + { if(!_buf["y"].IsNumber) { throw new SerializationException(); } Y = _buf["y"]; } + } + + public static vector2 Deserializevector2(JSONNode _buf) + { + return new vector2(_buf); + } + + public readonly float X; + public readonly float Y; + + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "x:" + X + "," + + "y:" + Y + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/vector3.cs b/Assets/Gen/vector3.cs new file mode 100644 index 0000000..25db620 --- /dev/null +++ b/Assets/Gen/vector3.cs @@ -0,0 +1,49 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public partial struct vector3 +{ + public vector3(JSONNode _buf) + { + { if(!_buf["x"].IsNumber) { throw new SerializationException(); } X = _buf["x"]; } + { if(!_buf["y"].IsNumber) { throw new SerializationException(); } Y = _buf["y"]; } + { if(!_buf["z"].IsNumber) { throw new SerializationException(); } Z = _buf["z"]; } + } + + public static vector3 Deserializevector3(JSONNode _buf) + { + return new vector3(_buf); + } + + public readonly float X; + public readonly float Y; + public readonly float Z; + + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "x:" + X + "," + + "y:" + Y + "," + + "z:" + Z + "," + + "}"; + } +} +} + diff --git a/Assets/Gen/vector4.cs b/Assets/Gen/vector4.cs new file mode 100644 index 0000000..915b4ad --- /dev/null +++ b/Assets/Gen/vector4.cs @@ -0,0 +1,52 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; +using SimpleJSON; + + +namespace cfg +{ +public partial struct vector4 +{ + public vector4(JSONNode _buf) + { + { if(!_buf["x"].IsNumber) { throw new SerializationException(); } X = _buf["x"]; } + { if(!_buf["y"].IsNumber) { throw new SerializationException(); } Y = _buf["y"]; } + { if(!_buf["z"].IsNumber) { throw new SerializationException(); } Z = _buf["z"]; } + { if(!_buf["w"].IsNumber) { throw new SerializationException(); } W = _buf["w"]; } + } + + public static vector4 Deserializevector4(JSONNode _buf) + { + return new vector4(_buf); + } + + public readonly float X; + public readonly float Y; + public readonly float Z; + public readonly float W; + + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "x:" + X + "," + + "y:" + Y + "," + + "z:" + Z + "," + + "w:" + W + "," + + "}"; + } +} +} + diff --git a/BasicConfig.xlsx b/BasicConfig.xlsx deleted file mode 100644 index cc00822..0000000 Binary files a/BasicConfig.xlsx and /dev/null differ diff --git a/Datas/#Bait-鱼饵.xlsx b/Datas/#Bait-鱼饵.xlsx new file mode 100644 index 0000000..87bfe18 Binary files /dev/null and b/Datas/#Bait-鱼饵.xlsx differ diff --git a/Datas/#BasicConfig-全局常量配置表.xlsx b/Datas/#BasicConfig-全局常量配置表.xlsx new file mode 100644 index 0000000..72ff493 Binary files /dev/null and b/Datas/#BasicConfig-全局常量配置表.xlsx differ diff --git a/Datas/#Bobber-浮漂.xlsx b/Datas/#Bobber-浮漂.xlsx new file mode 100644 index 0000000..8279666 Binary files /dev/null and b/Datas/#Bobber-浮漂.xlsx differ diff --git a/Datas/#Feeder-菲德.xlsx b/Datas/#Feeder-菲德.xlsx new file mode 100644 index 0000000..afcc85c Binary files /dev/null and b/Datas/#Feeder-菲德.xlsx differ diff --git a/Datas/#Fish-鱼.xlsx b/Datas/#Fish-鱼.xlsx new file mode 100644 index 0000000..84fcb67 Binary files /dev/null and b/Datas/#Fish-鱼.xlsx differ diff --git a/Datas/#Hook-鱼钩.xlsx b/Datas/#Hook-鱼钩.xlsx new file mode 100644 index 0000000..75ba482 Binary files /dev/null and b/Datas/#Hook-鱼钩.xlsx differ diff --git a/Datas/#InitItemConfig-初始物品表.xlsx b/Datas/#InitItemConfig-初始物品表.xlsx new file mode 100644 index 0000000..5966179 Binary files /dev/null and b/Datas/#InitItemConfig-初始物品表.xlsx differ diff --git a/Datas/#Item-物品表.xlsx b/Datas/#Item-物品表.xlsx new file mode 100644 index 0000000..15abb58 Binary files /dev/null and b/Datas/#Item-物品表.xlsx differ diff --git a/Datas/#Line-鱼线.xlsx b/Datas/#Line-鱼线.xlsx new file mode 100644 index 0000000..fbae9c9 Binary files /dev/null and b/Datas/#Line-鱼线.xlsx differ diff --git a/Datas/#Lure-路亚饵.xlsx b/Datas/#Lure-路亚饵.xlsx new file mode 100644 index 0000000..bcab06b Binary files /dev/null and b/Datas/#Lure-路亚饵.xlsx differ diff --git a/Datas/#Reel-渔轮.xlsx b/Datas/#Reel-渔轮.xlsx new file mode 100644 index 0000000..fc3e65e Binary files /dev/null and b/Datas/#Reel-渔轮.xlsx differ diff --git a/Datas/#Rod-鱼竿.xlsx b/Datas/#Rod-鱼竿.xlsx new file mode 100644 index 0000000..1f4354f Binary files /dev/null and b/Datas/#Rod-鱼竿.xlsx differ diff --git a/Datas/__beans__.xlsx b/Datas/__beans__.xlsx new file mode 100644 index 0000000..6fc990b Binary files /dev/null and b/Datas/__beans__.xlsx differ diff --git a/Datas/__enums__.xlsx b/Datas/__enums__.xlsx new file mode 100644 index 0000000..a005698 Binary files /dev/null and b/Datas/__enums__.xlsx differ diff --git a/Datas/__tables__.xlsx b/Datas/__tables__.xlsx new file mode 100644 index 0000000..164c792 Binary files /dev/null and b/Datas/__tables__.xlsx differ diff --git a/Defines/builtin.xml b/Defines/builtin.xml new file mode 100644 index 0000000..e535ff4 --- /dev/null +++ b/Defines/builtin.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FishConfig.xlsx b/FishConfig.xlsx deleted file mode 100644 index 608d6ec..0000000 Binary files a/FishConfig.xlsx and /dev/null differ diff --git a/Gear.xlsx b/Gear.xlsx deleted file mode 100644 index 689d6f8..0000000 Binary files a/Gear.xlsx and /dev/null differ diff --git a/Item.xlsx b/Item.xlsx deleted file mode 100644 index 73a5316..0000000 Binary files a/Item.xlsx and /dev/null differ diff --git a/Luban/CommandLine.dll b/Luban/CommandLine.dll new file mode 100644 index 0000000..3eab2be Binary files /dev/null and b/Luban/CommandLine.dll differ diff --git a/Luban/ExcelDataReader.dll b/Luban/ExcelDataReader.dll new file mode 100644 index 0000000..c730b00 Binary files /dev/null and b/Luban/ExcelDataReader.dll differ diff --git a/Luban/Google.Protobuf.dll b/Luban/Google.Protobuf.dll new file mode 100644 index 0000000..3cd0950 Binary files /dev/null and b/Luban/Google.Protobuf.dll differ diff --git a/Luban/Luban.Bson.deps.json b/Luban/Luban.Bson.deps.json new file mode 100644 index 0000000..e2df5d0 --- /dev/null +++ b/Luban/Luban.Bson.deps.json @@ -0,0 +1,107 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Bson/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Newtonsoft.Json.Bson": "1.0.3" + }, + "runtime": { + "Luban.Bson.dll": {} + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + } + }, + "Newtonsoft.Json.Bson/1.0.3": { + "dependencies": { + "Newtonsoft.Json": "13.0.1" + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.Bson.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.3.29904" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Bson/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "path": "newtonsoft.json/13.0.1", + "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" + }, + "Newtonsoft.Json.Bson/1.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bCcwagnHfYnhwQfY1criEcn6Hy9PtBuVnZu0pA8hmRhuR3jI/8WxVgoVAdNw9BJ3JHkxmWJzpj/AQy+PMMLqxg==", + "path": "newtonsoft.json.bson/1.0.3", + "hashPath": "newtonsoft.json.bson.1.0.3.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Bson.dll b/Luban/Luban.Bson.dll new file mode 100644 index 0000000..f0ac039 Binary files /dev/null and b/Luban/Luban.Bson.dll differ diff --git a/Luban/Luban.Bson.pdb b/Luban/Luban.Bson.pdb new file mode 100644 index 0000000..f66e260 Binary files /dev/null and b/Luban/Luban.Bson.pdb differ diff --git a/Luban/Luban.CSharp.deps.json b/Luban/Luban.CSharp.deps.json new file mode 100644 index 0000000..fdab829 --- /dev/null +++ b/Luban/Luban.CSharp.deps.json @@ -0,0 +1,73 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.CSharp/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataValidator.Builtin": "1.0.0" + }, + "runtime": { + "Luban.CSharp.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.DataValidator.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.DataValidator.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.CSharp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.DataValidator.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.CSharp.dll b/Luban/Luban.CSharp.dll new file mode 100644 index 0000000..8922928 Binary files /dev/null and b/Luban/Luban.CSharp.dll differ diff --git a/Luban/Luban.CSharp.pdb b/Luban/Luban.CSharp.pdb new file mode 100644 index 0000000..44b074c Binary files /dev/null and b/Luban/Luban.CSharp.pdb differ diff --git a/Luban/Luban.Core.deps.json b/Luban/Luban.Core.deps.json new file mode 100644 index 0000000..03f0487 --- /dev/null +++ b/Luban/Luban.Core.deps.json @@ -0,0 +1,57 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Core.dll b/Luban/Luban.Core.dll new file mode 100644 index 0000000..ca4bf9d Binary files /dev/null and b/Luban/Luban.Core.dll differ diff --git a/Luban/Luban.Core.pdb b/Luban/Luban.Core.pdb new file mode 100644 index 0000000..d12ceec Binary files /dev/null and b/Luban/Luban.Core.pdb differ diff --git a/Luban/Luban.Cpp.deps.json b/Luban/Luban.Cpp.deps.json new file mode 100644 index 0000000..f01523e --- /dev/null +++ b/Luban/Luban.Cpp.deps.json @@ -0,0 +1,73 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Cpp/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Cpp.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Cpp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Cpp.dll b/Luban/Luban.Cpp.dll new file mode 100644 index 0000000..8299105 Binary files /dev/null and b/Luban/Luban.Cpp.dll differ diff --git a/Luban/Luban.Cpp.pdb b/Luban/Luban.Cpp.pdb new file mode 100644 index 0000000..bb6a781 Binary files /dev/null and b/Luban/Luban.Cpp.pdb differ diff --git a/Luban/Luban.Dart.deps.json b/Luban/Luban.Dart.deps.json new file mode 100644 index 0000000..a9857b1 --- /dev/null +++ b/Luban/Luban.Dart.deps.json @@ -0,0 +1,73 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Dart/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Dart.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Dart/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Dart.dll b/Luban/Luban.Dart.dll new file mode 100644 index 0000000..34cca6e Binary files /dev/null and b/Luban/Luban.Dart.dll differ diff --git a/Luban/Luban.Dart.pdb b/Luban/Luban.Dart.pdb new file mode 100644 index 0000000..2ded607 Binary files /dev/null and b/Luban/Luban.Dart.pdb differ diff --git a/Luban/Luban.DataLoader.Builtin.deps.json b/Luban/Luban.DataLoader.Builtin.deps.json new file mode 100644 index 0000000..62beda5 --- /dev/null +++ b/Luban/Luban.DataLoader.Builtin.deps.json @@ -0,0 +1,547 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.DataLoader.Builtin.dll b/Luban/Luban.DataLoader.Builtin.dll new file mode 100644 index 0000000..5c4db85 Binary files /dev/null and b/Luban/Luban.DataLoader.Builtin.dll differ diff --git a/Luban/Luban.DataLoader.Builtin.pdb b/Luban/Luban.DataLoader.Builtin.pdb new file mode 100644 index 0000000..5725f13 Binary files /dev/null and b/Luban/Luban.DataLoader.Builtin.pdb differ diff --git a/Luban/Luban.DataTarget.Builtin.deps.json b/Luban/Luban.DataTarget.Builtin.deps.json new file mode 100644 index 0000000..45659dd --- /dev/null +++ b/Luban/Luban.DataTarget.Builtin.deps.json @@ -0,0 +1,564 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.DataTarget.Builtin.dll b/Luban/Luban.DataTarget.Builtin.dll new file mode 100644 index 0000000..5958514 Binary files /dev/null and b/Luban/Luban.DataTarget.Builtin.dll differ diff --git a/Luban/Luban.DataTarget.Builtin.pdb b/Luban/Luban.DataTarget.Builtin.pdb new file mode 100644 index 0000000..98cdc9c Binary files /dev/null and b/Luban/Luban.DataTarget.Builtin.pdb differ diff --git a/Luban/Luban.DataValidator.Builtin.deps.json b/Luban/Luban.DataValidator.Builtin.deps.json new file mode 100644 index 0000000..0616312 --- /dev/null +++ b/Luban/Luban.DataValidator.Builtin.deps.json @@ -0,0 +1,73 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.DataValidator.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.DataValidator.Builtin.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.DataValidator.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.DataValidator.Builtin.dll b/Luban/Luban.DataValidator.Builtin.dll new file mode 100644 index 0000000..ddd91c5 Binary files /dev/null and b/Luban/Luban.DataValidator.Builtin.dll differ diff --git a/Luban/Luban.DataValidator.Builtin.pdb b/Luban/Luban.DataValidator.Builtin.pdb new file mode 100644 index 0000000..c5e9001 Binary files /dev/null and b/Luban/Luban.DataValidator.Builtin.pdb differ diff --git a/Luban/Luban.FlatBuffers.deps.json b/Luban/Luban.FlatBuffers.deps.json new file mode 100644 index 0000000..d7e57c1 --- /dev/null +++ b/Luban/Luban.FlatBuffers.deps.json @@ -0,0 +1,581 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.FlatBuffers/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.FlatBuffers.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.FlatBuffers/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.FlatBuffers.dll b/Luban/Luban.FlatBuffers.dll new file mode 100644 index 0000000..7e82155 Binary files /dev/null and b/Luban/Luban.FlatBuffers.dll differ diff --git a/Luban/Luban.FlatBuffers.pdb b/Luban/Luban.FlatBuffers.pdb new file mode 100644 index 0000000..5bcdc2a Binary files /dev/null and b/Luban/Luban.FlatBuffers.pdb differ diff --git a/Luban/Luban.Gdscript.deps.json b/Luban/Luban.Gdscript.deps.json new file mode 100644 index 0000000..eec881e --- /dev/null +++ b/Luban/Luban.Gdscript.deps.json @@ -0,0 +1,581 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Gdscript/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Gdscript.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Gdscript/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Gdscript.dll b/Luban/Luban.Gdscript.dll new file mode 100644 index 0000000..40a7581 Binary files /dev/null and b/Luban/Luban.Gdscript.dll differ diff --git a/Luban/Luban.Gdscript.pdb b/Luban/Luban.Gdscript.pdb new file mode 100644 index 0000000..33b6d7d Binary files /dev/null and b/Luban/Luban.Gdscript.pdb differ diff --git a/Luban/Luban.Golang.deps.json b/Luban/Luban.Golang.deps.json new file mode 100644 index 0000000..eb35788 --- /dev/null +++ b/Luban/Luban.Golang.deps.json @@ -0,0 +1,73 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Golang/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Golang.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Golang/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Golang.dll b/Luban/Luban.Golang.dll new file mode 100644 index 0000000..1b1785e Binary files /dev/null and b/Luban/Luban.Golang.dll differ diff --git a/Luban/Luban.Golang.pdb b/Luban/Luban.Golang.pdb new file mode 100644 index 0000000..e56261f Binary files /dev/null and b/Luban/Luban.Golang.pdb differ diff --git a/Luban/Luban.Java.deps.json b/Luban/Luban.Java.deps.json new file mode 100644 index 0000000..83a9ec0 --- /dev/null +++ b/Luban/Luban.Java.deps.json @@ -0,0 +1,73 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Java/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Java.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Java/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Java.dll b/Luban/Luban.Java.dll new file mode 100644 index 0000000..a55be67 Binary files /dev/null and b/Luban/Luban.Java.dll differ diff --git a/Luban/Luban.Java.pdb b/Luban/Luban.Java.pdb new file mode 100644 index 0000000..552f8ea Binary files /dev/null and b/Luban/Luban.Java.pdb differ diff --git a/Luban/Luban.Javascript.deps.json b/Luban/Luban.Javascript.deps.json new file mode 100644 index 0000000..56a53f1 --- /dev/null +++ b/Luban/Luban.Javascript.deps.json @@ -0,0 +1,615 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Javascript/1.0.0": { + "dependencies": { + "Luban.CSharp": "1.0.0", + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Javascript.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.CSharp/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataValidator.Builtin": "1.0.0" + }, + "runtime": { + "Luban.CSharp.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataValidator.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.DataValidator.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Javascript/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.CSharp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataValidator.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Javascript.dll b/Luban/Luban.Javascript.dll new file mode 100644 index 0000000..8b3912d Binary files /dev/null and b/Luban/Luban.Javascript.dll differ diff --git a/Luban/Luban.Javascript.pdb b/Luban/Luban.Javascript.pdb new file mode 100644 index 0000000..93b6109 Binary files /dev/null and b/Luban/Luban.Javascript.pdb differ diff --git a/Luban/Luban.L10N.deps.json b/Luban/Luban.L10N.deps.json new file mode 100644 index 0000000..605a603 --- /dev/null +++ b/Luban/Luban.L10N.deps.json @@ -0,0 +1,564 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.L10N/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.L10N.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.L10N/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.L10N.dll b/Luban/Luban.L10N.dll new file mode 100644 index 0000000..567c79a Binary files /dev/null and b/Luban/Luban.L10N.dll differ diff --git a/Luban/Luban.L10N.pdb b/Luban/Luban.L10N.pdb new file mode 100644 index 0000000..ac48a3c Binary files /dev/null and b/Luban/Luban.L10N.pdb differ diff --git a/Luban/Luban.Lua.deps.json b/Luban/Luban.Lua.deps.json new file mode 100644 index 0000000..dd9127d --- /dev/null +++ b/Luban/Luban.Lua.deps.json @@ -0,0 +1,73 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Lua/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Lua.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Lua/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Lua.dll b/Luban/Luban.Lua.dll new file mode 100644 index 0000000..e854d3d Binary files /dev/null and b/Luban/Luban.Lua.dll differ diff --git a/Luban/Luban.Lua.pdb b/Luban/Luban.Lua.pdb new file mode 100644 index 0000000..e587993 Binary files /dev/null and b/Luban/Luban.Lua.pdb differ diff --git a/Luban/Luban.MsgPack.deps.json b/Luban/Luban.MsgPack.deps.json new file mode 100644 index 0000000..8d9d9fd --- /dev/null +++ b/Luban/Luban.MsgPack.deps.json @@ -0,0 +1,123 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.MsgPack/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "MessagePack": "2.5.192" + }, + "runtime": { + "Luban.MsgPack.dll": {} + } + }, + "MessagePack/2.5.192": { + "dependencies": { + "MessagePack.Annotations": "2.5.192", + "Microsoft.NET.StringTools": "17.6.3" + }, + "runtime": { + "lib/net6.0/MessagePack.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.192.54228" + } + } + }, + "MessagePack.Annotations/2.5.192": { + "runtime": { + "lib/netstandard2.0/MessagePack.Annotations.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.192.54228" + } + } + }, + "Microsoft.NET.StringTools/17.6.3": { + "runtime": { + "lib/net7.0/Microsoft.NET.StringTools.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "17.6.3.22601" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.MsgPack/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "MessagePack/2.5.192": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Jtle5MaFeIFkdXtxQeL9Tu2Y3HsAQGoSntOzrn6Br/jrl6c8QmG22GEioT5HBtZJR0zw0s46OnKU8ei2M3QifA==", + "path": "messagepack/2.5.192", + "hashPath": "messagepack.2.5.192.nupkg.sha512" + }, + "MessagePack.Annotations/2.5.192": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jaJuwcgovWIZ8Zysdyf3b7b34/BrADw4v82GaEZymUhDd3ScMPrYd/cttekeDteJJPXseJxp04yTIcxiVUjTWg==", + "path": "messagepack.annotations/2.5.192", + "hashPath": "messagepack.annotations.2.5.192.nupkg.sha512" + }, + "Microsoft.NET.StringTools/17.6.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N0ZIanl1QCgvUumEL1laasU0a7sOE5ZwLZVTn0pAePnfhq8P7SvTjF8Axq+CnavuQkmdQpGNXQ1efZtu5kDFbA==", + "path": "microsoft.net.stringtools/17.6.3", + "hashPath": "microsoft.net.stringtools.17.6.3.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.MsgPack.dll b/Luban/Luban.MsgPack.dll new file mode 100644 index 0000000..1ac7b77 Binary files /dev/null and b/Luban/Luban.MsgPack.dll differ diff --git a/Luban/Luban.MsgPack.pdb b/Luban/Luban.MsgPack.pdb new file mode 100644 index 0000000..075d408 Binary files /dev/null and b/Luban/Luban.MsgPack.pdb differ diff --git a/Luban/Luban.PHP.deps.json b/Luban/Luban.PHP.deps.json new file mode 100644 index 0000000..6447dd8 --- /dev/null +++ b/Luban/Luban.PHP.deps.json @@ -0,0 +1,581 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.PHP/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.PHP.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.PHP/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.PHP.dll b/Luban/Luban.PHP.dll new file mode 100644 index 0000000..e733a09 Binary files /dev/null and b/Luban/Luban.PHP.dll differ diff --git a/Luban/Luban.PHP.pdb b/Luban/Luban.PHP.pdb new file mode 100644 index 0000000..1cdd835 Binary files /dev/null and b/Luban/Luban.PHP.pdb differ diff --git a/Luban/Luban.Protobuf.deps.json b/Luban/Luban.Protobuf.deps.json new file mode 100644 index 0000000..a791bf7 --- /dev/null +++ b/Luban/Luban.Protobuf.deps.json @@ -0,0 +1,597 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Protobuf/1.0.0": { + "dependencies": { + "Google.Protobuf": "3.29.0", + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Protobuf.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Google.Protobuf/3.29.0": { + "runtime": { + "lib/net5.0/Google.Protobuf.dll": { + "assemblyVersion": "3.29.0.0", + "fileVersion": "3.29.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Protobuf/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Google.Protobuf/3.29.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l1012jd1Y2XsLQ+h9cXE7Bo3WruXql3Xc3KP/z+yZDJMSkfb2guslHCxwFsqd2ScHB0h2J7Yuy255RrBD/DGBw==", + "path": "google.protobuf/3.29.0", + "hashPath": "google.protobuf.3.29.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Protobuf.dll b/Luban/Luban.Protobuf.dll new file mode 100644 index 0000000..27ca9ae Binary files /dev/null and b/Luban/Luban.Protobuf.dll differ diff --git a/Luban/Luban.Protobuf.pdb b/Luban/Luban.Protobuf.pdb new file mode 100644 index 0000000..506eda8 Binary files /dev/null and b/Luban/Luban.Protobuf.pdb differ diff --git a/Luban/Luban.Python.deps.json b/Luban/Luban.Python.deps.json new file mode 100644 index 0000000..9afffa9 --- /dev/null +++ b/Luban/Luban.Python.deps.json @@ -0,0 +1,581 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Python/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Python.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Python/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Python.dll b/Luban/Luban.Python.dll new file mode 100644 index 0000000..927962f Binary files /dev/null and b/Luban/Luban.Python.dll differ diff --git a/Luban/Luban.Python.pdb b/Luban/Luban.Python.pdb new file mode 100644 index 0000000..327a0a2 Binary files /dev/null and b/Luban/Luban.Python.pdb differ diff --git a/Luban/Luban.Rust.deps.json b/Luban/Luban.Rust.deps.json new file mode 100644 index 0000000..63c7d1a --- /dev/null +++ b/Luban/Luban.Rust.deps.json @@ -0,0 +1,73 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Rust/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Rust.dll": {} + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Rust/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Rust.dll b/Luban/Luban.Rust.dll new file mode 100644 index 0000000..37acf58 Binary files /dev/null and b/Luban/Luban.Rust.dll differ diff --git a/Luban/Luban.Rust.pdb b/Luban/Luban.Rust.pdb new file mode 100644 index 0000000..e2eab08 Binary files /dev/null and b/Luban/Luban.Rust.pdb differ diff --git a/Luban/Luban.Schema.Builtin.deps.json b/Luban/Luban.Schema.Builtin.deps.json new file mode 100644 index 0000000..0f78b60 --- /dev/null +++ b/Luban/Luban.Schema.Builtin.deps.json @@ -0,0 +1,564 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Schema.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Schema.Builtin.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Schema.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Schema.Builtin.dll b/Luban/Luban.Schema.Builtin.dll new file mode 100644 index 0000000..98e1085 Binary files /dev/null and b/Luban/Luban.Schema.Builtin.dll differ diff --git a/Luban/Luban.Schema.Builtin.pdb b/Luban/Luban.Schema.Builtin.pdb new file mode 100644 index 0000000..42bdee8 Binary files /dev/null and b/Luban/Luban.Schema.Builtin.pdb differ diff --git a/Luban/Luban.Schema.Builtin.runtimeconfig.json b/Luban/Luban.Schema.Builtin.runtimeconfig.json new file mode 100644 index 0000000..4466502 --- /dev/null +++ b/Luban/Luban.Schema.Builtin.runtimeconfig.json @@ -0,0 +1,14 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "rollForward": "LatestMinor", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Typescript.deps.json b/Luban/Luban.Typescript.deps.json new file mode 100644 index 0000000..e5855b0 --- /dev/null +++ b/Luban/Luban.Typescript.deps.json @@ -0,0 +1,615 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban.Typescript/1.0.0": { + "dependencies": { + "Luban.CSharp": "1.0.0", + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Typescript.dll": {} + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.CSharp/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataValidator.Builtin": "1.0.0" + }, + "runtime": { + "Luban.CSharp.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataValidator.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.DataValidator.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban.Typescript/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.CSharp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataValidator.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.Typescript.dll b/Luban/Luban.Typescript.dll new file mode 100644 index 0000000..6ed26bc Binary files /dev/null and b/Luban/Luban.Typescript.dll differ diff --git a/Luban/Luban.Typescript.pdb b/Luban/Luban.Typescript.pdb new file mode 100644 index 0000000..39a49d9 Binary files /dev/null and b/Luban/Luban.Typescript.pdb differ diff --git a/Luban/Luban.deps.json b/Luban/Luban.deps.json new file mode 100644 index 0000000..b5f607e --- /dev/null +++ b/Luban/Luban.deps.json @@ -0,0 +1,1034 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Luban/4.5.0": { + "dependencies": { + "CommandLineParser": "2.9.1", + "Luban.Bson": "1.0.0", + "Luban.CSharp": "1.0.0", + "Luban.Core": "1.0.0", + "Luban.Cpp": "1.0.0", + "Luban.Dart": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0", + "Luban.DataValidator.Builtin": "1.0.0", + "Luban.FlatBuffers": "1.0.0", + "Luban.Gdscript": "1.0.0", + "Luban.Golang": "1.0.0", + "Luban.Java": "1.0.0", + "Luban.Javascript": "1.0.0", + "Luban.L10N": "1.0.0", + "Luban.Lua": "1.0.0", + "Luban.MsgPack": "1.0.0", + "Luban.PHP": "1.0.0", + "Luban.Protobuf": "1.0.0", + "Luban.Python": "1.0.0", + "Luban.Rust": "1.0.0", + "Luban.Schema.Builtin": "1.0.0", + "Luban.Typescript": "1.0.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.dll": {} + } + }, + "CommandLineParser/2.9.1": { + "runtime": { + "lib/netstandard2.0/CommandLine.dll": { + "assemblyVersion": "2.9.1.0", + "fileVersion": "2.9.1.0" + } + } + }, + "ExcelDataReader/3.7.0": { + "runtime": { + "lib/netstandard2.1/ExcelDataReader.dll": { + "assemblyVersion": "3.7.0.0", + "fileVersion": "3.7.0.0" + } + } + }, + "Google.Protobuf/3.29.0": { + "runtime": { + "lib/net5.0/Google.Protobuf.dll": { + "assemblyVersion": "3.29.0.0", + "fileVersion": "3.29.0.0" + } + } + }, + "MessagePack/2.5.192": { + "dependencies": { + "MessagePack.Annotations": "2.5.192", + "Microsoft.NET.StringTools": "17.6.3" + }, + "runtime": { + "lib/net6.0/MessagePack.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.192.54228" + } + } + }, + "MessagePack.Annotations/2.5.192": { + "runtime": { + "lib/netstandard2.0/MessagePack.Annotations.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.192.54228" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.NET.StringTools/17.6.3": { + "runtime": { + "lib/net7.0/Microsoft.NET.StringTools.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "17.6.3.22601" + } + } + }, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "NeoLua/1.3.14": { + "dependencies": { + "Microsoft.CSharp": "4.5.0" + }, + "runtime": { + "lib/net5.0/Neo.Lua.dll": { + "assemblyVersion": "5.3.0.0", + "fileVersion": "1.3.14.0" + } + }, + "resources": { + "lib/net5.0/de/Neo.Lua.resources.dll": { + "locale": "de" + } + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + } + }, + "Newtonsoft.Json.Bson/1.0.3": { + "dependencies": { + "Newtonsoft.Json": "13.0.1" + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.Bson.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.3.29904" + } + } + }, + "NLog/5.3.4": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.3.4.2778" + } + } + }, + "Scriban/5.12.0": { + "runtime": { + "lib/net7.0/Scriban.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.12.0.0" + } + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "Ude.NetStandard/1.2.0": { + "runtime": { + "lib/netstandard2.0/Ude.NetStandard.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + } + }, + "YamlDotNet.NetCore/1.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.0/YamlDotNet.NetCore.dll": { + "assemblyVersion": "0.0.1.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Luban.Bson/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Newtonsoft.Json.Bson": "1.0.3" + }, + "runtime": { + "Luban.Bson.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Core/1.0.0": { + "dependencies": { + "NLog": "5.3.4", + "Scriban": "5.12.0" + }, + "runtime": { + "Luban.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Cpp/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Cpp.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.CSharp/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataValidator.Builtin": "1.0.0" + }, + "runtime": { + "Luban.CSharp.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Dart/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Dart.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataLoader.Builtin/1.0.0": { + "dependencies": { + "ExcelDataReader": "3.7.0", + "Luban.Core": "1.0.0", + "NeoLua": "1.3.14", + "Ude.NetStandard": "1.2.0", + "YamlDotNet.NetCore": "1.0.0" + }, + "runtime": { + "Luban.DataLoader.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataTarget.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.DataTarget.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.DataValidator.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.DataValidator.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.FlatBuffers/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.FlatBuffers.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Gdscript/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Gdscript.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Golang/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Golang.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Java/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Java.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Javascript/1.0.0": { + "dependencies": { + "Luban.CSharp": "1.0.0", + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Javascript.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.L10N/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.L10N.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Lua/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Lua.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.MsgPack/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "MessagePack": "2.5.192" + }, + "runtime": { + "Luban.MsgPack.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.PHP/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.PHP.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Protobuf/1.0.0": { + "dependencies": { + "Google.Protobuf": "3.29.0", + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Protobuf.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Python/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Python.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Rust/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0" + }, + "runtime": { + "Luban.Rust.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Schema.Builtin/1.0.0": { + "dependencies": { + "Luban.Core": "1.0.0", + "Luban.DataLoader.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Schema.Builtin.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Luban.Typescript/1.0.0": { + "dependencies": { + "Luban.CSharp": "1.0.0", + "Luban.Core": "1.0.0", + "Luban.DataTarget.Builtin": "1.0.0" + }, + "runtime": { + "Luban.Typescript.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Luban/4.5.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "CommandLineParser/2.9.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==", + "path": "commandlineparser/2.9.1", + "hashPath": "commandlineparser.2.9.1.nupkg.sha512" + }, + "ExcelDataReader/3.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AMv3oDETRHSRyXC17rBtKH45qIfFyo433LMeaMB3u4RNr/c9Luuc0Z+JMP6+3Cx9n4wXqFqcrEIVxrf/GgYnZg==", + "path": "exceldatareader/3.7.0", + "hashPath": "exceldatareader.3.7.0.nupkg.sha512" + }, + "Google.Protobuf/3.29.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l1012jd1Y2XsLQ+h9cXE7Bo3WruXql3Xc3KP/z+yZDJMSkfb2guslHCxwFsqd2ScHB0h2J7Yuy255RrBD/DGBw==", + "path": "google.protobuf/3.29.0", + "hashPath": "google.protobuf.3.29.0.nupkg.sha512" + }, + "MessagePack/2.5.192": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Jtle5MaFeIFkdXtxQeL9Tu2Y3HsAQGoSntOzrn6Br/jrl6c8QmG22GEioT5HBtZJR0zw0s46OnKU8ei2M3QifA==", + "path": "messagepack/2.5.192", + "hashPath": "messagepack.2.5.192.nupkg.sha512" + }, + "MessagePack.Annotations/2.5.192": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jaJuwcgovWIZ8Zysdyf3b7b34/BrADw4v82GaEZymUhDd3ScMPrYd/cttekeDteJJPXseJxp04yTIcxiVUjTWg==", + "path": "messagepack.annotations/2.5.192", + "hashPath": "messagepack.annotations.2.5.192.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.NET.StringTools/17.6.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N0ZIanl1QCgvUumEL1laasU0a7sOE5ZwLZVTn0pAePnfhq8P7SvTjF8Axq+CnavuQkmdQpGNXQ1efZtu5kDFbA==", + "path": "microsoft.net.stringtools/17.6.3", + "hashPath": "microsoft.net.stringtools.17.6.3.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "NeoLua/1.3.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BXIUN+ePY2wx3ZGiSmR8KZKD85s01pXI690orrB3u/biB8R0nalziGw+iGbPBq1Cuz8Upggpw2ERF84POXWTCQ==", + "path": "neolua/1.3.14", + "hashPath": "neolua.1.3.14.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "path": "newtonsoft.json/13.0.1", + "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" + }, + "Newtonsoft.Json.Bson/1.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bCcwagnHfYnhwQfY1criEcn6Hy9PtBuVnZu0pA8hmRhuR3jI/8WxVgoVAdNw9BJ3JHkxmWJzpj/AQy+PMMLqxg==", + "path": "newtonsoft.json.bson/1.0.3", + "hashPath": "newtonsoft.json.bson.1.0.3.nupkg.sha512" + }, + "NLog/5.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gLy7+O1hEYJXIlcTr1/VWjGXrZTQFZzYNO18IWasD64pNwz0BreV+nHLxWKXWZzERRzoKnsk2XYtwLkTVk7J1A==", + "path": "nlog/5.3.4", + "hashPath": "nlog.5.3.4.nupkg.sha512" + }, + "Scriban/5.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/YTTCxjBIpfwX3MKMT4JMFVl1jX4IHW7zih+Bg3cTIkzGnbFt+B3l/k90ILDw6DRiFE7T+VxEyls7zk4p029ng==", + "path": "scriban/5.12.0", + "hashPath": "scriban.5.12.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "Ude.NetStandard/1.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zRWpPAxBg3lNdm4UiKixTe+DFPoNid9CILggTCy/0WR2WKETe17kTWhiiIpLB2k5IEgnvA0QLfKlvd6Tvu0pzA==", + "path": "ude.netstandard/1.2.0", + "hashPath": "ude.netstandard.1.2.0.nupkg.sha512" + }, + "YamlDotNet.NetCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vPiKF4Yf02MS96Nzwcr8+WrvlhTx+camOgUzxhazU0hCzs2ESetWDCxaIT/MYdAw2oONYem1ow9PXWJjHkRUDw==", + "path": "yamldotnet.netcore/1.0.0", + "hashPath": "yamldotnet.netcore.1.0.0.nupkg.sha512" + }, + "Luban.Bson/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Cpp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.CSharp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Dart/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataLoader.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataTarget.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.DataValidator.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.FlatBuffers/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Gdscript/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Golang/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Java/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Javascript/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.L10N/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Lua/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.MsgPack/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.PHP/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Protobuf/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Python/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Rust/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Schema.Builtin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Luban.Typescript/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Luban/Luban.dll b/Luban/Luban.dll new file mode 100644 index 0000000..d99d8b2 Binary files /dev/null and b/Luban/Luban.dll differ diff --git a/NBConfigBuilder/NBConfigBuilder.exe b/Luban/Luban.exe similarity index 99% rename from NBConfigBuilder/NBConfigBuilder.exe rename to Luban/Luban.exe index 5fe07fe..0734672 100644 Binary files a/NBConfigBuilder/NBConfigBuilder.exe and b/Luban/Luban.exe differ diff --git a/Luban/Luban.pdb b/Luban/Luban.pdb new file mode 100644 index 0000000..644368a Binary files /dev/null and b/Luban/Luban.pdb differ diff --git a/Luban/Luban.runtimeconfig.json b/Luban/Luban.runtimeconfig.json new file mode 100644 index 0000000..d784515 --- /dev/null +++ b/Luban/Luban.runtimeconfig.json @@ -0,0 +1,13 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/Luban/MessagePack.Annotations.dll b/Luban/MessagePack.Annotations.dll new file mode 100644 index 0000000..b3a3f48 Binary files /dev/null and b/Luban/MessagePack.Annotations.dll differ diff --git a/Luban/MessagePack.dll b/Luban/MessagePack.dll new file mode 100644 index 0000000..ed883d0 Binary files /dev/null and b/Luban/MessagePack.dll differ diff --git a/Luban/Microsoft.NET.StringTools.dll b/Luban/Microsoft.NET.StringTools.dll new file mode 100644 index 0000000..7d30439 Binary files /dev/null and b/Luban/Microsoft.NET.StringTools.dll differ diff --git a/Luban/NLog.dll b/Luban/NLog.dll new file mode 100644 index 0000000..49604e1 Binary files /dev/null and b/Luban/NLog.dll differ diff --git a/Luban/Neo.Lua.dll b/Luban/Neo.Lua.dll new file mode 100644 index 0000000..406f580 Binary files /dev/null and b/Luban/Neo.Lua.dll differ diff --git a/Luban/Newtonsoft.Json.Bson.dll b/Luban/Newtonsoft.Json.Bson.dll new file mode 100644 index 0000000..159d2ed Binary files /dev/null and b/Luban/Newtonsoft.Json.Bson.dll differ diff --git a/Luban/Newtonsoft.Json.dll b/Luban/Newtonsoft.Json.dll new file mode 100644 index 0000000..1ffeabe Binary files /dev/null and b/Luban/Newtonsoft.Json.dll differ diff --git a/Luban/Scriban.dll b/Luban/Scriban.dll new file mode 100644 index 0000000..c8131e2 Binary files /dev/null and b/Luban/Scriban.dll differ diff --git a/Luban/Templates/common/cpp/enum.sbn b/Luban/Templates/common/cpp/enum.sbn new file mode 100644 index 0000000..b9f3b0a --- /dev/null +++ b/Luban/Templates/common/cpp/enum.sbn @@ -0,0 +1,23 @@ +{{~ + comment = __enum.comment + items = __enum.items +~}} +{{namespace_with_grace_begin __namespace}} +{{~if comment != '' ~}} + /// + /// {{escape_comment comment}} + /// +{{~end~}} + enum class {{__name}} + { + {{~ for item in items ~}} +{{~if item.comment != '' ~}} + /// + /// {{escape_comment item.comment_or_alias}} + /// +{{~end~}} + {{format_enum_item_name __code_style item.name}} = {{item.value}}, + {{~end~}} + }; + +{{namespace_with_grace_end __namespace}} diff --git a/Luban/Templates/common/cs/enum.sbn b/Luban/Templates/common/cs/enum.sbn new file mode 100644 index 0000000..4dcd9b6 --- /dev/null +++ b/Luban/Templates/common/cs/enum.sbn @@ -0,0 +1,28 @@ +{{~ + comment = __enum.comment + items = __enum.items +~}} + + +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if comment != '' ~}} + /// + /// {{escape_comment comment}} + /// +{{~end~}} + {{~if __enum.is_flags~}} + [System.Flags] + {{~end~}} + public enum {{__name}} + { + {{~ for item in items ~}} +{{~if item.comment != '' ~}} + /// + /// {{escape_comment item.comment_or_alias}} + /// +{{~end~}} + {{format_enum_item_name __code_style item.name}} = {{item.value}}, + {{~end~}} + } + +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/common/dart/enum.sbn b/Luban/Templates/common/dart/enum.sbn new file mode 100644 index 0000000..97417f0 --- /dev/null +++ b/Luban/Templates/common/dart/enum.sbn @@ -0,0 +1,30 @@ +{{~if __this.comment != '' ~}} +//{{escape_comment __this.comment}} +{{~end~}} +enum {{__name}} +{ + {{~if !has_enum_item __this~}} + empty_placeholder(0); + {{~else~}} +{{~if !__this.has_zero_value_item ~}} + None(0), +{{~end~}} + {{~end~}} + + + {{~ for item in __this.items ~}} +{{~if item.comment_or_alias != '' ~}} + //{{escape_comment item.comment_or_alias}} +{{~end~}} + {{item.name}}({{item.int_value}}) {{is_last_enum_item __this item.int_value ? ';' : ','}} + + {{~end~}} + final int value; + + const {{__name}}(this.value); + + static {{__name}} fromValue(int value) + { + return {{__name}}.values.firstWhere((element) => element.value == value, orElse: () => fromValue(0)); + } +} diff --git a/Luban/Templates/common/go/enum.sbn b/Luban/Templates/common/go/enum.sbn new file mode 100644 index 0000000..7dd70a6 --- /dev/null +++ b/Luban/Templates/common/go/enum.sbn @@ -0,0 +1,19 @@ +{{~if ___top_module != ''~}} +package {{__top_module}}; +{{~end~}} + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} +const ( + {{~ for item in __this.items ~}} +{{~if item.comment_or_alias != '' ~}} + /** + * {{escape_comment item.comment_or_alias}} + */ +{{~end~}} + {{full_name __this}}_{{item.name}} = {{item.int_value}}; + {{~end~}} +) diff --git a/Luban/Templates/common/java/enum.sbn b/Luban/Templates/common/java/enum.sbn new file mode 100644 index 0000000..142d8a1 --- /dev/null +++ b/Luban/Templates/common/java/enum.sbn @@ -0,0 +1,19 @@ +{{~if __namespace_with_top_module != ''~}} +package {{__namespace_with_top_module}}; +{{~end~}} + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} +public final class {{__name}} { + {{~ for item in __this.items ~}} +{{~if item.comment_or_alias != '' ~}} + /** + * {{escape_comment item.comment_or_alias}} + */ +{{~end~}} + public static final int {{item.name}} = {{item.int_value}}; + {{~end~}} +} diff --git a/Luban/Templates/common/js/enum.sbn b/Luban/Templates/common/js/enum.sbn new file mode 100644 index 0000000..139597f --- /dev/null +++ b/Luban/Templates/common/js/enum.sbn @@ -0,0 +1,2 @@ + + diff --git a/Luban/Templates/common/php/enum.sbn b/Luban/Templates/common/php/enum.sbn new file mode 100644 index 0000000..139597f --- /dev/null +++ b/Luban/Templates/common/php/enum.sbn @@ -0,0 +1,2 @@ + + diff --git a/Luban/Templates/common/rs/macros/Cargo.toml.sbn b/Luban/Templates/common/rs/macros/Cargo.toml.sbn new file mode 100644 index 0000000..ae3a110 --- /dev/null +++ b/Luban/Templates/common/rs/macros/Cargo.toml.sbn @@ -0,0 +1,14 @@ +[package] +name = "macros" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +quote = "1.0.36" +syn = "2.0.60" +proc-macro2 = "1.0.82" + +[lib] +proc-macro = true \ No newline at end of file diff --git a/Luban/Templates/common/rs/macros/src/lib.rs.sbn b/Luban/Templates/common/rs/macros/src/lib.rs.sbn new file mode 100644 index 0000000..7e93f74 --- /dev/null +++ b/Luban/Templates/common/rs/macros/src/lib.rs.sbn @@ -0,0 +1,65 @@ +#[macro_use] +extern crate quote; + +use proc_macro::TokenStream; +use proc_macro2; +use quote::{format_ident, quote, ToTokens}; +use syn::{parse_macro_input, Data, DeriveInput}; + +#[proc_macro_derive(TryIntoBase)] +pub fn base_try_from(item: TokenStream) -> TokenStream { + let derive_input = parse_macro_input!(item as DeriveInput); + let ty_name = &derive_input.ident; + + match derive_input.data { + Data::Struct(_) => {} + _ => panic!("base_try_from can only be used on structs or enums"), + } + + let expanded = quote! { + impl<'a> TryFrom<&'a AbstractBase> for &'a #ty_name { + type Error = String; + + fn try_from(value: &'a AbstractBase) -> Result { + let r = value.downcast_ref::<#ty_name>(); + if let Some(v) = r { + return Ok(v); + } + + Err(concat!("can not into to ", stringify!(#ty_name)).to_string()) + } + } + }; + + TokenStream::from(expanded) +} + +#[proc_macro_derive(EnumFromNum)] +pub fn enum_from_num(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as DeriveInput); + let ty_name = &input.ident; + + + let tokens = vec![ + format_ident!("i64"), + format_ident!("i16"), + format_ident!("i8"), + format_ident!("isize"), + format_ident!("u64"), + format_ident!("u32"), + format_ident!("u16"), + format_ident!("u8"), + format_ident!("usize"), + format_ident!("f64"), + format_ident!("f32"), + ]; + quote! { + #( + impl From<#tokens> for #ty_name { + fn from(value: #tokens) -> Self { + (value as i32).into() + } + } + )* + }.into() +} \ No newline at end of file diff --git a/Luban/Templates/common/ts/enum.sbn b/Luban/Templates/common/ts/enum.sbn new file mode 100644 index 0000000..139597f --- /dev/null +++ b/Luban/Templates/common/ts/enum.sbn @@ -0,0 +1,2 @@ + + diff --git a/Luban/Templates/cpp-rawptr-bin/bean.sbn b/Luban/Templates/cpp-rawptr-bin/bean.sbn new file mode 100644 index 0000000..2b856b0 --- /dev/null +++ b/Luban/Templates/cpp-rawptr-bin/bean.sbn @@ -0,0 +1,32 @@ +{{namespace_with_grace_begin __namespace}} + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} +struct {{__name}} : public{{if __parent_def_type}} {{make_cpp_name __parent_def_type.full_name}} {{else}} luban::CfgBean {{end}} +{ + static bool deserialize{{__name}}(::luban::ByteBuf& _buf, {{__name}}*& _out); + + virtual ~{{__name}}() {} + + bool deserialize(::luban::ByteBuf& _buf); + + {{~ for field in __export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + {{declaring_type_name field.ctype}} {{format_field_name __code_style field.name}}; + {{~end~}} + +{{~if !__this.is_abstract_type~}} + static constexpr int __ID__ = {{__this.id}}; + + int getTypeId() const override { return __ID__; } +{{~end~}} +}; + +{{namespace_with_grace_end __namespace}} diff --git a/Luban/Templates/cpp-rawptr-bin/schema_cpp.sbn b/Luban/Templates/cpp-rawptr-bin/schema_cpp.sbn new file mode 100644 index 0000000..18c1531 --- /dev/null +++ b/Luban/Templates/cpp-rawptr-bin/schema_cpp.sbn @@ -0,0 +1,45 @@ +#include "{{__schema_header_file}}" + +{{namespace_with_grace_begin __top_module}} + +{{~for bean in __beans~}} + +bool {{make_cpp_name bean.full_name}}::deserialize(::luban::ByteBuf& _buf) +{ + {{~if bean.parent_def_type~}} + if (!{{make_cpp_name bean.parent_def_type.full_name}}::deserialize(_buf)) + { + return false; + } + {{~end~}} + + {{~ for field in bean.export_fields ~}} + {{deserialize '_buf' (format_field_name __code_style field.name) field.ctype}} + {{~end~}} + + return true; +} + +{{~if bean.is_abstract_type~}} +bool {{make_cpp_name bean.full_name}}::deserialize{{bean.name}}(::luban::ByteBuf& _buf, {{make_cpp_name bean.full_name}}*& _out) +{ + int32_t id; + if (!_buf.readInt(id)) return false; + switch (id) + { + {{~for child in bean.hierarchy_not_abstract_children~}} + case {{make_type_cpp_name child}}::__ID__: { _out = LUBAN_NEW({{make_type_cpp_name child}}); if (_out->deserialize(_buf)) { return true; } else { _out = nullptr; return false;} } + {{~end~}} + default: { _out = nullptr; return false;} + } +} +{{~else~}} +bool {{make_cpp_name bean.full_name}}::deserialize{{bean.name}}(::luban::ByteBuf& _buf, {{make_cpp_name bean.full_name}}*& _out) +{ + _out = LUBAN_NEW({{make_type_cpp_name bean}}); + return _out->deserialize(_buf); +} +{{~end~}} + +{{~end~}} +{{namespace_with_grace_end __top_module}} diff --git a/Luban/Templates/cpp-rawptr-bin/schema_h.sbn b/Luban/Templates/cpp-rawptr-bin/schema_h.sbn new file mode 100644 index 0000000..90ba84c --- /dev/null +++ b/Luban/Templates/cpp-rawptr-bin/schema_h.sbn @@ -0,0 +1,21 @@ +#pragma once +#include +#include + +#include "CfgBean.h" + +{{namespace_with_grace_begin __top_module}} + +{{__enum_codes~}} + +{{~for b in __beans~}} +{{namespace_with_grace_begin b.namespace}} struct {{b.name}}; {{namespace_with_grace_end b.namespace}} +{{~end~}} + +{{~__bean_codes~}} + +{{~__table_codes~}} + +{{__tables_code}} + +{{namespace_with_grace_end __top_module}} diff --git a/Luban/Templates/cpp-rawptr-bin/table.sbn b/Luban/Templates/cpp-rawptr-bin/table.sbn new file mode 100644 index 0000000..511a546 --- /dev/null +++ b/Luban/Templates/cpp-rawptr-bin/table.sbn @@ -0,0 +1,134 @@ +{{namespace_with_grace_begin __namespace}} + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} + +class {{__name}} +{ + {{~if __this.is_map_table ~}} + private: + ::luban::HashMap<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> _dataMap; + ::luban::Vector<{{declaring_type_name __value_type}}> _dataList; + + public: + ~{{__name}}() + { + for (auto& _v : _dataList) + { + LUBAN_FREE(_v); + } + } + + bool load(::luban::ByteBuf& _buf) + { + int n; + if (!_buf.readSize(n)) return false; + for(; n > 0 ; --n) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_buf' '_v' __value_type}} + _dataList.push_back(_v); + _dataMap[_v->{{format_field_name __code_style __this.index_field.name}}] = _v; + } + return true; + } + + const ::luban::HashMap<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}>& getDataMap() const { return _dataMap; } + const ::luban::Vector<{{declaring_type_name __value_type}}>& getDataList() const { return _dataList; } + + {{declaring_type_name __value_type}} get({{declaring_type_name __key_type}} key) + { + auto it = _dataMap.find(key); + return it != _dataMap.end() ? it->second : nullptr; + } + + {{~else if __this.is_list_table~}} + private: + ::luban::Vector<{{declaring_type_name __value_type}}> _dataList; + {{~if __this.is_union_index~}} + + {{~else if !__this.index_list.empty?~}} + {{~for idx in __this.index_list~}} + ::luban::HashMap<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}> _dataMap_{{idx.index_field.name}}; + {{~end~}} + {{~else~}} + {{~end~}} + + public: + bool load(::luban::ByteBuf& _buf) + { + int n; + if (!_buf.readSize(n)) return false; + for(; n > 0 ; --n) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_buf' '_v' __value_type}} + _dataList.push_back(_v); + {{~if __this.is_union_index~}} + + {{~else if !__this.index_list.empty?~}} + {{~for idx in __this.index_list~}} + _dataMap_{{idx.index_field.name}}[_v->{{idx.index_field.name}}] = _v; + {{~end~}} + {{~else~}} + {{~end~}} + } + return true; + } + + const ::luban::Vector<{{declaring_type_name __value_type}}>& getDataList() const { return _dataList; } + + {{~if __this.is_union_index~}} + + {{~else if !__this.index_list.empty?~}} + {{~for idx in __this.index_list~}} + ::luban::HashMap<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}>& getDataMapBy{{idx.index_field.name}}() + { + return _dataMap_{{idx.index_field.name}}; + } + + {{declaring_type_name __value_type}} getBy{{idx.index_field.name}}({{declaring_type_name idx.type}} key) + { + auto it = _dataMap_{{idx.index_field.name}}.find(key); + return it != _dataMap_{{idx.index_field.name}}.end() ? it->second : nullptr; + } + {{~end~}} + {{~else~}} + + {{declaring_type_name __value_type}} get(size_t index) const + { + return _dataList[index]; + } + {{~end~}} + {{~else~}} + private: + {{declaring_type_name __value_type}} _data; + + public: + {{declaring_type_name __value_type}} data() const { return _data; } + + bool load(::luban::ByteBuf& _buf) + { + int n; + if (!_buf.readSize(n)) return false; + if (n != 1) return false; + {{deserialize '_buf' '_data' __value_type}} + return true; + } + + + {{~ for field in __value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + {{declaring_type_name field.ctype}}& {{getter_name field.name}}() const { return _data->{{format_field_name __code_style field.name}}; } + {{~end~}} + {{~end~}} +}; + +{{namespace_with_grace_end __namespace}} diff --git a/Luban/Templates/cpp-rawptr-bin/tables.sbn b/Luban/Templates/cpp-rawptr-bin/tables.sbn new file mode 100644 index 0000000..76354d5 --- /dev/null +++ b/Luban/Templates/cpp-rawptr-bin/tables.sbn @@ -0,0 +1,23 @@ +class {{__name}} +{ + public: + {{~for table in __tables ~}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + {{make_cpp_name table.full_name}} {{table.name}}; + {{~end~}} + + bool load(::luban::Loader<::luban::ByteBuf> loader) + { + ::luban::ByteBuf buf; + {{~for table in __tables~}} + buf.clear(); + if (!loader(buf, "{{table.output_data_file}}")) return false; + if (!{{table.name}}.load(buf)) return false; + {{~end~}} + return true; + } +}; diff --git a/Luban/Templates/cpp-sharedptr-bin/bean.sbn b/Luban/Templates/cpp-sharedptr-bin/bean.sbn new file mode 100644 index 0000000..f55cd31 --- /dev/null +++ b/Luban/Templates/cpp-sharedptr-bin/bean.sbn @@ -0,0 +1,32 @@ +{{namespace_with_grace_begin __namespace}} + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} +struct {{__name}} : public{{if __parent_def_type}} {{make_cpp_name __parent_def_type.full_name}} {{else}} luban::CfgBean {{end}} +{ + static bool deserialize{{__name}}(::luban::ByteBuf& _buf, ::luban::SharedPtr<{{__name}}>& _out); + + virtual ~{{__name}}() {} + + bool deserialize(::luban::ByteBuf& _buf); + + {{~ for field in __export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + {{declaring_type_name field.ctype}} {{format_field_name __code_style field.name}}; + {{~end~}} + +{{~if !__this.is_abstract_type~}} + static constexpr int __ID__ = {{__this.id}}; + + int getTypeId() const override { return __ID__; } +{{~end~}} +}; + +{{namespace_with_grace_end __namespace}} \ No newline at end of file diff --git a/Luban/Templates/cpp-sharedptr-bin/schema_cpp.sbn b/Luban/Templates/cpp-sharedptr-bin/schema_cpp.sbn new file mode 100644 index 0000000..1d1a92c --- /dev/null +++ b/Luban/Templates/cpp-sharedptr-bin/schema_cpp.sbn @@ -0,0 +1,50 @@ +#include "{{__schema_header_file}}" + +{{namespace_with_grace_begin __top_module}} + +{{~for bean in __beans~}} + +bool {{make_cpp_name bean.full_name}}::deserialize(::luban::ByteBuf& _buf) +{ + {{~if bean.parent_def_type~}} + if (!{{make_cpp_name bean.parent_def_type.full_name}}::deserialize(_buf)) + { + return false; + } + {{~end~}} + + {{~ for field in bean.export_fields ~}} + {{deserialize '_buf' (format_field_name __code_style field.name) field.ctype}} + {{~end~}} + + return true; +} + +bool {{make_cpp_name bean.full_name}}::deserialize{{bean.name}}(::luban::ByteBuf& _buf, ::luban::SharedPtr<{{make_cpp_name bean.full_name}}>& _out) +{ +{{~if bean.is_abstract_type~}} + int32_t id; + if (!_buf.readInt(id)) return false; + switch (id) + { + {{~for child in bean.hierarchy_not_abstract_children~}} + case {{make_type_cpp_name child}}::__ID__: { _out.reset(LUBAN_NEW({{make_type_cpp_name child}})); if (_out->deserialize(_buf)) { return true; } else { _out.reset(); return false;} } + {{~end~}} + default: { _out = nullptr; return false;} + } +{{~else~}} + _out.reset(LUBAN_NEW({{make_type_cpp_name bean}})); + if (_out->deserialize(_buf)) + { + return true; + } + else + { + _out.reset(); + return false; + } +{{~end~}} +} + +{{~end~}} +{{namespace_with_grace_end __top_module}} diff --git a/Luban/Templates/cpp-sharedptr-bin/schema_h.sbn b/Luban/Templates/cpp-sharedptr-bin/schema_h.sbn new file mode 100644 index 0000000..90ba84c --- /dev/null +++ b/Luban/Templates/cpp-sharedptr-bin/schema_h.sbn @@ -0,0 +1,21 @@ +#pragma once +#include +#include + +#include "CfgBean.h" + +{{namespace_with_grace_begin __top_module}} + +{{__enum_codes~}} + +{{~for b in __beans~}} +{{namespace_with_grace_begin b.namespace}} struct {{b.name}}; {{namespace_with_grace_end b.namespace}} +{{~end~}} + +{{~__bean_codes~}} + +{{~__table_codes~}} + +{{__tables_code}} + +{{namespace_with_grace_end __top_module}} diff --git a/Luban/Templates/cpp-sharedptr-bin/table.sbn b/Luban/Templates/cpp-sharedptr-bin/table.sbn new file mode 100644 index 0000000..f883847 --- /dev/null +++ b/Luban/Templates/cpp-sharedptr-bin/table.sbn @@ -0,0 +1,140 @@ +{{namespace_with_grace_begin __namespace}} + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} + +class {{__name}} +{ + {{~if __this.is_map_table ~}} + private: + ::luban::HashMap<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> _dataMap; + ::luban::Vector<{{declaring_type_name __value_type}}> _dataList; + + public: + bool load(::luban::ByteBuf& _buf) + { + int n; + if (!_buf.readSize(n)) return false; + for(; n > 0 ; --n) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_buf' '_v' __value_type}} + _dataList.push_back(_v); + _dataMap[_v->{{format_field_name __code_style __this.index_field.name}}] = _v; + } + return true; + } + + const ::luban::HashMap<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}>& getDataMap() const { return _dataMap; } + const ::luban::Vector<{{declaring_type_name __value_type}}>& getDataList() const { return _dataList; } + + {{make_type_cpp_name __value_type.def_bean}}* getRaw({{declaring_type_name __key_type}} key) + { + auto it = _dataMap.find(key); + return it != _dataMap.end() ? it->second.get() : nullptr; + } + + {{declaring_type_name __value_type}} get({{declaring_type_name __key_type}} key) + { + auto it = _dataMap.find(key); + return it != _dataMap.end() ? it->second : nullptr; + } + + {{~else if __this.is_list_table~}} + private: + ::luban::Vector<{{declaring_type_name __value_type}}> _dataList; + {{~if __this.is_union_index~}} + + {{~else if !__this.index_list.empty?~}} + {{~for idx in __this.index_list~}} + ::luban::HashMap<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}> _dataMap_{{idx.index_field.name}}; + {{~end~}} + {{~else~}} + {{~end~}} + + public: + bool load(::luban::ByteBuf& _buf) + { + int n; + if (!_buf.readSize(n)) return false; + for(; n > 0 ; --n) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_buf' '_v' __value_type}} + _dataList.push_back(_v); + {{~if __this.is_union_index~}} + + {{~else if !__this.index_list.empty?~}} + {{~for idx in __this.index_list~}} + _dataMap_{{idx.index_field.name}}[_v->{{idx.index_field.name}}] = _v; + {{~end~}} + {{~else~}} + {{~end~}} + } + return true; + } + + const ::luban::Vector<{{declaring_type_name __value_type}}>& getDataList() const { return _dataList; } + + {{~if __this.is_union_index~}} + + {{~else if !__this.index_list.empty?~}} + {{~for idx in __this.index_list~}} + ::luban::HashMap<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}>& getDataMapBy{{idx.index_field.name}}() + { + return _dataMap_{{idx.index_field.name}}; + } + {{make_type_cpp_name __value_type.def_bean}}* getRawBy{{idx.index_field.name}}({{declaring_type_name idx.type}} key) + { + auto it = _dataMap_{{idx.index_field.name}}.find(key); + return it != _dataMap_{{idx.index_field.name}}.end() ? it->second.get() : nullptr; + } + {{declaring_type_name __value_type}} getBy{{idx.index_field.name}}({{declaring_type_name idx.type}} key) + { + auto it = _dataMap_{{idx.index_field.name}}.find(key); + return it != _dataMap_{{idx.index_field.name}}.end() ? it->second : nullptr; + } + {{~end~}} + {{~else~}} + {{make_type_cpp_name __value_type.def_bean}}* getRaw(size_t index) const + { + return _dataList[index].get(); + } + + {{declaring_type_name __value_type}} get(size_t index) const + { + return _dataList[index]; + } + {{~end~}} + {{~else~}} + private: + {{declaring_type_name __value_type}} _data; + + public: + {{declaring_type_name __value_type}} data() const { return _data; } + + bool load(::luban::ByteBuf& _buf) + { + int n; + if (!_buf.readSize(n)) return false; + if (n != 1) return false; + {{deserialize '_buf' '_data' __value_type}} + return true; + } + + + {{~ for field in __value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + {{declaring_type_name field.ctype}}& {{getter_name field.name}}() const { return _data->{{format_field_name __code_style field.name}}; } + {{~end~}} + {{~end~}} +}; + +{{namespace_with_grace_end __namespace}} \ No newline at end of file diff --git a/Luban/Templates/cpp-sharedptr-bin/tables.sbn b/Luban/Templates/cpp-sharedptr-bin/tables.sbn new file mode 100644 index 0000000..76354d5 --- /dev/null +++ b/Luban/Templates/cpp-sharedptr-bin/tables.sbn @@ -0,0 +1,23 @@ +class {{__name}} +{ + public: + {{~for table in __tables ~}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + {{make_cpp_name table.full_name}} {{table.name}}; + {{~end~}} + + bool load(::luban::Loader<::luban::ByteBuf> loader) + { + ::luban::ByteBuf buf; + {{~for table in __tables~}} + buf.clear(); + if (!loader(buf, "{{table.output_data_file}}")) return false; + if (!{{table.name}}.load(buf)) return false; + {{~end~}} + return true; + } +}; diff --git a/Luban/Templates/cs-bin/bean.sbn b/Luban/Templates/cs-bin/bean.sbn new file mode 100644 index 0000000..4706226 --- /dev/null +++ b/Luban/Templates/cs-bin/bean.sbn @@ -0,0 +1,150 @@ +using Luban; +{{ + parent_def_type = __bean.parent_def_type + export_fields = __bean.export_fields + hierarchy_export_fields = __bean.hierarchy_export_fields +}} + +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if __bean.comment != '' ~}} +/// +/// {{escape_comment __bean.comment}} +/// +{{~end~}} +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_Ref' +end + +func get_index_var_name + ret (format_property_name __code_style $0.name) + '_Index' +end + +func generate_resolve_field_ref + field = $0 + fieldName = format_property_name __code_style field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = format_property_name __code_style refTable.name + if field.is_nullable + ret (get_ref_name field) + ' = ' + fieldName + '!= null ? tables.' + tableName + '.GetOrDefault(' + (get_value_of_nullable_type field.ctype fieldName) + ') : null;' + else + ret (get_ref_name field) + ' = tables.' + tableName + '.GetOrDefault(' + fieldName + ');' + end + else if can_generate_collection_ref field + collection_ref_table = get_collection_ref_table field + tableName = format_property_name __code_style collection_ref_table.name + if field.ctype.type_name == 'list' || field.ctype.type_name == 'set' + line1 = (get_ref_name field) + ' = new ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'foreach (var _v in ' + fieldName + ') { ' + (get_ref_name field) + '.Add(tables.' + tableName + '.GetOrDefault(_v)); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'array' + line1 = (get_ref_name field) + ' = new ' + (declaring_type_name collection_ref_table.value_ttype) + '[' + fieldName + '.Length];' + '\n' + line2 = 'for (int _i = 0; _i < ' + fieldName + '.Length; _i++) { ' + (get_ref_name field) + '[_i] = tables.' + tableName + '.GetOrDefault(' + fieldName + '[_i]); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'map' + line1 = (get_ref_name field) + ' = new ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'foreach (var kvp in ' + fieldName + ') { ' + (get_ref_name field) + '.Add(kvp.Key, tables.' + tableName + '.GetOrDefault(kvp.Value)); }' + '\n' + ret line1 + line2 + else + ret '' + end + else + if (is_field_bean_need_resolve_ref field) + ret fieldName + '?.ResolveRef(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'foreach (var _e in ' + fieldName + ') { _e?.ResolveRef(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'foreach (var _e in ' + fieldName + '.Values) { _e?.ResolveRef(tables); }' + else + ret '' + end + end +end +~}} +{{~if __bean.is_value_type~}} +public partial struct {{__name}} +{{~else~}} +public {{class_modifier __bean}} partial class {{__name}} : {{if parent_def_type}}{{__bean.parent}}{{else}}Luban.BeanBase{{end}} +{{~end~}} +{ + public {{__name}}(ByteBuf _buf) {{if parent_def_type}} : base(_buf) {{end}} + { + {{~ for field in export_fields + fieldName = format_property_name __code_style field.name + ~}} + {{deserialize '_buf' fieldName field.ctype}} + {{~if can_generate_ref field~}} + {{get_ref_name field}} = null; + {{~end~}} + {{~if has_index field~}} + foreach(var _v in {{fieldName}}) + { + {{get_index_var_name field}}.Add(_v.{{format_property_name __code_style (get_index_field field).name}}, _v); + } + {{~end~}} + {{~end~}} + } + + public static {{__name}} Deserialize{{__name}}(ByteBuf _buf) + { + {{~if __bean.is_abstract_type~}} + switch (_buf.ReadInt()) + { + {{~for child in __bean.hierarchy_not_abstract_children~}} + case {{child.full_name}}.__ID__: return new {{child.full_name}}(_buf); + {{~end~}} + default: throw new SerializationException(); + } + {{~else~}} + return new {{__bean.full_name}}(_buf); + {{~end~}} + } + + {{~ for field in export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public readonly {{declaring_type_name field.ctype}} {{format_property_name __code_style field.name}}; + {{~if can_generate_ref field~}} + public {{declaring_type_name (get_ref_type field)}} {{get_ref_name field}}; + {{~else if can_generate_collection_ref field~}} + public {{declaring_collection_ref_name field.ctype}} {{get_ref_name field}}; + {{~end~}} + {{~if has_index field + indexMapType = get_index_map_type field + ~}} + public readonly {{declaring_type_name indexMapType}} {{get_index_var_name field}} = new {{declaring_type_name indexMapType}}(); + {{~end~}} + {{~end~}} + +{{~if !__bean.is_abstract_type && !__bean.is_value_type~}} + public const int __ID__ = {{__bean.id}}; + public override int GetTypeId() => __ID__; +{{~end~}} + + public {{method_modifier __bean}} void ResolveRef({{__manager_name}} tables) + { + {{~if parent_def_type~}} + base.ResolveRef(tables); + {{~end~}} + {{~for field in export_fields~}} + {{~ line = generate_resolve_field_ref field ~}} + {{~ if line != ''~}} + {{line}} + {{~end~}} + {{~end~}} + } + + public override string ToString() + { + return "{{full_name}}{ " + {{~for field in hierarchy_export_fields ~}} + + "{{format_field_name __code_style field.name}}:" + {{to_pretty_string (format_property_name __code_style field.name) field.ctype}} + "," + {{~end~}} + + "}"; + } +} +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-bin/table.sbn b/Luban/Templates/cs-bin/table.sbn new file mode 100644 index 0000000..d2afc6a --- /dev/null +++ b/Luban/Templates/cs-bin/table.sbn @@ -0,0 +1,169 @@ +using Luban; + +{{ + key_type = __table.key_ttype + value_type = __table.value_ttype + + func index_type_name + ret (declaring_type_name $0.type) + end + + func table_union_map_type_name + ret 'System.Collections.Generic.Dictionary<(' + (array.each __table.index_list @index_type_name | array.join ', ') + '), ' + (declaring_type_name value_type) + '>' + end + + func table_key_list + varName = $0 + indexList = __table.index_list |array.each do; ret varName + '.' + (format_property_name __code_style $0.index_field.name); end; + ret array.join indexList ', ' + end + + func table_param_def_list + paramList = __table.index_list |array.each do; ret (declaring_type_name $0.type) + ' ' + $0.index_field.name; end + ret array.join paramList ', ' + end + + func table_param_name_list + paramList = __table.index_list |array.each do; ret $0.index_field.name; end + ret array.join paramList ', ' + end +}} +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if __table.comment != '' ~}} +/// +/// {{escape_comment __table.comment}} +/// +{{~end~}} +public partial class {{__name}} +{ + {{~if __table.is_map_table ~}} + private readonly System.Collections.Generic.Dictionary<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}> _dataMap; + private readonly System.Collections.Generic.List<{{declaring_type_name value_type}}> _dataList; + + public {{__name}}(ByteBuf _buf) + { + int n = _buf.ReadSize(); + _dataMap = new System.Collections.Generic.Dictionary<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}>(n); + _dataList = new System.Collections.Generic.List<{{declaring_type_name value_type}}>(n); + for(int i = n ; i > 0 ; --i) + { + {{declaring_type_name value_type}} _v; + {{deserialize '_buf' '_v' value_type}} + _dataList.Add(_v); + _dataMap.Add(_v.{{format_property_name __code_style __table.index_field.name}}, _v); + } + } + + public System.Collections.Generic.Dictionary<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}> DataMap => _dataMap; + public System.Collections.Generic.List<{{declaring_type_name value_type}}> DataList => _dataList; + +{{~if value_type.is_dynamic~}} + public T GetOrDefaultAs({{declaring_type_name key_type}} key) where T : {{declaring_type_name value_type}} => _dataMap.TryGetValue(key, out var v) ? (T)v : default; + public T GetAs({{declaring_type_name key_type}} key) where T : {{declaring_type_name value_type}} => (T)_dataMap[key]; +{{~end~}} + public {{declaring_type_name value_type}} GetOrDefault({{declaring_type_name key_type}} key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public {{declaring_type_name value_type}} Get({{declaring_type_name key_type}} key) => _dataMap[key]; + public {{declaring_type_name value_type}} this[{{declaring_type_name key_type}} key] => _dataMap[key]; + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + {{~end~}} + } + + {{~else if __table.is_list_table ~}} + private readonly System.Collections.Generic.List<{{declaring_type_name value_type}}> _dataList; + + {{~if __table.is_union_index~}} + private {{table_union_map_type_name}} _dataMapUnion; + {{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + private System.Collections.Generic.Dictionary<{{declaring_type_name idx.type}}, {{declaring_type_name value_type}}> _dataMap_{{idx.index_field.name}}; + {{~end~}} + {{~end~}} + + public {{__name}}(ByteBuf _buf) + { + int n = _buf.ReadSize(); + _dataList = new System.Collections.Generic.List<{{declaring_type_name value_type}}>(n); + for(int i = n ; i > 0 ; --i) + { + {{declaring_type_name value_type}} _v; + {{deserialize '_buf' '_v' value_type}} + _dataList.Add(_v); + } + {{~if __table.is_union_index~}} + _dataMapUnion = new {{table_union_map_type_name}}(n); + foreach(var _v in _dataList) + { + _dataMapUnion.Add(({{table_key_list "_v"}}), _v); + } + {{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}} = new System.Collections.Generic.Dictionary<{{declaring_type_name idx.type}}, {{declaring_type_name value_type}}>(n); + {{~end~}} + foreach(var _v in _dataList) + { + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}}.Add(_v.{{format_property_name __code_style idx.index_field.name}}, _v); + {{~end~}} + } + {{~end~}} + } + + public System.Collections.Generic.List<{{declaring_type_name value_type}}> DataList => _dataList; + + {{~if __table.is_union_index~}} + public {{declaring_type_name value_type}} Get({{table_param_def_list}}) => _dataMapUnion.TryGetValue(({{table_param_name_list}}), out {{declaring_type_name value_type}} __v) ? __v : default; + {{~else if !__table.index_list.empty? ~}} + {{~for idx in __table.index_list~}} + public {{declaring_type_name value_type}} GetBy{{format_property_name __code_style idx.index_field.name}}({{declaring_type_name idx.type}} key) => _dataMap_{{idx.index_field.name}}.TryGetValue(key, out {{declaring_type_name value_type}} __v) ? __v : default; + {{~end~}} + {{~end~}} + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + {{~end~}} + } + {{~else~}} + + private readonly {{declaring_type_name value_type}} _data; + + public {{declaring_type_name value_type}} Data => _data; + + public {{__name}}(ByteBuf _buf) + { + int n = _buf.ReadSize(); + if (n != 1) throw new SerializationException("table mode=one, but size != 1"); + {{deserialize '_buf' '_data' value_type}} + } + + + {{~ for field in value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public {{declaring_type_name field.ctype}} {{format_property_name __code_style field.name}} => _data.{{format_property_name __code_style field.name}}; + {{~end~}} + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + _data.ResolveRef(tables); + {{~end~}} + } + {{~end~}} +} + +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-bin/tables.sbn b/Luban/Templates/cs-bin/tables.sbn new file mode 100644 index 0000000..be907ad --- /dev/null +++ b/Luban/Templates/cs-bin/tables.sbn @@ -0,0 +1,31 @@ +using Luban; + +{{namespace_with_grace_begin __namespace}} +public partial class {{__name}} +{ + {{~for table in __tables ~}} +{{~if table.comment != '' ~}} + /// + /// {{escape_comment table.comment}} + /// +{{~end~}} + public {{table.full_name}} {{format_property_name __code_style table.name}} {get; } + {{~end~}} + + public {{__name}}(System.Func loader) + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}} = new {{table.full_name}}(loader("{{table.output_data_file}}")); + {{~end~}} + ResolveRef(); + } + + private void ResolveRef() + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}}.ResolveRef(this); + {{~end~}} + } +} + +{{namespace_with_grace_end __namespace}} \ No newline at end of file diff --git a/Luban/Templates/cs-dotnet-json/bean.sbn b/Luban/Templates/cs-dotnet-json/bean.sbn new file mode 100644 index 0000000..d661e08 --- /dev/null +++ b/Luban/Templates/cs-dotnet-json/bean.sbn @@ -0,0 +1,151 @@ +using Luban; +using System.Text.Json; +{{ + parent_def_type = __bean.parent_def_type + export_fields = __bean.export_fields + hierarchy_export_fields = __bean.hierarchy_export_fields +}} + +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if __bean.comment != '' ~}} +/// +/// {{escape_comment __bean.comment}} +/// +{{~end~}} +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_Ref' +end + +func get_index_var_name + ret (format_property_name __code_style $0.name) + '_Index' +end + +func generate_resolve_field_ref + field = $0 + fieldName = format_property_name __code_style field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = format_property_name __code_style refTable.name + if field.is_nullable + ret (get_ref_name field) + ' = ' + fieldName + '!= null ? tables.' + tableName + '.GetOrDefault(' + (get_value_of_nullable_type field.ctype fieldName) + ') : null;' + else + ret (get_ref_name field) + ' = tables.' + tableName + '.GetOrDefault(' + fieldName + ');' + end + else if can_generate_collection_ref field + collection_ref_table = get_collection_ref_table field + tableName = format_property_name __code_style collection_ref_table.name + if field.ctype.type_name == 'list' || field.ctype.type_name == 'set' + line1 = (get_ref_name field) + ' = new ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'foreach (var _v in ' + fieldName + ') { ' + (get_ref_name field) + '.Add(tables.' + tableName + '.GetOrDefault(_v)); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'array' + line1 = (get_ref_name field) + ' = new ' + (declaring_type_name collection_ref_table.value_ttype) + '[' + fieldName + '.Length];' + '\n' + line2 = 'for (int _i = 0; _i < ' + fieldName + '.Length; _i++) { ' + (get_ref_name field) + '[_i] = tables.' + tableName + '.GetOrDefault(' + fieldName + '[_i]); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'map' + line1 = (get_ref_name field) + ' = new ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'foreach (var kvp in ' + fieldName + ') { ' + (get_ref_name field) + '.Add(kvp.Key, tables.' + tableName + '.GetOrDefault(kvp.Value)); }' + '\n' + ret line1 + line2 + else + ret '' + end + else + if (is_field_bean_need_resolve_ref field) + ret fieldName + '?.ResolveRef(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'foreach (var _e in ' + fieldName + ') { _e?.ResolveRef(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'foreach (var _e in ' + fieldName + '.Values) { _e?.ResolveRef(tables); }' + else + ret '' + end + end +end +~}} +{{~if __bean.is_value_type~}} +public partial struct {{__name}} +{{~else~}} +public {{class_modifier __bean}} partial class {{__name}} : {{if parent_def_type}}{{__bean.parent}}{{else}}Luban.BeanBase{{end}} +{{~end~}} +{ + public {{__name}}(JsonElement _buf) {{if parent_def_type}} : base(_buf) {{end}} + { + {{~ for field in export_fields + fieldName = format_property_name __code_style field.name + ~}} + {{deserialize_field fieldName '_buf' field.name field.ctype}} + {{~if can_generate_ref field~}} + {{get_ref_name field}} = null; + {{~end~}} + {{~if has_index field~}} + foreach(var _v in {{fieldName}}) + { + {{get_index_var_name field}}.Add(_v.{{format_property_name __code_style (get_index_field field).name}}, _v); + } + {{~end~}} + {{~end~}} + } + + public static {{__name}} Deserialize{{__name}}(JsonElement _buf) + { + {{~if __bean.is_abstract_type~}} + switch (_buf.GetProperty("$type").GetString()) + { + {{~for child in __bean.hierarchy_not_abstract_children~}} + case "{{impl_data_type child __bean}}": return new {{child.full_name}}(_buf); + {{~end~}} + default: throw new SerializationException(); + } + {{~else~}} + return new {{__bean.full_name}}(_buf); + {{~end~}} + } + + {{~ for field in export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public readonly {{declaring_type_name field.ctype}} {{format_property_name __code_style field.name}}; + {{~if can_generate_ref field~}} + public {{declaring_type_name (get_ref_type field)}} {{get_ref_name field}}; + {{~else if can_generate_collection_ref field~}} + public {{declaring_collection_ref_name field.ctype}} {{get_ref_name field}}; + {{~end~}} + {{~if has_index field + indexMapType = get_index_map_type field + ~}} + public readonly {{declaring_type_name indexMapType}} {{get_index_var_name field}} = new {{declaring_type_name indexMapType}}(); + {{~end~}} + {{~end~}} + +{{~if !__bean.is_abstract_type && !__bean.is_value_type~}} + public const int __ID__ = {{__bean.id}}; + public override int GetTypeId() => __ID__; +{{~end~}} + + public {{method_modifier __bean}} void ResolveRef({{__manager_name}} tables) + { + {{~if parent_def_type~}} + base.ResolveRef(tables); + {{~end~}} + {{~for field in export_fields~}} + {{~ line = generate_resolve_field_ref field ~}} + {{~ if line != ''~}} + {{line}} + {{~end~}} + {{~end~}} + } + + public override string ToString() + { + return "{{full_name}}{ " + {{~for field in hierarchy_export_fields ~}} + + "{{format_field_name __code_style field.name}}:" + {{to_pretty_string (format_property_name __code_style field.name) field.ctype}} + "," + {{~end~}} + + "}"; + } +} +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-dotnet-json/table.sbn b/Luban/Templates/cs-dotnet-json/table.sbn new file mode 100644 index 0000000..76b04fd --- /dev/null +++ b/Luban/Templates/cs-dotnet-json/table.sbn @@ -0,0 +1,172 @@ +using Luban; +using System.Text.Json; + +{{ + key_type = __table.key_ttype + value_type = __table.value_ttype + + func index_type_name + ret (declaring_type_name $0.type) + end + + func table_union_map_type_name + ret 'System.Collections.Generic.Dictionary<(' + (array.each __table.index_list @index_type_name | array.join ', ') + '), ' + (declaring_type_name __value_type) + '>' + end + + func table_key_list + varName = $0 + indexList = __table.index_list |array.each do; ret varName + '.' + (format_property_name __code_style $0.index_field.name); end; + ret array.join indexList ', ' + end + + func table_param_def_list + paramList = __table.index_list |array.each do; ret (declaring_type_name $0.type) + ' ' + $0.index_field.name; end + ret array.join paramList ', ' + end + + func table_param_name_list + paramList = __table.index_list |array.each do; ret $0.index_field.name; end + ret array.join paramList ', ' + end +}} +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if __table.comment != '' ~}} +/// +/// {{escape_comment __table.comment}} +/// +{{~end~}} +public partial class {{__name}} +{ + {{~if __table.is_map_table ~}} + private readonly System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> _dataMap; + private readonly System.Collections.Generic.List<{{declaring_type_name __value_type}}> _dataList; + + public {{__name}}(JsonElement _buf) + { + int count = _buf.GetArrayLength(); + _dataMap = new System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}>(count); + _dataList = new System.Collections.Generic.List<{{declaring_type_name __value_type}}>(count); + + foreach(JsonElement _ele in _buf.EnumerateArray()) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_v' '_ele' __value_type}} + _dataList.Add(_v); + _dataMap.Add(_v.{{format_property_name __code_style __table.index_field.name}}, _v); + } + } + + public System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> DataMap => _dataMap; + public System.Collections.Generic.List<{{declaring_type_name __value_type}}> DataList => _dataList; + +{{~if __value_type.is_dynamic~}} + public T GetOrDefaultAs({{declaring_type_name __key_type}} key) where T : {{declaring_type_name __value_type}} => _dataMap.TryGetValue(key, out var v) ? (T)v : default; + public T GetAs({{declaring_type_name __key_type}} key) where T : {{declaring_type_name __value_type}} => (T)_dataMap[key]; +{{~end~}} + public {{declaring_type_name __value_type}} GetOrDefault({{declaring_type_name __key_type}} key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public {{declaring_type_name __value_type}} Get({{declaring_type_name __key_type}} key) => _dataMap[key]; + public {{declaring_type_name __value_type}} this[{{declaring_type_name __key_type}} key] => _dataMap[key]; + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + {{~end~}} + } + + {{~else if __table.is_list_table ~}} + private readonly System.Collections.Generic.List<{{declaring_type_name __value_type}}> _dataList; + + {{~if __table.is_union_index~}} + private {{table_union_map_type_name}} _dataMapUnion; + {{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + private System.Collections.Generic.Dictionary<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}> _dataMap_{{idx.index_field.name}}; + {{~end~}} + {{~end~}} + + public {{__name}}(JsonElement _buf) + { + int count = _buf.GetArrayLength(); + _dataList = new System.Collections.Generic.List<{{declaring_type_name __value_type}}>(count); + + foreach(JsonElement _ele in _buf.EnumerateArray()) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_v' '_ele' __value_type}} + _dataList.Add(_v); + } + {{~if __table.is_union_index~}} + _dataMapUnion = new {{table_union_map_type_name}}(); + foreach(var _v in _dataList) + { + _dataMapUnion.Add(({{table_key_list "_v"}}), _v); + } + {{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}} = new System.Collections.Generic.Dictionary<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}>(count); + {{~end~}} + foreach(var _v in _dataList) + { + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}}.Add(_v.{{format_property_name __code_style idx.index_field.name}}, _v); + {{~end~}} + } + {{~end~}} + } + + public System.Collections.Generic.List<{{declaring_type_name __value_type}}> DataList => _dataList; + + {{~if __table.is_union_index~}} + public {{declaring_type_name __value_type}} Get({{table_param_def_list}}) => _dataMapUnion.TryGetValue(({{table_param_name_list}}), out {{declaring_type_name __value_type}} __v) ? __v : default; + {{~else if !__table.index_list.empty? ~}} + {{~for idx in __table.index_list~}} + public {{declaring_type_name __value_type}} GetBy{{format_property_name __code_style idx.index_field.name}}({{declaring_type_name idx.type}} key) => _dataMap_{{idx.index_field.name}}.TryGetValue(key, out {{declaring_type_name __value_type}} __v) ? __v : default; + {{~end~}} + {{~end~}} + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + {{~end~}} + } + {{~else~}} + + private readonly {{declaring_type_name __value_type}} _data; + + public {{declaring_type_name __value_type}} Data => _data; + + public {{__name}}(JsonElement _buf) + { + int n = _buf.GetArrayLength(); + if (n != 1) throw new SerializationException("table mode=one, but size != 1"); + {{deserialize '_data' '_buf[0]' __value_type}} + } + + + {{~ for field in __value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public {{declaring_type_name field.ctype}} {{format_property_name __code_style field.name}} => _data.{{format_property_name __code_style field.name}}; + {{~end~}} + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + _data.ResolveRef(tables); + {{~end~}} + } + {{~end~}} +} + +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-dotnet-json/tables.sbn b/Luban/Templates/cs-dotnet-json/tables.sbn new file mode 100644 index 0000000..fcb1832 --- /dev/null +++ b/Luban/Templates/cs-dotnet-json/tables.sbn @@ -0,0 +1,32 @@ +using Luban; +using System.Text.Json; + +{{namespace_with_grace_begin __namespace}} +public partial class {{__name}} +{ + {{~for table in __tables ~}} +{{~if table.comment != '' ~}} + /// + /// {{escape_comment table.comment}} + /// +{{~end~}} + public {{table.full_name}} {{format_property_name __code_style table.name}} {get; } + {{~end~}} + + public {{__name}}(System.Func loader) + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}} = new {{table.full_name}}(loader("{{table.output_data_file}}")); + {{~end~}} + ResolveRef(); + } + + private void ResolveRef() + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}}.ResolveRef(this); + {{~end~}} + } +} + +{{namespace_with_grace_end __namespace}} \ No newline at end of file diff --git a/Luban/Templates/cs-editor-json/bean.sbn b/Luban/Templates/cs-editor-json/bean.sbn new file mode 100644 index 0000000..0ed8c8c --- /dev/null +++ b/Luban/Templates/cs-editor-json/bean.sbn @@ -0,0 +1,101 @@ +using System.Collections.Generic; +using SimpleJSON; +using Luban; + +{{namespace_with_grace_begin __namespace_with_top_module}} + +{{~if __this.comment != '' ~}} +/// +/// {{escape_comment __this.comment}} +/// +{{~end~}} +public {{class_modifier __bean}} class {{__name}} : {{if __parent_def_type}} {{__this.parent}} {{else}} Luban.EditorBeanBase {{end}} +{ + public {{__name}}() + { + {{~ for field in __fields ~}} + {{~if (need_init field.ctype) && !field.ctype.is_nullable ~}} + {{format_field_name __code_style field.name}} = {{init_value field.ctype}}; + {{~end~}} + {{~end~}} + } + + {{~if !__this.is_abstract_type~}} + public override void LoadJson(SimpleJSON.JSONObject _json) + { + {{~ for field in __hierarchy_fields ~}} + { + var _fieldJson = _json["{{field.name}}"]; + if (_fieldJson != null) + { + {{deserialize '_fieldJson' (format_field_name __code_style field.name) field.ctype}} + } + } + + {{~end~}} + } + + public override void SaveJson(SimpleJSON.JSONObject _json) + { + {{~if parent~}} + _json["$type"] = "{{__this.full_name}}"; + {{~end~}} + {{~ for field in __hierarchy_fields ~}} + {{~if field.ctype.is_nullable}} + if ({{format_field_name __code_style field.name}} != null) + { + {{serialize '_json' field.name (format_field_name __code_style field.name) field.ctype}} + } + {{~else~}} + { + {{~if (is_raw_nullable field.ctype)}} + if ({{format_field_name __code_style field.name}} == null) { throw new System.ArgumentNullException(); } + {{~end~}} + {{serialize '_json' field.name (format_field_name __code_style field.name) field.ctype}} + } + {{~end~}} + {{~end~}} + } + {{~end~}} + + public static {{__name}} LoadJson{{__name}}(SimpleJSON.JSONNode _json) + { + {{~if __this.is_abstract_type~}} + string type = _json["$type"]; + {{__name}} obj; + switch (type) + { + {{~for child in __this.hierarchy_not_abstract_children~}} + {{~if child.namespace == __this.namespace && __this.namespace != '' ~}} + case "{{child.full_name}}": + {{~end~}} + case "{{impl_data_type child __this}}":obj = new {{child.full_name}}(); break; + {{~end~}} + default: throw new SerializationException(); + } + {{~else~}} + {{__name}} obj = new {{__this.full_name}}(); + {{~end~}} + obj.LoadJson((SimpleJSON.JSONObject)_json); + return obj; + } + + public static void SaveJson{{__name}}({{__name}} _obj, SimpleJSON.JSONNode _json) + { + {{~if __this.is_abstract_type~}} + _json["$type"] = _obj.GetType().Name; + {{~end~}} + _obj.SaveJson((SimpleJSON.JSONObject)_json); + } + + {{~ for field in __fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public {{declaring_type_name field.ctype}} {{format_field_name __code_style field.name}}; + + {{~end~}} +} +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-editor-json/enum.sbn b/Luban/Templates/cs-editor-json/enum.sbn new file mode 100644 index 0000000..fb36236 --- /dev/null +++ b/Luban/Templates/cs-editor-json/enum.sbn @@ -0,0 +1,59 @@ +{{~ + comment = __enum.comment + items = __enum.items + itemType = 'Luban.EditorEnumItemInfo' +~}} + +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if comment != '' ~}} + /// + /// {{escape_comment comment}} + /// +{{~end~}} + {{~if __enum.is_flags~}} + [System.Flags] + {{~end~}} + public enum {{__name}} + { + {{~ for item in items ~}} +{{~if item.comment != '' ~}} + /// + /// {{escape_comment item.comment_or_alias}} + /// +{{~end~}} + {{format_enum_item_name __code_style item.name}} = {{item.value}}, + {{~end~}} + } + + public static class {{__name}}_Metadata + { + {{~ for item in items ~}} + public static readonly {{itemType}} {{item.name}} = new {{itemType}}("{{item.name}}", "{{item.alias}}", {{item.int_value}}, "{{item.comment}}"); + {{~end~}} + + private static readonly System.Collections.Generic.List<{{itemType}}> __items = new System.Collections.Generic.List<{{itemType}}> + { + {{~ for item in items ~}} + {{item.name}}, + {{~end~}} + }; + + public static System.Collections.Generic.List<{{itemType}}> GetItems() => __items; + + public static {{itemType}} GetByName(string name) + { + return __items.Find(c => c.Name == name); + } + + public static {{itemType}} GetByNameOrAlias(string name) + { + return __items.Find(c => c.Name == name || c.Alias == name); + } + + public static {{itemType}} GetByValue(int value) + { + return __items.Find(c => c.Value == value); + } + } + +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-newtonsoft-json/bean.sbn b/Luban/Templates/cs-newtonsoft-json/bean.sbn new file mode 100644 index 0000000..f8ae9bd --- /dev/null +++ b/Luban/Templates/cs-newtonsoft-json/bean.sbn @@ -0,0 +1,158 @@ +using Luban; +using Newtonsoft.Json.Linq; + +{{ + parent_def_type = __bean.parent_def_type + export_fields = __bean.export_fields + hierarchy_export_fields = __bean.hierarchy_export_fields +}} + +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if __bean.comment != '' ~}} +/// +/// {{escape_comment __bean.comment}} +/// +{{~end~}} +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_Ref' +end + +func get_index_var_name + ret (format_property_name __code_style $0.name) + '_Index' +end + + +func generate_resolve_field_ref + field = $0 + fieldName = format_property_name __code_style field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = format_property_name __code_style refTable.name + if field.is_nullable + ret (get_ref_name field) + ' = ' + fieldName + '!= null ? tables.' + tableName + '.GetOrDefault(' + (get_value_of_nullable_type field.ctype fieldName) + ') : null;' + else + ret (get_ref_name field) + ' = tables.' + tableName + '.GetOrDefault(' + fieldName + ');' + end + else if can_generate_collection_ref field + collection_ref_table = get_collection_ref_table field + tableName = format_property_name __code_style collection_ref_table.name + if field.ctype.type_name == 'list' || field.ctype.type_name == 'set' + line1 = (get_ref_name field) + ' = new ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'foreach (var _v in ' + fieldName + ') { ' + (get_ref_name field) + '.Add(tables.' + tableName + '.GetOrDefault(_v)); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'array' + line1 = (get_ref_name field) + ' = new ' + (declaring_type_name collection_ref_table.value_ttype) + '[' + fieldName + '.Length];' + '\n' + line2 = 'for (int _i = 0; _i < ' + fieldName + '.Length; _i++) { ' + (get_ref_name field) + '[_i] = tables.' + tableName + '.GetOrDefault(' + fieldName + '[_i]); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'map' + line1 = (get_ref_name field) + ' = new ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'foreach (var kvp in ' + fieldName + ') { ' + (get_ref_name field) + '.Add(kvp.Key, tables.' + tableName + '.GetOrDefault(kvp.Value)); }' + '\n' + ret line1 + line2 + else + ret '' + end + else + if (is_field_bean_need_resolve_ref field) + ret fieldName + '?.ResolveRef(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'foreach (var _e in ' + fieldName + ') { _e?.ResolveRef(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'foreach (var _e in ' + fieldName + '.Values) { _e?.ResolveRef(tables); }' + else + ret '' + end + end +end + +~}} + +{{~if __bean.is_value_type~}} +public partial struct {{__name}} +{{~else~}} +public {{class_modifier __bean}} partial class {{__name}} : {{if parent_def_type}}{{__bean.parent}}{{else}}Luban.BeanBase{{end}} +{{~end~}} +{ + public {{__name}}(JToken _buf) {{if parent_def_type}} : base(_buf) {{end}} + { + JObject _obj = _buf as JObject; + {{~ for field in export_fields + fieldName = format_property_name __code_style field.name + ~}} + {{deserialize_field fieldName '_obj' field.name field.ctype}} + {{~if can_generate_ref field~}} + {{get_ref_name field}} = null; + {{~end~}} + {{~if has_index field~}} + foreach(var _v in {{fieldName}}) + { + {{get_index_var_name field}}.Add(_v.{{format_property_name __code_style (get_index_field field).name}}, _v); + } + {{~end~}} + {{~end~}} + } + + public static {{__name}} Deserialize{{__name}}(JToken _buf) + { + {{~if __bean.is_abstract_type~}} + var _obj=_buf as JObject; + switch (_obj.GetValue("$type").ToString()) + { + {{~for child in __bean.hierarchy_not_abstract_children~}} + case "{{impl_data_type child __bean}}": return new {{child.full_name}}(_buf); + {{~end~}} + default: throw new SerializationException(); + } + {{~else~}} + return new {{__bean.full_name}}(_buf); + {{~end~}} + } + + {{~ for field in export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public readonly {{declaring_type_name field.ctype}} {{format_property_name __code_style field.name}}; + {{~if can_generate_ref field~}} + public {{declaring_type_name (get_ref_type field)}} {{get_ref_name field}}; + {{~else if can_generate_collection_ref field~}} + public {{declaring_collection_ref_name field.ctype}} {{get_ref_name field}}; + {{~end~}} + {{~if has_index field + indexMapType = get_index_map_type field + ~}} + public readonly {{declaring_type_name indexMapType}} {{get_index_var_name field}} = new {{declaring_type_name indexMapType}}(); + {{~end~}} + {{~end~}} + + + {{~if !__bean.is_abstract_type && !__bean.is_value_type~}} + public const int __ID__ = {{__bean.id}}; + public override int GetTypeId() => __ID__; + {{~end~}} + + public {{method_modifier __bean}} void ResolveRef({{__manager_name}} tables) + { + {{~if parent_def_type~}} + base.ResolveRef(tables); + {{~end~}} + {{~for field in export_fields~}} + {{~ line = generate_resolve_field_ref field ~}} + {{~ if line != ''~}} + {{line}} + {{~end~}} + {{~end~}} + } + + public override string ToString() + { + return "{{full_name}}{ " + {{~for field in hierarchy_export_fields ~}} + + "{{format_field_name __code_style field.name}}:" + {{to_pretty_string (format_property_name __code_style field.name) field.ctype}} + "," + {{~end~}} + + "}"; + } +} +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-newtonsoft-json/table.sbn b/Luban/Templates/cs-newtonsoft-json/table.sbn new file mode 100644 index 0000000..8ba801a --- /dev/null +++ b/Luban/Templates/cs-newtonsoft-json/table.sbn @@ -0,0 +1,177 @@ +using Newtonsoft.Json.Linq; +using Luban; + +{{ + key_type = __table.key_ttype + value_type = __table.value_ttype + + func index_type_name + ret (declaring_type_name $0.type) + end + + func table_union_map_type_name + ret 'System.Collections.Generic.Dictionary<(' + (array.each __table.index_list @index_type_name | array.join ', ') + '), ' + (declaring_type_name __value_type) + '>' + end + + func table_key_list + varName = $0 + indexList = __table.index_list |array.each do; ret varName + '.' + (format_property_name __code_style $0.index_field.name); end; + ret array.join indexList ', ' + end + + func table_param_def_list + paramList = __table.index_list |array.each do; ret (declaring_type_name $0.type) + ' ' + $0.index_field.name; end + ret array.join paramList ', ' + end + + func table_param_name_list + paramList = __table.index_list |array.each do; ret $0.index_field.name; end + ret array.join paramList ', ' + end +}} + +{{namespace_with_grace_begin __namespace_with_top_module}} + +{{~if __table.comment != '' ~}} +/// +/// {{escape_comment __table.comment}} +/// +{{~end~}} +public partial class {{__name}} +{ + {{~if __table.is_map_table ~}} + private readonly System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> _dataMap; + private readonly System.Collections.Generic.List<{{declaring_type_name __value_type}}> _dataList; + + public {{__name}}(JArray _buf) + { + _dataMap = new System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}>(_buf.Count); + _dataList = new System.Collections.Generic.List<{{declaring_type_name __value_type}}>(_buf.Count); + + foreach(JObject _ele in _buf) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_v' '_ele' __value_type}} + _dataList.Add(_v); + _dataMap.Add(_v.{{format_property_name __code_style __table.index_field.name}}, _v); + } + } + + + public System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> DataMap => _dataMap; + public System.Collections.Generic.List<{{declaring_type_name __value_type}}> DataList => _dataList; + +{{~if __value_type.is_dynamic~}} + public T GetOrDefaultAs({{declaring_type_name __key_type}} key) where T : {{declaring_type_name __value_type}} => _dataMap.TryGetValue(key, out var v) ? (T)v : default; + public T GetAs({{declaring_type_name __key_type}} key) where T : {{declaring_type_name __value_type}} => (T)_dataMap[key]; +{{~end~}} + public {{declaring_type_name __value_type}} GetOrDefault({{declaring_type_name __key_type}} key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public {{declaring_type_name __value_type}} Get({{declaring_type_name __key_type}} key) => _dataMap[key]; + public {{declaring_type_name __value_type}} this[{{declaring_type_name __key_type}} key] => _dataMap[key]; + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + {{~end~}} + } + + {{~else if __table.is_list_table ~}} + private readonly System.Collections.Generic.List<{{declaring_type_name __value_type}}> _dataList; + + {{~if __table.is_union_index~}} + private {{table_union_map_type_name}} _dataMapUnion; + {{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + private System.Collections.Generic.Dictionary<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}> _dataMap_{{idx.index_field.name}}; + {{~end~}} + {{~end~}} + + + public {{__name}}(JArray _buf) + { + _dataList = new System.Collections.Generic.List<{{declaring_type_name __value_type}}>(_buf.Count); + + foreach(JObject _ele in _buf) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_v' '_ele' __value_type}} + _dataList.Add(_v); + } + {{~if __table.is_union_index~}} + _dataMapUnion = new {{table_union_map_type_name}}(_buf.Count); + foreach(var _v in _dataList) + { + _dataMapUnion.Add(({{table_key_list "_v"}}), _v); + } + {{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}} = new System.Collections.Generic.Dictionary<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}>(_buf.Count); + {{~end~}} + foreach(var _v in _dataList) + { + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}}.Add(_v.{{format_property_name __code_style idx.index_field.name}}, _v); + {{~end~}} + } + {{~end~}} + } + + public System.Collections.Generic.List<{{declaring_type_name __value_type}}> DataList => _dataList; + + + {{~if __table.is_union_index~}} + public {{declaring_type_name __value_type}} Get({{table_param_def_list}}) => _dataMapUnion.TryGetValue(({{table_param_name_list}}), out {{declaring_type_name __value_type}} __v) ? __v : default; + {{~else if !__table.index_list.empty? ~}} + {{~for idx in __table.index_list~}} + public {{declaring_type_name __value_type}} GetBy{{format_property_name __code_style idx.index_field.name}}({{declaring_type_name idx.type}} key) => _dataMap_{{idx.index_field.name}}.TryGetValue(key, out {{declaring_type_name __value_type}} __v) ? __v : default; + {{~end~}} + {{~end~}} + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + {{~end~}} + } + {{~else~}} + + private readonly {{declaring_type_name __value_type}} _data; + + public {{declaring_type_name __value_type}} Data => _data; + + public {{__name}}(JArray _buf) + { + int n = _buf.Count; + if (n != 1) throw new SerializationException("table mode=one, but size != 1"); + {{deserialize '_data' '_buf[0]' __value_type}} + } + + + {{~ for field in __value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public {{declaring_type_name field.ctype}} {{format_property_name __code_style field.name}} => _data.{{format_property_name __code_style field.name}}; + {{~end~}} + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + _data.ResolveRef(tables); + {{~end~}} + } + + + + {{~end~}} +} +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-newtonsoft-json/tables.sbn b/Luban/Templates/cs-newtonsoft-json/tables.sbn new file mode 100644 index 0000000..5f10e0a --- /dev/null +++ b/Luban/Templates/cs-newtonsoft-json/tables.sbn @@ -0,0 +1,32 @@ +using Newtonsoft.Json.Linq; + +{{namespace_with_grace_begin __namespace}} +public partial class {{__name}} +{ + {{~for table in __tables ~}} +{{~if table.comment != '' ~}} + /// + /// {{escape_comment table.comment}} + /// +{{~end~}} + public {{table.full_name}} {{format_property_name __code_style table.name}} {get; } + {{~end~}} + + + public {{__name}}(System.Func loader) + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}} = new {{table.full_name}}(loader("{{table.output_data_file}}")); + {{~end~}} + ResolveRef(); + } + + private void ResolveRef() + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}}.ResolveRef(this); + {{~end~}} + } +} + +{{namespace_with_grace_end __namespace}} diff --git a/Luban/Templates/cs-simple-json/bean.sbn b/Luban/Templates/cs-simple-json/bean.sbn new file mode 100644 index 0000000..1d7a4d9 --- /dev/null +++ b/Luban/Templates/cs-simple-json/bean.sbn @@ -0,0 +1,151 @@ +using Luban; +using SimpleJSON; +{{ + parent_def_type = __bean.parent_def_type + export_fields = __bean.export_fields + hierarchy_export_fields = __bean.hierarchy_export_fields +}} + +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if __bean.comment != '' ~}} +/// +/// {{escape_comment __bean.comment}} +/// +{{~end~}} +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_Ref' +end + +func get_index_var_name + ret (format_property_name __code_style $0.name) + '_Index' +end + +func generate_resolve_field_ref + field = $0 + fieldName = format_property_name __code_style field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = format_property_name __code_style refTable.name + if field.is_nullable + ret (get_ref_name field) + ' = ' + fieldName + '!= null ? tables.' + tableName + '.GetOrDefault(' + (get_value_of_nullable_type field.ctype fieldName) + ') : null;' + else + ret (get_ref_name field) + ' = tables.' + tableName + '.GetOrDefault(' + fieldName + ');' + end + else if can_generate_collection_ref field + collection_ref_table = get_collection_ref_table field + tableName = format_property_name __code_style collection_ref_table.name + if field.ctype.type_name == 'list' || field.ctype.type_name == 'set' + line1 = (get_ref_name field) + ' = new ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'foreach (var _v in ' + fieldName + ') { ' + (get_ref_name field) + '.Add(tables.' + tableName + '.GetOrDefault(_v)); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'array' + line1 = (get_ref_name field) + ' = new ' + (declaring_type_name collection_ref_table.value_ttype) + '[' + fieldName + '.Length];' + '\n' + line2 = 'for (int _i = 0; _i < ' + fieldName + '.Length; _i++) { ' + (get_ref_name field) + '[_i] = tables.' + tableName + '.GetOrDefault(' + fieldName + '[_i]); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'map' + line1 = (get_ref_name field) + ' = new ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'foreach (var kvp in ' + fieldName + ') { ' + (get_ref_name field) + '.Add(kvp.Key, tables.' + tableName + '.GetOrDefault(kvp.Value)); }' + '\n' + ret line1 + line2 + else + ret '' + end + else + if (is_field_bean_need_resolve_ref field) + ret fieldName + '?.ResolveRef(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'foreach (var _e in ' + fieldName + ') { _e?.ResolveRef(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'foreach (var _e in ' + fieldName + '.Values) { _e?.ResolveRef(tables); }' + else + ret '' + end + end +end +~}} +{{~if __bean.is_value_type~}} +public partial struct {{__name}} +{{~else~}} +public {{class_modifier __bean}} partial class {{__name}} : {{if parent_def_type}}{{__bean.parent}}{{else}}Luban.BeanBase{{end}} +{{~end~}} +{ + public {{__name}}(JSONNode _buf) {{if parent_def_type}} : base(_buf) {{end}} + { + {{~ for field in export_fields + fieldName = format_property_name __code_style field.name + ~}} + {{deserialize_field fieldName '_buf' field.name field.ctype}} + {{~if can_generate_ref field~}} + {{get_ref_name field}} = null; + {{~end~}} + {{~if has_index field~}} + foreach(var _v in {{fieldName}}) + { + {{get_index_var_name field}}.Add(_v.{{format_property_name __code_style (get_index_field field).name}}, _v); + } + {{~end~}} + {{~end~}} + } + + public static {{__name}} Deserialize{{__name}}(JSONNode _buf) + { + {{~if __bean.is_abstract_type~}} + switch ((string)_buf["$type"]) + { + {{~for child in __bean.hierarchy_not_abstract_children~}} + case "{{impl_data_type child __bean}}": return new {{child.full_name}}(_buf); + {{~end~}} + default: throw new SerializationException(); + } + {{~else~}} + return new {{__bean.full_name}}(_buf); + {{~end~}} + } + + {{~ for field in export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public readonly {{declaring_type_name field.ctype}} {{format_property_name __code_style field.name}}; + {{~if can_generate_ref field~}} + public {{declaring_type_name (get_ref_type field)}} {{get_ref_name field}}; + {{~else if can_generate_collection_ref field~}} + public {{declaring_collection_ref_name field.ctype}} {{get_ref_name field}}; + {{~end~}} + {{~if has_index field + indexMapType = get_index_map_type field + ~}} + public readonly {{declaring_type_name indexMapType}} {{get_index_var_name field}} = new {{declaring_type_name indexMapType}}(); + {{~end~}} + {{~end~}} + +{{~if !__bean.is_abstract_type && !__bean.is_value_type~}} + public const int __ID__ = {{__bean.id}}; + public override int GetTypeId() => __ID__; +{{~end~}} + + public {{method_modifier __bean}} void ResolveRef({{__manager_name}} tables) + { + {{~if parent_def_type~}} + base.ResolveRef(tables); + {{~end~}} + {{~for field in export_fields~}} + {{~ line = generate_resolve_field_ref field ~}} + {{~ if line != ''~}} + {{line}} + {{~end~}} + {{~end~}} + } + + public override string ToString() + { + return "{{full_name}}{ " + {{~for field in hierarchy_export_fields ~}} + + "{{format_field_name __code_style field.name}}:" + {{to_pretty_string (format_property_name __code_style field.name) field.ctype}} + "," + {{~end~}} + + "}"; + } +} +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-simple-json/table.sbn b/Luban/Templates/cs-simple-json/table.sbn new file mode 100644 index 0000000..612341c --- /dev/null +++ b/Luban/Templates/cs-simple-json/table.sbn @@ -0,0 +1,172 @@ +using Luban; +using SimpleJSON; + +{{ + key_type = __table.key_ttype + value_type = __table.value_ttype + + func index_type_name + ret (declaring_type_name $0.type) + end + + func table_union_map_type_name + ret 'System.Collections.Generic.Dictionary<(' + (array.each __table.index_list @index_type_name | array.join ', ') + '), ' + (declaring_type_name __value_type) + '>' + end + + func table_key_list + varName = $0 + indexList = __table.index_list |array.each do; ret varName + '.' + (format_property_name __code_style $0.index_field.name); end; + ret array.join indexList ', ' + end + + func table_param_def_list + paramList = __table.index_list |array.each do; ret (declaring_type_name $0.type) + ' ' + $0.index_field.name; end + ret array.join paramList ', ' + end + + func table_param_name_list + paramList = __table.index_list |array.each do; ret $0.index_field.name; end + ret array.join paramList ', ' + end +}} +{{namespace_with_grace_begin __namespace_with_top_module}} +{{~if __table.comment != '' ~}} +/// +/// {{escape_comment __table.comment}} +/// +{{~end~}} +public partial class {{__name}} +{ + {{~if __table.is_map_table ~}} + private readonly System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> _dataMap; + private readonly System.Collections.Generic.List<{{declaring_type_name __value_type}}> _dataList; + + public {{__name}}(JSONNode _buf) + { + int count = _buf.Count; + _dataMap = new System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}>(count); + _dataList = new System.Collections.Generic.List<{{declaring_type_name __value_type}}>(count); + + foreach(JSONNode _ele in _buf.Children) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_v' '_ele' __value_type}} + _dataList.Add(_v); + _dataMap.Add(_v.{{format_property_name __code_style __table.index_field.name}}, _v); + } + } + + public System.Collections.Generic.Dictionary<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> DataMap => _dataMap; + public System.Collections.Generic.List<{{declaring_type_name __value_type}}> DataList => _dataList; + +{{~if __value_type.is_dynamic~}} + public T GetOrDefaultAs({{declaring_type_name __key_type}} key) where T : {{declaring_type_name __value_type}} => _dataMap.TryGetValue(key, out var v) ? (T)v : default; + public T GetAs({{declaring_type_name __key_type}} key) where T : {{declaring_type_name __value_type}} => (T)_dataMap[key]; +{{~end~}} + public {{declaring_type_name __value_type}} GetOrDefault({{declaring_type_name __key_type}} key) => _dataMap.TryGetValue(key, out var v) ? v : default; + public {{declaring_type_name __value_type}} Get({{declaring_type_name __key_type}} key) => _dataMap[key]; + public {{declaring_type_name __value_type}} this[{{declaring_type_name __key_type}} key] => _dataMap[key]; + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + {{~end~}} + } + + {{~else if __table.is_list_table ~}} + private readonly System.Collections.Generic.List<{{declaring_type_name __value_type}}> _dataList; + + {{~if __table.is_union_index~}} + private {{table_union_map_type_name}} _dataMapUnion; + {{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + private System.Collections.Generic.Dictionary<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}> _dataMap_{{idx.index_field.name}}; + {{~end~}} + {{~end~}} + + public {{__name}}(JSONNode _buf) + { + int count = _buf.Count; + _dataList = new System.Collections.Generic.List<{{declaring_type_name __value_type}}>(count); + + foreach(JSONNode _ele in _buf.Children) + { + {{declaring_type_name __value_type}} _v; + {{deserialize '_v' '_ele' __value_type}} + _dataList.Add(_v); + } + {{~if __table.is_union_index~}} + _dataMapUnion = new {{table_union_map_type_name}}(); + foreach(var _v in _dataList) + { + _dataMapUnion.Add(({{table_key_list "_v"}}), _v); + } + {{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}} = new System.Collections.Generic.Dictionary<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}>(count); + {{~end~}} + foreach(var _v in _dataList) + { + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}}.Add(_v.{{format_property_name __code_style idx.index_field.name}}, _v); + {{~end~}} + } + {{~end~}} + } + + public System.Collections.Generic.List<{{declaring_type_name __value_type}}> DataList => _dataList; + + {{~if __table.is_union_index~}} + public {{declaring_type_name __value_type}} Get({{table_param_def_list}}) => _dataMapUnion.TryGetValue(({{table_param_name_list}}), out {{declaring_type_name __value_type}} __v) ? __v : default; + {{~else if !__table.index_list.empty? ~}} + {{~for idx in __table.index_list~}} + public {{declaring_type_name __value_type}} GetBy{{format_property_name __code_style idx.index_field.name}}({{declaring_type_name idx.type}} key) => _dataMap_{{idx.index_field.name}}.TryGetValue(key, out {{declaring_type_name __value_type}} __v) ? __v : default; + {{~end~}} + {{~end~}} + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + {{~end~}} + } + {{~else~}} + + private readonly {{declaring_type_name __value_type}} _data; + + public {{declaring_type_name __value_type}} Data => _data; + + public {{__name}}(JSONNode _buf) + { + int n = _buf.Count; + if (n != 1) throw new SerializationException("table mode=one, but size != 1"); + {{deserialize '_data' '_buf[0]' __value_type}} + } + + + {{~ for field in __value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + public {{declaring_type_name field.ctype}} {{format_property_name __code_style field.name}} => _data.{{format_property_name __code_style field.name}}; + {{~end~}} + + public void ResolveRef({{__manager_name}} tables) + { + {{~if is_bean_need_resolve_ref value_type ~}} + _data.ResolveRef(tables); + {{~end~}} + } + {{~end~}} +} + +{{namespace_with_grace_end __namespace_with_top_module}} diff --git a/Luban/Templates/cs-simple-json/tables.sbn b/Luban/Templates/cs-simple-json/tables.sbn new file mode 100644 index 0000000..66770e9 --- /dev/null +++ b/Luban/Templates/cs-simple-json/tables.sbn @@ -0,0 +1,32 @@ +using Luban; +using SimpleJSON; + +{{namespace_with_grace_begin __namespace}} +public partial class {{__name}} +{ + {{~for table in __tables ~}} +{{~if table.comment != '' ~}} + /// + /// {{escape_comment table.comment}} + /// +{{~end~}} + public {{table.full_name}} {{format_property_name __code_style table.name}} {get; } + {{~end~}} + + public {{__name}}(System.Func loader) + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}} = new {{table.full_name}}(loader("{{table.output_data_file}}")); + {{~end~}} + ResolveRef(); + } + + private void ResolveRef() + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}}.ResolveRef(this); + {{~end~}} + } +} + +{{namespace_with_grace_end __namespace}} \ No newline at end of file diff --git a/Luban/Templates/cs_pb/tables.sbn b/Luban/Templates/cs_pb/tables.sbn new file mode 100644 index 0000000..837061f --- /dev/null +++ b/Luban/Templates/cs_pb/tables.sbn @@ -0,0 +1,32 @@ +using Google.Protobuf; +using Google.Protobuf.Collections; +using System.Reflection; + +{{namespace_with_grace_begin __namespace}} +public partial class {{__name}} +{ + {{~for table in __tables ~}} +{{~if table.comment != '' ~}} + /// + /// {{escape_comment table.comment}} + /// +{{~end~}} + public {{proto_full_name table.full_name}} {{format_property_name __code_style table.name}} { get; } + + {{~end~}} + + public {{__name}}(System.Func loader) + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}} = {{proto_full_name table.full_name}}.Parser.ParseFrom(loader("{{table.output_data_file}}")); + {{~end~}} + } + public {{__name}}(System.Func loader) + { + {{~for table in __tables ~}} + {{format_property_name __code_style table.name}} = {{proto_full_name table.full_name}}.Parser.ParseJson(loader("{{table.output_data_file}}")); + {{~end~}} + } +} + +{{namespace_with_grace_end __namespace}} diff --git a/Luban/Templates/dart-json/bean.sbn b/Luban/Templates/dart-json/bean.sbn new file mode 100644 index 0000000..c26884f --- /dev/null +++ b/Luban/Templates/dart-json/bean.sbn @@ -0,0 +1,143 @@ +import 'dart:ffi'; +import 'dart:collection'; +import '/gen/Tables.dart'; + +{{~ + parent_def_type = __this.parent_def_type + export_fields = __this.export_fields + hierarchy_export_fields = __this.hierarchy_export_fields +~}} +{{for field in hierarchy_export_fields}}{{import_ref_type_dart field '/gen/'}}{{end}} +{{if parent_def_type}}{{declaring_import_bean parent_def_type '/gen/'}}{{end}} +{{~if __bean.is_abstract_type~}} +{{~for child in __this.hierarchy_not_abstract_children~}} +{{declaring_import_bean child '/gen/'}} +{{~end~}} +{{~end~}} +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_Ref' +end + +func generate_resolve_field_ref + field = $0 + fieldName = format_name_lower_camel field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = format_name_lower_camel refTable.name + if field.is_nullable + ret (get_ref_name field) + ' = ' + fieldName + '!= null ? tables.' + tableName + '?.getOrDefault(' + (get_value_of_nullable_type field.ctype fieldName) + ') : null;' + else + ret (get_ref_name field) + ' = tables.' + tableName + '?.getOrDefault(' + fieldName + ');' + end + else if can_generate_collection_ref field + collection_ref_table = get_collection_ref_table field + tableName = format_name_lower_camel collection_ref_table.name + if field.ctype.type_name == 'list' || field.ctype.type_name == 'array' + line1 = (get_ref_name field) + ' = ' + (declaring_collection_ref_name field.ctype) + '.empty(growable: true);' + '\n' + line2 = 'for (var _v in ' + fieldName + ') { var ref=(tables.'+tableName + '?.getOrDefault(_v))!;'+ (get_ref_name field) + '?.add(ref); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'set' + line1 = (get_ref_name field) + ' = ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'for (var _v in ' + fieldName + ') { var ref= (tables.'+tableName + '?.getOrDefault(_v))!;'+ (get_ref_name field) + '?.add(ref); }' + '\n' + ret line1 + line2 + else if field.ctype.type_name == 'map' + line1 = (get_ref_name field) + ' = ' + (declaring_collection_ref_name field.ctype) + '();' + '\n' + line2 = 'for (var kvp in ' + fieldName + '.entries) { var ref= (tables.' + tableName + '?.getOrDefault(kvp.value))!;' + (get_ref_name field) + '?[kvp.key]= ref; }' + '\n' + ret line1 + line2 + else + ret '' + end + else + if (is_field_bean_need_resolve_ref field) + ret fieldName + '?.resolveRef(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'for (var _e in ' + fieldName + ') { _e?.resolveRef(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'for (var _e in ' + fieldName + '.values) { _e?.resolveRef(tables); }' + else + ret '' + end + end +end + +~}} +{{~if __bean.comment != '' ~}} +//{{escape_comment __bean.comment}} +{{~end~}} +{{class_modifier __this}} class {{__name}} {{if parent_def_type}}extends {{ __this.parent_def_type.name}}{{end}} +{ + {{__name}}( +{{~if need_gen_constructor hierarchy_export_fields~}} + { +{{~ for field in hierarchy_export_fields ~}} + {{~if is_super_field field parent_def_type~}} + required super.{{format_name_lower_camel field.name}}, + {{~else~}} + required this.{{format_name_lower_camel field.name}}, + {{~end~}} +{{~end~}} + } + {{~end~}} + ); + + factory {{__name}}.deserialize(dynamic _buf){ + {{~if __bean.is_abstract_type~}} + switch (_buf['\$type']) + { + {{~for child in __this.hierarchy_not_abstract_children~}} + case "{{impl_data_type child __this}}": return {{child.name}}.deserialize(_buf); + {{~end~}} + default: throw Exception('unknown type:$_buf[\$type]'); + } + {{~else~}} +{{~ for field in hierarchy_export_fields + fieldName = format_name_lower_camel field.name +~}} + final {{fieldName}}; + {{deserialize_field fieldName '_buf' field.name field.ctype}} +{{~end~}} + return {{__name}}( +{{~ for field in hierarchy_export_fields + fieldName = format_name_lower_camel field.name +~}} + {{fieldName}}:{{fieldName}}, +{{~end~}} + ); + {{~end~}} + } + + {{~ for field in export_fields ~}} +{{~if field.comment != '' ~}} + //{{escape_comment field.comment}} +{{~end~}} + final {{declaring_type_name field.ctype}} {{format_name_lower_camel field.name}}; +{{~if can_generate_ref field~}} + {{declaring_type_name (get_ref_type field)}}? {{get_ref_name field}}; +{{~else if can_generate_collection_ref field~}} + {{declaring_collection_ref_name field.ctype}}? {{get_ref_name field}}; +{{~end~}} + {{~end~}} +{{~if !__bean.is_abstract_type && !__bean.is_value_type~}} + static final int __ID__ = {{__this.id}}; +{{~end~}} + {{method_modifier __bean}} + void resolveRef({{__manager_name}} tables) + { + {{~if parent_def_type~}} + super.resolveRef(tables); + {{~end~}} + + {{~for field in export_fields~}} + {{~ line = generate_resolve_field_ref field ~}} + {{~ if line != ''~}} + {{line}} + {{~end~}} + {{~end~}} + } + + @override + String toString() { + return '{{__name}}({{for field in hierarchy_export_fields}}{{format_name_lower_camel field.name}}:${{format_name_lower_camel field.name}}, {{end}})'; + } +} diff --git a/Luban/Templates/dart-json/table.sbn b/Luban/Templates/dart-json/table.sbn new file mode 100644 index 0000000..57b66c7 --- /dev/null +++ b/Luban/Templates/dart-json/table.sbn @@ -0,0 +1,145 @@ +import 'dart:collection'; +{{declaring_import_name __value_type '/gen/'}} +{{~if __table.is_singleton_table ~}} +{{for field in __value_type.def_bean.hierarchy_export_fields}}{{import_ref_type_dart field '/gen/'}}{{end}} +{{~end~}} +import '/gen/Tables.dart'; +{{ + func index_type_name + ret (declaring_type_name $0.type) + end + + func table_union_map_type_name + ret 'Map<(' + (array.each __table.index_list @index_type_name | array.join ', ') + '), ' + (declaring_type_name __value_type) + '>' + end + + func table_key_list + varName = $0 + indexList = __table.index_list |array.each do; ret varName + '.' + (format_property_name __code_style $0.index_field.name); end; + ret array.join indexList ', ' + end + + func table_param_def_list + paramList = __table.index_list |array.each do; ret (declaring_type_name $0.type) + ' ' + $0.index_field.name; end + ret array.join paramList ', ' + end + + func table_param_name_list + paramList = __table.index_list |array.each do; ret $0.index_field.name; end + ret array.join paramList ', ' + end +}} + +{{~if __this.comment != '' ~}} +//{{escape_comment __this.comment}} +{{~end~}} +final class {{__name}} { + + {{~if __table.is_map_table ~}} + final List<{{declaring_type_name __value_type}}> _dataList = []; + final Map<{{declaring_type_name __key_type}}, {{declaring_type_name __value_type}}> _dataMap = {}; + + {{__name}}(List _array) { + + for (var _buf in _array) { + + {{declaring_type_name __value_type}} _item = {{declaring_type_name __value_type}}.deserialize(_buf); + + _dataList.add(_item); + _dataMap[_item.{{format_field_name __code_style __this.index_field.name}}] = _item; + } + } + + {{declaring_type_name __value_type}}? getOrDefault({{declaring_type_name __key_type}} id) { + if (_dataMap.containsKey(id)) { + return _dataMap[id]; + } + return null; + } + + void resolveRef({{__manager_name}} tables) + { + for(var _v in _dataList) + { + _v.resolveRef(tables); + } + } + + {{~else if __table.is_list_table ~}} + final List<{{declaring_type_name __value_type}}> _dataList = []; + +{{~if __table.is_union_index~}} + final {{table_union_map_type_name}} _dataMapUnion = {}; +{{~else if !__table.index_list.empty?~}} + {{~for idx in __table.index_list~}} + final Map<{{declaring_type_name idx.type}}, {{declaring_type_name __value_type}}> _dataMap_{{idx.index_field.name}}={}; + {{~end~}} +{{~end~}} + + {{__name}}(List _array) { + for (var _buf in _array) { + {{declaring_type_name __value_type}} _item = {{declaring_type_name __value_type}}.deserialize(_buf); + _dataList.add(_item); + } + + {{~if __table.is_union_index~}} + for(var _v in _dataList) + { + _dataMapUnion[({{table_key_list "_v"}})]= _v; + } + {{~else if !__table.index_list.empty?~}} + for(var _v in _dataList) + { + {{~for idx in __table.index_list~}} + _dataMap_{{idx.index_field.name}}[_v.{{format_property_name __code_style idx.index_field.name}}]= _v; + {{~end~}} + } + {{~end~}} + } + + List<{{declaring_type_name __value_type}}> get dataList => _dataList; + + {{~if __table.is_union_index~}} + {{declaring_type_name __value_type}}? get({{table_param_def_list}}) => _dataMapUnion[({{table_param_name_list}})]; + {{~else if !__table.index_list.empty? ~}} + {{~for idx in __table.index_list~}} + {{declaring_type_name __value_type}}? getBy{{format_property_name __code_style idx.index_field.name}}({{declaring_type_name idx.type}} key) => _dataMap_{{idx.index_field.name}}[key]; + {{~end~}} + {{~end~}} + + void resolveRef({{__manager_name}} tables) + { + + } + {{~else~}} + + {{declaring_type_name __value_type}}? _data; + + {{declaring_type_name __value_type}}? get data => _data; + + {{__name}}(List _array) { + + var n = _array.length; + if (n != 1) + { + throw Exception("table mode=one, but size != 1"); + } + for (var _buf in _array) { + _data = {{declaring_type_name __value_type}}.deserialize(_buf); + } + } + +{{~ for field in __value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /// + /// {{escape_comment field.comment}} + /// +{{~end~}} + {{declaring_null_type_name field.ctype}} get {{format_property_name __code_style field.name}} => _data?.{{format_name_lower_camel field.name}}; + {{~end~}} + void resolveRef({{__manager_name}} tables) + { + + } + {{~end~}} +} diff --git a/Luban/Templates/dart-json/tables.sbn b/Luban/Templates/dart-json/tables.sbn new file mode 100644 index 0000000..760be58 --- /dev/null +++ b/Luban/Templates/dart-json/tables.sbn @@ -0,0 +1,43 @@ +{{~ +func get_table_inner_name + ret '_' + ($0 | string.downcase) +end +~}} +{{~for table in __tables ~}} +{{declaring_import_table table '/gen/'}} +{{~end~}} +final class {{__name}} +{ + final Future Function(String filePath) _asyncloadFunction; + Tables(this._asyncloadFunction); + + {{~for table in __tables ~}} +{{~if table.comment != '' ~}} + //{{escape_comment table.comment}} +{{~end~}} + {{table.name}}? _{{format_property_name __code_style table.name}}; + {{~end~}} + + Future waitLoad() async { + var results = await Future.wait([ + {{~for table in __tables ~}} + _asyncloadFunction("{{table.output_data_file}}"), + {{~end~}} + ]); + {{ idx=0 }} + {{~for table in __tables ~}} + _{{format_property_name __code_style table.name}} = {{table.name}}(results[{{idx}}]);{{idx=idx+1}} + {{~end~}} + resolveRef(); + } +{{~for table in __tables ~}} + {{table.name}}? get {{format_name_lower_camel table.name}} => _{{format_property_name __code_style table.name}}; +{{~end~}} + + void resolveRef(){ + {{~for table in __tables ~}} + _{{format_property_name __code_style table.name}}?.resolveRef(this); + {{~end~}} + } + +} diff --git a/Luban/Templates/flatbuffers/schema.sbn b/Luban/Templates/flatbuffers/schema.sbn new file mode 100644 index 0000000..ca8099c --- /dev/null +++ b/Luban/Templates/flatbuffers/schema.sbn @@ -0,0 +1,51 @@ +namespace {{__namespace}}; + +{{~for enum in __enums + typeName = full_name enum + ~}} +enum {{typeName}}:int { + {{~if !enum.has_zero_value_item~}} + __GENERATE_DEFAULT_VALUE = 0, + {{~end~}} + {{~for item in enum.items ~}} + {{typeName}}_{{item.name}} = {{item.int_value}}, + {{~end~}} +} +{{~end~}} + +{{~for bean in __beans~}} +{{~if bean.is_abstract_type ~}} +union {{full_name bean}} { + {{~for c in bean.hierarchy_not_abstract_children~}} + {{full_name c}}, + {{~end~}} +} +{{~end~}} +{{~end~}} + +{{~for bean in __beans~}} +{{~if !bean.is_abstract_type ~}} +table {{full_name bean}} { + {{~for f in bean.hierarchy_export_fields ~}} + {{f.name}}:{{declaring_type_name f.ctype}}{{type_metadata f.ctype}}; + {{~end~}} +} +{{~end~}} +{{~end~}} + +{{~for map in __maps~}} +table KeyValue_{{declaring_type_name map.key_type}}_{{declaring_type_name map.value_type}} { + key: {{declaring_type_name map.key_type}}{{type_metadata map.key_type}}; + value: {{declaring_type_name map.value_type}}{{type_metadata map.value_type}}; +} +{{~end~}} + +{{~for table in __tables~}} +table {{full_name table}} { + // WARN! The name 'data_list' is used by FlatBuffersJsonExporter. don't modify it! + data_list:[{{declaring_type_name table.value_ttype}}](required); +} + +root_type {{full_name table}}; +{{~end~}} + diff --git a/Luban/Templates/gdscript-json/schema.sbn b/Luban/Templates/gdscript-json/schema.sbn new file mode 100644 index 0000000..dca9533 --- /dev/null +++ b/Luban/Templates/gdscript-json/schema.sbn @@ -0,0 +1,167 @@ +@tool +class_name Schema +extends RefCounted + + +{{~for enum in __enums~}} +{{~if enum.comment != '' ~}} +## {{enum.comment | html.escape}} +{{~end~}} +enum {{full_name enum}} +{ + {{~ for item in enum.items ~}} + {{~if item.comment_or_alias != '' ~}} + ## {{item.comment_or_alias | html.escape}} + {{~end~}} + {{item.name}} = {{item.value}}, + {{~end~}} +} + + +{{~end~}} +{{~for bean in __beans + name = (full_name bean) +~}} +{{~if bean.comment != '' ~}} +## {{bean.comment | html.escape}} +{{~end~}} +class {{name}}{{if bean.parent_def_type}} extends {{full_name bean.parent_def_type}}{{end}}: +{{~ for field in bean.export_fields ~}} + {{~if field.comment != '' ~}} + ## {{field.comment | html.escape}} + {{~end~}} + var {{format_field_name __code_style field.name}}: {{declaring_type_name field.ctype}} +{{~end~}} + +{{~if bean.is_abstract_type~}} + static func fromJson(_json_): + var type = _json_['$type'] + match type: + {{~ for child in bean.hierarchy_not_abstract_children~}} + "{{impl_data_type child bean}}": return {{full_name child}}.new(_json_) + {{~end~}} + _: assert(false) + +{{~end~}} + func _init(_json_) -> void: +{{~if bean.parent_def_type~}} + super(_json_) +{{~end~}} + {{~ for field in bean.export_fields ~}} + {{deserialize_field ('self.' + (format_field_name __code_style field.name)) '_json_' field.name field.ctype}} + {{~end~}} + {{~if bean.export_fields.empty?~}} + pass + {{~end~}} + + +{{~end~}} +{{~for table in __tables + value_type = table.value_ttype + value_type_name = (declaring_type_name value_type) +~}} +{{~if table.comment != '' ~}} +## {{table.comment | html.escape}} +{{~end~}} +class {{full_name table}}: + {{~if table.is_map_table ~}} + var _data_list: Array[{{value_type_name}}] + var _data_map: Dictionary + + func _init(_json_) -> void: + for _json2_ in _json_: + var _v: {{value_type_name}} + {{deserialize '_v' '_json2_' value_type}} + self._data_list.append(_v) + self._data_map[_v.{{format_field_name __code_style table.index_field.name}}] = _v + + func get_data_list() -> Array[{{value_type_name}}]: + return self._data_list + + func get_data_map() -> Dictionary: + return self._data_map + + func get_item(key) -> {{value_type_name}}: + return self._data_map.get(key) + + {{~else if table.multi_key ~}} + var _data_list: Array[{{value_type_name}}] + {{~ for INDEX in table.index_list ~}} + var _{{INDEX.index_field.name}}_data_map: Dictionary + {{~ end ~}} + + func _init(_json_) -> void: + {{~ for INDEX in table.index_list ~}} + self._{{INDEX.index_field.name}}_data_map = {} + {{~ end ~}} + + for _json2_ in _json_: + var _v: {{value_type_name}} + {{deserialize '_v' '_json2_' value_type}} + self._data_list.append(_v) + {{~ for INDEX in table.index_list ~}} + self._{{INDEX.index_field.name}}_data_map[_v.{{INDEX.index_field.name}}] = _v + {{~ end ~}} + + func get_data_list() -> Array[{{value_type_name}}]: + return self._data_list + + {{~ for INDEX in table.index_list ~}} + func get_{{INDEX.index_field.name}}_data_map() -> Dictionary: + return self._{{INDEX.index_field.name}}_data_map + {{~ end ~}} + +{{~ for INDEX in table.index_list ~}} + func get_item_by_{{INDEX.index_field.name}}({{INDEX.index_field.name}}) -> {{value_type_name}}: + return self._{{INDEX.index_field.name}}_data_map.get({{INDEX.index_field.name}}) + +{{~ end ~}} + {{~else if table.is_list_table ~}} + var _data_list: Array[{{value_type_name}}] + + func _init(_json_) -> void: + for _json2_ in _json_: + var _v: {{value_type_name}} + {{deserialize '_v' '_json2_' value_type}} + self._data_list.append(_v) + + func get_data_list() -> Array[{{value_type_name}}]: + return self._data_list + + func get_item(index) -> {{value_type_name}}: + return self._data_list[index] + {{~else~}} + var _data:{{value_type_name}} + + func _init(_json_) -> void: + assert(len(_json_) == 1, "table mode = one, but size != 1") + {{deserialize 'self._data' '_json_[0]' value_type}} + + func get_data() -> {{value_type_name}}: + return self._data + + {{~ for field in value_type.def_bean.hierarchy_export_fields + name = format_field_name __code_style field.name + ~}} +{{~if field.comment != '' ~}} + ## {{escape_comment field.comment}} +{{~end~}} + var {{name}}: {{declaring_type_name field.ctype}}: + get: return self._data.{{name}} + + {{~end~}} + {{~end~}} + +{{~end~}} +class {{str_full_name __full_name}}: + {{~for table in __tables ~}} + {{~if table.comment != ''~}} + ## {{table.comment | html.escape}} + {{~end~}} + var {{format_method_name __code_style table.name}}: {{full_name table}} + {{~end~}} + + func _init(loader: Callable) -> void: + {{~for table in __tables ~}} + self.{{format_method_name __code_style table.name}} = {{full_name table}}.new(loader.call('{{table.output_data_file}}')) + {{~end~}} \ No newline at end of file diff --git a/Luban/Templates/go-bin/bean.sbn b/Luban/Templates/go-bin/bean.sbn new file mode 100644 index 0000000..0ff01a0 --- /dev/null +++ b/Luban/Templates/go-bin/bean.sbn @@ -0,0 +1,54 @@ +{{~if ___top_module != ''~}} +package {{__top_module}}; +{{~end~}} + +{{~ + go_full_name = full_name __this + parent_def_type = __this.parent_def_type + is_abstract_type = __this.is_abstract_type + hierarchy_fields = __this.hierarchy_export_fields + hierarchy_not_abstract_children = __this.hierarchy_not_abstract_children +~}} + +import ( + "{{__luban_module_name}}" +) + +{{collect_import __this}} + +type {{go_full_name}} struct { + {{~for field in hierarchy_fields ~}} + {{format_field_name __code_style field.name}} {{declaring_type_name field.ctype}} + {{~end~}} +} + +const TypeId_{{go_full_name}} = {{__this.id}} + +func (*{{go_full_name}}) GetTypeId() int32 { + return {{__this.id}} +} + +{{~if is_abstract_type~}} +func New{{go_full_name}}(_buf *luban.ByteBuf) (interface{}, error) { + var id int32 + var err error + if id, err = _buf.ReadInt() ; err != nil { + return nil, err + } + switch id { + {{~for child in hierarchy_not_abstract_children~}} + case {{child.id}}: _v, err := New{{full_name child}}(_buf); if err != nil { return nil, errors.New("{{child.full_name|string.downcase}}") } else { return _v, nil } + {{~end~}} + default: return nil, errors.New("unknown type id") + } +} + +{{~else~}} +func New{{go_full_name}}(_buf *luban.ByteBuf) (_v *{{go_full_name}}, err error) { + _v = &{{go_full_name}}{} + {{~for field in hierarchy_fields ~}} + {{deserialize_field field.ctype ("_v." + (format_field_name __code_style field.name)) '_buf' 'err'}} + {{~end~}} + return +} +{{~end~}} diff --git a/Luban/Templates/go-bin/table.sbn b/Luban/Templates/go-bin/table.sbn new file mode 100644 index 0000000..e511405 --- /dev/null +++ b/Luban/Templates/go-bin/table.sbn @@ -0,0 +1,116 @@ +{{~if ___top_module != ''~}} +package {{__top_module}}; +{{~end~}} + +{{~ + go_full_name = full_name __this + key_type = __this.key_ttype + value_type = __this.value_ttype + index_field = __this.index_field +~}} + +import "{{__luban_module_name}}" + +{{~if __this.is_map_table~}} +type {{go_full_name}} struct { + _dataMap map[{{declaring_type_name key_type}}]{{declaring_type_name value_type}} + _dataList []{{declaring_type_name value_type}} +} + +func New{{go_full_name}}(_buf *luban.ByteBuf) (*{{go_full_name}}, error) { + if size, err := _buf.ReadSize() ; err != nil { + return nil, err + } else { + _dataList := make([]{{declaring_type_name value_type}}, 0, size) + dataMap := make(map[{{declaring_type_name key_type}}]{{declaring_type_name value_type}}) + + for i := 0 ; i < size ; i++ { + if _v, err2 := New{{full_name value_type.def_bean}}(_buf); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) +{{~if value_type.is_dynamic ~}} + {{~for child in value_type.def_bean.hierarchy_not_abstract_children~}} + if __v, __is := _v.(*{{full_name child}}) ; __is { + dataMap[__v.{{format_field_name __code_style index_field.name}}] = _v + continue + } + {{~end~}} +{{~else~}} + dataMap[_v.{{format_field_name __code_style index_field.name}}] = _v +{{~end~}} + } + } + return &{{go_full_name}}{_dataList:_dataList, _dataMap:dataMap}, nil + } +} + +func (table *{{go_full_name}}) GetDataMap() map[{{declaring_type_name key_type}}]{{declaring_type_name value_type}} { + return table._dataMap +} + +func (table *{{go_full_name}}) GetDataList() []{{declaring_type_name value_type}} { + return table._dataList +} + +func (table *{{go_full_name}}) Get(key {{declaring_type_name key_type}}) {{declaring_type_name value_type}} { + return table._dataMap[key] +} + +{{~else if __this.is_list_table~}} +type {{go_full_name}} struct { + _dataList []{{declaring_type_name value_type}} +} + +func New{{go_full_name}}(_buf *luban.ByteBuf) (*{{go_full_name}}, error) { + if size, err := _buf.ReadSize() ; err != nil { + return nil, err + } else { + _dataList := make([]{{declaring_type_name value_type}}, 0, size) + + for i := 0 ; i < size ; i++ { + if _v, err2 := New{{full_name value_type.def_bean}}(_buf); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + } + } + return &{{go_full_name}}{_dataList:_dataList}, nil + } +} + +func (table *{{go_full_name}}) GetDataList() []{{declaring_type_name value_type}} { + return table._dataList +} + +func (table *{{go_full_name}}) Get(index int) {{declaring_type_name value_type}} { + return table._dataList[index] +} + +{{~else~}} + +import "errors" + +type {{go_full_name}} struct { + _data {{declaring_type_name value_type}} +} + +func New{{go_full_name}}(_buf *luban.ByteBuf) (*{{go_full_name}}, error) { + if size, err := _buf.ReadSize() ; err != nil { + return nil, err + } else if size != 1 { + return nil, errors.New(" size != 1 ") + } else { + if _v, err2 := New{{full_name value_type.def_bean}}(_buf); err2 != nil { + return nil, err2 + } else { + return &{{go_full_name}}{_data:_v}, nil + } + } +} + +func (table *{{go_full_name}}) Get() {{declaring_type_name value_type}} { + return table._data +} + +{{~end~}} diff --git a/Luban/Templates/go-bin/tables.sbn b/Luban/Templates/go-bin/tables.sbn new file mode 100644 index 0000000..4b0e7d1 --- /dev/null +++ b/Luban/Templates/go-bin/tables.sbn @@ -0,0 +1,33 @@ +{{~if __namespace != ''~}} +package {{__namespace}}; +{{~end~}} + +import ( + "{{__luban_module_name}}" + "errors" +) + +type ByteBufLoader func(string) (*luban.ByteBuf, error) + +type {{__name}} struct { + {{~for table in __tables ~}} + {{table.name}} *{{full_name table}} + {{~end~}} +} + +func NewTables(loader ByteBufLoader) (*{{__name}}, error) { + var err error + var buf *luban.ByteBuf + + tables := &{{__name}}{} + {{~for table in __tables ~}} + if buf, err = loader("{{table.output_data_file}}") ; err != nil { + return nil, err + } + if tables.{{table.name}}, err = New{{full_name table}}(buf) ; err != nil { + return nil, errors.Join(errors.New("failed to load {{table.name}}"), err) + } + {{~end~}} + return tables, nil +} + diff --git a/Luban/Templates/go-json/bean.sbn b/Luban/Templates/go-json/bean.sbn new file mode 100644 index 0000000..1da3b0e --- /dev/null +++ b/Luban/Templates/go-json/bean.sbn @@ -0,0 +1,50 @@ +{{~if ___top_module != ''~}} +package {{__top_module}}; +{{~end~}} + +{{~ + go_full_name = full_name __this + parent_def_type = __this.parent_def_type + is_abstract_type = __this.is_abstract_type + hierarchy_fields = __this.hierarchy_export_fields + hierarchy_not_abstract_children = __this.hierarchy_not_abstract_children +~}} + +{{collect_import __this}} + +type {{go_full_name}} struct { + {{~for field in hierarchy_fields ~}} + {{format_field_name __code_style field.name}} {{declaring_type_name field.ctype}} + {{~end~}} +} + +const TypeId_{{go_full_name}} = {{__this.id}} + +func (*{{go_full_name}}) GetTypeId() int32 { + return {{__this.id}} +} + +{{~if is_abstract_type~}} +func New{{go_full_name}}(_buf map[string]interface{}) (interface{}, error) { + var id string + var _ok_ bool + if id, _ok_ = _buf["$type"].(string) ; !_ok_ { + return nil, errors.New("type id missing") + } + switch id { + {{~for child in hierarchy_not_abstract_children~}} + case "{{impl_data_type child __this}}": _v, err := New{{full_name child}}(_buf); if err != nil { return nil, errors.New("{{full_name child|string.downcase}}") } else { return _v, nil } + {{~end~}} + default: return nil, errors.New("unknown type id") + } +} + +{{~else~}} +func New{{go_full_name}}(_buf map[string]interface{}) (_v *{{go_full_name}}, err error) { + _v = &{{go_full_name}}{} + {{~for field in hierarchy_fields ~}} + {{deserialize_field field.ctype ("_v." + (format_field_name __code_style field.name)) field.name '_buf'}} + {{~end~}} + return +} +{{~end~}} diff --git a/Luban/Templates/go-json/table.sbn b/Luban/Templates/go-json/table.sbn new file mode 100644 index 0000000..3fd5f9e --- /dev/null +++ b/Luban/Templates/go-json/table.sbn @@ -0,0 +1,103 @@ +{{~if ___top_module != ''~}} +package {{__top_module}}; +{{~end~}} + +{{~ + go_full_name = full_name __this + key_type = __this.key_ttype + value_type = __this.value_ttype + index_field = __this.index_field +~}} + +{{~if __this.is_map_table~}} +type {{go_full_name}} struct { + _dataMap map[{{declaring_type_name key_type}}]{{declaring_type_name value_type}} + _dataList []{{declaring_type_name value_type}} +} + +func New{{go_full_name}}(_buf []map[string]interface{}) (*{{go_full_name}}, error) { + _dataList := make([]{{declaring_type_name value_type}}, 0, len(_buf)) + dataMap := make(map[{{declaring_type_name key_type}}]{{declaring_type_name value_type}}) + + for _, _ele_ := range _buf { + if _v, err2 := New{{full_name value_type.def_bean}}(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) +{{~if value_type.is_dynamic ~}} + {{~for child in value_type.def_bean.hierarchy_not_abstract_children~}} + if __v, __is := _v.(*{{full_name child}}) ; __is { + dataMap[__v.{{format_field_name __code_style index_field.name}}] = _v + continue + } + {{~end~}} +{{~else~}} + dataMap[_v.{{format_field_name __code_style index_field.name}}] = _v +{{~end~}} + } + } + return &{{go_full_name}}{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *{{go_full_name}}) GetDataMap() map[{{declaring_type_name key_type}}]{{declaring_type_name value_type}} { + return table._dataMap +} + +func (table *{{go_full_name}}) GetDataList() []{{declaring_type_name value_type}} { + return table._dataList +} + +func (table *{{go_full_name}}) Get(key {{declaring_type_name key_type}}) {{declaring_type_name value_type}} { + return table._dataMap[key] +} + +{{~else if __this.is_list_table~}} +type {{go_full_name}} struct { + _dataList []{{declaring_type_name value_type}} +} + +func New{{go_full_name}}(_buf []map[string]interface{}) (*{{go_full_name}}, error) { + _dataList := make([]{{declaring_type_name value_type}}, 0, len(_buf)) + for _, _ele_ := range _buf { + if _v, err2 := New{{full_name value_type.def_bean}}(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + } + } + return &{{go_full_name}}{_dataList:_dataList}, nil +} + +func (table *{{go_full_name}}) GetDataList() []{{declaring_type_name value_type}} { + return table._dataList +} + +func (table *{{go_full_name}}) Get(index int) {{declaring_type_name value_type}} { + return table._dataList[index] +} + +{{~else~}} + +import "errors" + +type {{go_full_name}} struct { + _data {{declaring_type_name value_type}} +} + +func New{{go_full_name}}(_buf []map[string]interface{}) (*{{go_full_name}}, error) { + if len(_buf) != 1 { + return nil, errors.New(" size != 1 ") + } else { + if _v, err2 := New{{full_name value_type.def_bean}}(_buf[0]); err2 != nil { + return nil, err2 + } else { + return &{{go_full_name}}{_data:_v}, nil + } + } +} + +func (table *{{go_full_name}}) Get() {{declaring_type_name value_type}} { + return table._data +} + +{{~end~}} diff --git a/Luban/Templates/go-json/tables.sbn b/Luban/Templates/go-json/tables.sbn new file mode 100644 index 0000000..6f17482 --- /dev/null +++ b/Luban/Templates/go-json/tables.sbn @@ -0,0 +1,28 @@ +{{~if __namespace != ''~}} +package {{__namespace}}; +{{~end~}} + +type JsonLoader func(string) ([]map[string]interface{}, error) + +type {{__name}} struct { + {{~for table in __tables ~}} + {{table.name}} *{{full_name table}} + {{~end~}} +} + +func NewTables(loader JsonLoader) (*{{__name}}, error) { + var err error + var buf []map[string]interface{} + + tables := &{{__name}}{} + {{~for table in __tables ~}} + if buf, err = loader("{{table.output_data_file}}") ; err != nil { + return nil, err + } + if tables.{{table.name}}, err = New{{full_name table}}(buf) ; err != nil { + return nil, err + } + {{~end~}} + return tables, nil +} + diff --git a/Luban/Templates/java-bin/bean.sbn b/Luban/Templates/java-bin/bean.sbn new file mode 100644 index 0000000..39f90f0 --- /dev/null +++ b/Luban/Templates/java-bin/bean.sbn @@ -0,0 +1,65 @@ +{{~if __namespace_with_top_module != ''~}} +package {{__namespace_with_top_module}}; +{{~end~}} + +import luban.*; + +{{~ + parent_def_type = __this.parent_def_type + export_fields = __this.export_fields + hierarchy_export_fields = __this.hierarchy_export_fields +~}} + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} +public {{class_modifier __this}} class {{__name}} extends {{if parent_def_type}}{{__this.parent_def_type.full_name_with_top_module}}{{else}}AbstractBean{{end}} { + public {{__name}}(ByteBuf _buf) { + {{~if parent_def_type~}} + super(_buf); + {{~end~}} + {{~ for field in export_fields ~}} + {{deserialize '_buf' (format_field_name __code_style field.name) field.ctype}} + {{~end~}} + } + + public static {{__name}} deserialize(ByteBuf _buf) { + {{~if __this.is_abstract_type~}} + switch (_buf.readInt()) { + {{~for child in __this.hierarchy_not_abstract_children~}} + case {{child.full_name_with_top_module}}.__ID__: return new {{child.full_name_with_top_module}}(_buf); + {{~end~}} + default: throw new SerializationException(); + } + {{~else~}} + return new {{__this.full_name_with_top_module}}(_buf); + {{~end~}} + } + + {{~ for field in export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + public final {{declaring_type_name field.ctype}} {{format_field_name __code_style field.name}}; + {{~end~}} + +{{~if !__this.is_abstract_type~}} + public static final int __ID__ = {{__this.id}}; + + @Override + public int getTypeId() { return __ID__; } +{{~end~}} + + @Override + public String toString() { + return "{{full_name}}{ " + {{~for field in hierarchy_export_fields ~}} + + "{{format_field_name __code_style field.name}}:" + {{format_field_name __code_style field.name}} + "," + {{~end~}} + + "}"; + } +} diff --git a/Luban/Templates/java-bin/table.sbn b/Luban/Templates/java-bin/table.sbn new file mode 100644 index 0000000..8f3c222 --- /dev/null +++ b/Luban/Templates/java-bin/table.sbn @@ -0,0 +1,81 @@ +{{~if __namespace_with_top_module != ''~}} +package {{__namespace_with_top_module}}; +{{~end~}} + +import luban.*; + + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} +public final class {{__name}} { + {{~if __this.is_map_table + key_type = __this.key_ttype + ~}} + private final java.util.HashMap<{{declaring_box_type_name key_type}}, {{declaring_box_type_name __value_type}}> _dataMap; + private final java.util.ArrayList<{{declaring_box_type_name __value_type}}> _dataList; + + public {{__name}}(ByteBuf _buf) { + _dataMap = new java.util.HashMap<{{declaring_box_type_name key_type}}, {{declaring_box_type_name __value_type}}>(); + _dataList = new java.util.ArrayList<{{declaring_box_type_name __value_type}}>(); + + for(int n = _buf.readSize() ; n > 0 ; --n) { + {{declaring_box_type_name __value_type}} _v; + {{deserialize '_buf' '_v' __value_type}} + _dataList.add(_v); + _dataMap.put(_v.{{format_field_name __code_style __this.index_field.name}}, _v); + } + } + + public java.util.HashMap<{{declaring_box_type_name key_type}}, {{declaring_box_type_name __value_type}}> getDataMap() { return _dataMap; } + public java.util.ArrayList<{{declaring_box_type_name __value_type}}> getDataList() { return _dataList; } + +{{~if __value_type.is_dynamic~}} + @SuppressWarnings("unchecked") + public T getAs({{declaring_type_name key_type}} key) { return (T)_dataMap.get(key); } +{{~end~}} + public {{declaring_box_type_name __value_type}} get({{declaring_type_name key_type}} key) { return _dataMap.get(key); } + + {{~else if __this.is_list_table ~}} + private final java.util.ArrayList<{{declaring_box_type_name __value_type}}> _dataList; + + public {{__name}}(ByteBuf _buf) { + _dataList = new java.util.ArrayList<{{declaring_box_type_name __value_type}}>(); + + for(int n = _buf.readSize() ; n > 0 ; --n) { + {{declaring_box_type_name __value_type}} _v; + {{deserialize '_buf' '_v' __value_type}} + _dataList.add(_v); + } + } + + public java.util.ArrayList<{{declaring_box_type_name __value_type}}> getDataList() { return _dataList; } + + public {{declaring_box_type_name __value_type}} get(int index) { return _dataList.get(index); } + + + {{~else~}} + private final {{declaring_type_name __value_type}} _data; + + public final {{declaring_type_name __value_type}} data() { return _data; } + + public {{__name}}(ByteBuf _buf) { + int n = _buf.readSize(); + if (n != 1) throw new SerializationException("table mode=one, but size != 1"); + {{deserialize '_buf' '_data' __value_type}} + } + + + {{~ for field in __value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + public {{declaring_type_name field.ctype}} {{getter_name field.name}}() { return _data.{{format_field_name __code_style field.name}}; } + {{~end~}} + + {{~end~}} +} \ No newline at end of file diff --git a/Luban/Templates/java-bin/tables.sbn b/Luban/Templates/java-bin/tables.sbn new file mode 100644 index 0000000..7ab77d8 --- /dev/null +++ b/Luban/Templates/java-bin/tables.sbn @@ -0,0 +1,37 @@ +{{~if __namespace != ''~}} +package {{__namespace}}; +{{~end~}} + +import luban.*; +{{~ +func get_table_inner_name + ret '_' + ($0 | string.downcase) +end +~}} + +public final class {{__name}} +{ + public static interface IByteBufLoader { + ByteBuf load(String file) throws java.io.IOException; + } + + {{~for table in __tables + inner_name = get_table_inner_name table.name + ~}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + private final {{table.full_name_with_top_module}} {{inner_name}}; + public {{table.full_name_with_top_module}} get{{table.name}}() { return {{inner_name}}; } + {{~end~}} + + public {{__name}}(IByteBufLoader loader) throws java.io.IOException { + {{~for table in __tables + inner_name = get_table_inner_name table.name + ~}} + {{inner_name}} = new {{table.full_name_with_top_module}}(loader.load("{{table.output_data_file}}")); + {{~end~}} + } +} diff --git a/Luban/Templates/java-json/bean.sbn b/Luban/Templates/java-json/bean.sbn new file mode 100644 index 0000000..34fe415 --- /dev/null +++ b/Luban/Templates/java-json/bean.sbn @@ -0,0 +1,67 @@ +{{~if __namespace_with_top_module != ''~}} +package {{__namespace_with_top_module}}; +{{~end~}} + +import luban.*; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +{{~ + parent_def_type = __this.parent_def_type + export_fields = __this.export_fields + hierarchy_export_fields = __this.hierarchy_export_fields +~}} + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} +public {{class_modifier __this}} class {{__name}} extends {{if parent_def_type}}{{__this.parent_def_type.full_name_with_top_module}}{{else}}AbstractBean{{end}} { + public {{__name}}(JsonObject _buf) { + {{~if parent_def_type~}} + super(_buf); + {{~end~}} + {{~ for field in export_fields ~}} + {{deserialize_field (format_field_name __code_style field.name) '_buf' field.name field.ctype}} + {{~end~}} + } + + public static {{__name}} deserialize(JsonObject _buf) { + {{~if __this.is_abstract_type~}} + switch (_buf.get("$type").getAsString()) { + {{~for child in __this.hierarchy_not_abstract_children~}} + case "{{impl_data_type child __this}}": return new {{child.full_name_with_top_module}}(_buf); + {{~end~}} + default: throw new SerializationException(); + } + {{~else~}} + return new {{__this.full_name_with_top_module}}(_buf); + {{~end~}} + } + + {{~ for field in export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + public final {{declaring_type_name field.ctype}} {{format_field_name __code_style field.name}}; + {{~end~}} + +{{~if !__this.is_abstract_type~}} + public static final int __ID__ = {{__this.id}}; + + @Override + public int getTypeId() { return __ID__; } +{{~end~}} + + @Override + public String toString() { + return "{{full_name}}{ " + {{~for field in hierarchy_export_fields ~}} + + "{{format_field_name __code_style field.name}}:" + {{format_field_name __code_style field.name}} + "," + {{~end~}} + + "}"; + } +} diff --git a/Luban/Templates/java-json/table.sbn b/Luban/Templates/java-json/table.sbn new file mode 100644 index 0000000..d4a5ebd --- /dev/null +++ b/Luban/Templates/java-json/table.sbn @@ -0,0 +1,82 @@ +{{~if __namespace_with_top_module != ''~}} +package {{__namespace_with_top_module}}; +{{~end~}} + +import luban.*; +import com.google.gson.JsonElement; + + +{{~if __this.comment != '' ~}} +/** + * {{escape_comment __this.comment}} + */ +{{~end~}} +public final class {{__name}} { + {{~if __this.is_map_table + key_type = __this.key_ttype + ~}} + private final java.util.HashMap<{{declaring_box_type_name key_type}}, {{declaring_box_type_name __value_type}}> _dataMap; + private final java.util.ArrayList<{{declaring_box_type_name __value_type}}> _dataList; + + public {{__name}}(JsonElement _buf) { + _dataMap = new java.util.HashMap<{{declaring_box_type_name key_type}}, {{declaring_box_type_name __value_type}}>(); + _dataList = new java.util.ArrayList<{{declaring_box_type_name __value_type}}>(); + + for (com.google.gson.JsonElement _e_ : _buf.getAsJsonArray()) { + {{declaring_box_type_name __value_type}} _v; + {{deserialize '_v' '_e_' __value_type}} + _dataList.add(_v); + _dataMap.put(_v.{{format_field_name __code_style __this.index_field.name}}, _v); + } + } + + public java.util.HashMap<{{declaring_box_type_name key_type}}, {{declaring_box_type_name __value_type}}> getDataMap() { return _dataMap; } + public java.util.ArrayList<{{declaring_box_type_name __value_type}}> getDataList() { return _dataList; } + +{{~if __value_type.is_dynamic~}} + @SuppressWarnings("unchecked") + public T getAs({{declaring_type_name key_type}} key) { return (T)_dataMap.get(key); } +{{~end~}} + public {{declaring_box_type_name __value_type}} get({{declaring_type_name key_type}} key) { return _dataMap.get(key); } + + {{~else if __this.is_list_table ~}} + private final java.util.ArrayList<{{declaring_box_type_name __value_type}}> _dataList; + + public {{__name}}(JsonElement _buf) { + _dataList = new java.util.ArrayList<{{declaring_box_type_name __value_type}}>(); + + for (com.google.gson.JsonElement _e_ : _buf.getAsJsonArray()) { + {{declaring_box_type_name __value_type}} _v; + {{deserialize '_v' '_e_' __value_type}} + _dataList.add(_v); + } + } + + public java.util.ArrayList<{{declaring_box_type_name __value_type}}> getDataList() { return _dataList; } + + public {{declaring_box_type_name __value_type}} get(int index) { return _dataList.get(index); } + + + {{~else~}} + private final {{declaring_type_name __value_type}} _data; + + public final {{declaring_type_name __value_type}} data() { return _data; } + + public {{__name}}(JsonElement _buf) { + int n = _buf.getAsJsonArray().size(); + if (n != 1) throw new SerializationException("table mode=one, but size != 1"); + {{deserialize '_data' '_buf.getAsJsonArray().get(0).getAsJsonObject()' __value_type}} + } + + + {{~ for field in __value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + public {{declaring_type_name field.ctype}} {{getter_name field.name}}() { return _data.{{format_field_name __code_style field.name}}; } + {{~end~}} + + {{~end~}} +} \ No newline at end of file diff --git a/Luban/Templates/java-json/tables.sbn b/Luban/Templates/java-json/tables.sbn new file mode 100644 index 0000000..dbb624b --- /dev/null +++ b/Luban/Templates/java-json/tables.sbn @@ -0,0 +1,39 @@ +{{~if __namespace != ''~}} +package {{__namespace}}; +{{~end~}} + +import luban.*; +import com.google.gson.JsonElement; +{{~ +func get_table_inner_name + ret '_' + ($0 | string.downcase) +end +~}} + +public final class {{__name}} +{ + + public interface IJsonLoader { + JsonElement load(String file) throws java.io.IOException; + } + + {{~for table in __tables + inner_name = get_table_inner_name table.name + ~}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + private final {{table.full_name_with_top_module}} {{inner_name}}; + public {{table.full_name_with_top_module}} get{{table.name}}() { return {{inner_name}}; } + {{~end~}} + + public {{__name}}(IJsonLoader loader) throws java.io.IOException { + {{~for table in __tables + inner_name = get_table_inner_name table.name + ~}} + {{inner_name}} = new {{table.full_name_with_top_module}}(loader.load("{{table.output_data_file}}")); + {{~end~}} + } +} diff --git a/Luban/Templates/javascript-bin/schema.sbn b/Luban/Templates/javascript-bin/schema.sbn new file mode 100644 index 0000000..5c79063 --- /dev/null +++ b/Luban/Templates/javascript-bin/schema.sbn @@ -0,0 +1,195 @@ + +{{~for enum in __enums~}}{{~if enum.comment != '' ~}} +/** + * {{enum.comment | html.escape}} + */ +{{~end~}} +export const {{full_name enum}} = Object.freeze({ + {{~for item in enum.items ~}} +{{~if item.comment != '' ~}} + /** + * {{escape_comment item.comment}} + */ +{{~end~}} + {{item.name}}: {{item.int_value}}, + {{~end~}} +}); + +{{~end~}} + + +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_ref' +end + +func generate_resolve_field_ref + field = $0 + fieldName = format_property_name __code_style field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = refTable.name + if field.is_nullable + ret 'this.'+(get_ref_name field) + ' = this.' + fieldName + '!= null ? tables.' + tableName + '.get(this.' + fieldName + ') : null' + else + ret 'this.'+(get_ref_name field) + ' = tables.' + tableName + '.get(this.' + fieldName + ')' + end + else + if (is_field_bean_need_resolve_ref field) + ret 'this.'+fieldName + '?.resolve(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'for (let _e of ' + 'this.' + fieldName + ') { _e?.resolve(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'for (let [_, _e] of ' + 'this.' + fieldName + ') { _e?.resolve(tables); }' + else + ret '' + end + end +end +~}} + + +{{~for bean in __beans~}} + +{{~if bean.comment != '' ~}} +/** + * {{escape_comment bean.comment}} + */ +{{~end~}} +export class {{full_name bean}}{{if bean.parent_def_type}} extends {{full_name bean.parent_def_type}}{{end}} { +{{~if bean.is_abstract_type~}} + static constructorFrom(_buf_) { + switch (_buf_.readInt()) { + {{~ for child in bean.hierarchy_not_abstract_children~}} + case {{child.id}}: return new {{full_name child}}(_buf_); + {{~end~}} + default: throw new Error(); + } + } +{{~end~}} + + constructor(_buf_) { + {{~if bean.parent_def_type~}} + super(_buf_); + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{deserialize ('this.' + format_field_name __code_style field.name) '_buf_' field.ctype}}; + {{~end~}} + } + + resolve(tables) { + {{~if bean.parent_def_type~}} + super.resolve(tables); + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{generate_resolve_field_ref field}} + {{~end~}} + } +} + + +{{~end~}} + +{{~for table in __tables + key_type = table.key_ttype + value_type = table.value_ttype +~}} + +{{~if table.comment != '' ~}} +/** + * {{escape_comment table.comment}} + */ +{{~end~}} +export class {{full_name table}} { + {{~if table.is_map_table ~}} + + constructor(_buf_) { + this._dataMap = new Map(); + this._dataList = []; + for(let n = _buf_.readInt(); n > 0; n--) { + let _v; + {{deserialize '_v' '_buf_' value_type}}; + this._dataList.push(_v); + this._dataMap.set(_v.{{format_field_name __code_style table.index_field.name}}, _v); + } + } + + getDataMap() { return this._dataMap; } + getDataList() { return this._dataList; } + + get(key) { return this._dataMap.get(key); } + + resolve(tables) { + for(let data of this._dataList) { + data.resolve(tables); + } + } + {{~else if table.is_list_table ~}} + + constructor(_buf_) { + this._dataList = []; + for(let n = _buf_.readInt(); n > 0; n--) { + let _v; + {{deserialize '_v' '_buf_' value_type}}; + this._dataList.push(_v); + } + } + + getDataList() { return this._dataList } + + get(index) { return this._dataList[index] } + + resolve(tables) { + for(let data of this._dataList) { + data.resolve(tables); + } + } + {{~else~}} + + constructor(_buf_) { + if (_buf_.readInt() != 1) throw new Error('table mode=one, but size != 1') + {{deserialize 'this._data' '_buf_' value_type}} + } + + getData() { return this._data; } + + {{~ for field in value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + get {{format_field_name __code_style field.name}}() { return this._data.{{format_field_name __code_style field.name}}; } + {{~if can_generate_ref field~}} + get {{format_field_name __code_style field.name}}_ref(): { return this._data.{{format_field_name __code_style field.name}}_ref; } + {{~end~}} + {{~end~}} + + resolve(tables) { + this._data.resolve(tables); + } + {{end}} +} + +{{~end~}} + +export class {{__name}} { + {{~ for table in __tables ~}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + get {{table.name}}() { return this._{{table.name}};} + {{~end~}} + + constructor(loader) { + {{~for table in __tables ~}} + this._{{table.name}} = new {{full_name table}}(loader('{{table.output_data_file}}')); + {{~end~}} + + {{~for table in __tables ~}} + this._{{table.name}}.resolve(this); + {{~end~}} + } +} diff --git a/Luban/Templates/javascript-json/schema.sbn b/Luban/Templates/javascript-json/schema.sbn new file mode 100644 index 0000000..5529bd2 --- /dev/null +++ b/Luban/Templates/javascript-json/schema.sbn @@ -0,0 +1,196 @@ + +{{~for enum in __enums~}}{{~if enum.comment != '' ~}} +/** + * {{enum.comment | html.escape}} + */ +{{~end~}} +export const {{full_name enum}} = Object.freeze({ + {{~for item in enum.items ~}} +{{~if item.comment != '' ~}} + /** + * {{escape_comment item.comment}} + */ +{{~end~}} + {{item.name}}: {{item.int_value}}, + {{~end~}} +}); + +{{~end~}} + + +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_ref' +end + +func generate_resolve_field_ref + field = $0 + fieldName = format_property_name __code_style field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = refTable.name + if field.is_nullable + ret 'this.'+(get_ref_name field) + ' = this.' + fieldName + '!= null ? tables.' + tableName + '.get(this.' + fieldName + ') : null' + else + ret 'this.'+(get_ref_name field) + ' = tables.' + tableName + '.get(this.' + fieldName + ')' + end + else + if (is_field_bean_need_resolve_ref field) + ret 'this.'+fieldName + '?.resolve(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'for (let _e of ' + 'this.' + fieldName + ') { _e?.resolve(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'for (let [_, _e] of ' + 'this.' + fieldName + ') { _e?.resolve(tables); }' + else + ret '' + end + end +end +~}} + +{{~for bean in __beans~}} + +{{~if bean.comment != '' ~}} +/** + * {{escape_comment bean.comment}} + */ +{{~end~}} +export class {{full_name bean}}{{if bean.parent_def_type}} extends {{full_name bean.parent_def_type}}{{end}} { +{{~if bean.is_abstract_type~}} + static constructorFrom(_json_) { + switch (_json_["$type"]) { + {{~ for child in bean.hierarchy_not_abstract_children~}} + case '{{impl_data_type child bean}}': return new {{full_name child}}(_json_); + {{~end~}} + default: throw new Error(); + } + } +{{~end~}} + + constructor(_json_) { + {{~if bean.parent_def_type~}} + super(_json_); + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{~if !field.ctype.is_nullable~}} + if (_json_.{{field.name}} === undefined) { throw new Error() }; + {{~end~}} + {{deserialize ('this.' + format_field_name __code_style field.name) ( '_json_.' + field.name) field.ctype}}; + {{~end~}} + } + + resolve(tables) { + {{~if bean.parent_def_type~}} + super.resolve(tables); + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{generate_resolve_field_ref field}} + {{~end~}} + } +} + +{{~end~}} + +{{~for table in __tables + key_type = table.key_ttype + value_type = table.value_ttype +~}} + +{{~if table.comment != '' ~}} +/** + * {{escape_comment table.comment}} + */ +{{~end~}} +export class {{full_name table}} { + {{~if table.is_map_table ~}} + + constructor(_json_) { + this._dataMap = new Map(); + this._dataList = []; + for(var _json2_ of _json_) { + let _v; + {{deserialize '_v' '_json2_' value_type}}; + this._dataList.push(_v); + this._dataMap.set(_v.{{format_field_name __code_style table.index_field.name}}, _v); + } + } + + getDataMap() { return this._dataMap; } + getDataList() { return this._dataList; } + + get(key) { return this._dataMap.get(key); } + + resolve(tables) { + for(let data of this._dataList) { + data.resolve(tables); + } + } + {{~else if table.is_list_table ~}} + + constructor(_json_) { + this._dataList = []; + for(var _json2_ of _json_) { + let _v; + {{deserialize '_v' '_json2_' value_type}}; + this._dataList.push(_v); + } + } + + getDataList() { return this._dataList } + + get(index) { return this._dataList[index] } + + resolve(tables) { + for(let data of this._dataList) { + data.resolve(tables); + } + } + {{~else~}} + + constructor(_json_) { + if (_json_.length != 1) throw new Error('table mode=one, but size != 1'); + {{deserialize 'this._data' '_json_[0]' value_type}}; + } + + getData() { return this._data; } + + {{~ for field in value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + get {{format_field_name __code_style field.name}}() { return this._data.{{format_field_name __code_style field.name}}; } + {{~if can_generate_ref field~}} + get {{format_field_name __code_style field.name}}_ref(): { return this._data.{{format_field_name __code_style field.name}}_ref; } + {{~end~}} + {{~end~}} + + resolve(tables) { + this._data.resolve(tables); + } + {{end}} +} + +{{~end~}} + +export class {{__name}} { + {{~ for table in __tables ~}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + get {{table.name}}() { return this._{{table.name}};} + {{~end~}} + + constructor(loader) { + {{~for table in __tables ~}} + this._{{table.name}} = new {{full_name table}}(loader('{{table.output_data_file}}')); + {{~end~}} + + {{~for table in __tables ~}} + this._{{table.name}}.resolve(this); + {{~end~}} + } +} diff --git a/Luban/Templates/lua-bin/schema.sbn b/Luban/Templates/lua-bin/schema.sbn new file mode 100644 index 0000000..5a492a7 --- /dev/null +++ b/Luban/Templates/lua-bin/schema.sbn @@ -0,0 +1,158 @@ +local setmetatable = setmetatable +local pairs = pairs +local ipairs = ipairs +local tinsert = table.insert + +local function SimpleClass() + local class = {} + class.__index = class + class.New = function(...) + local ctor = class.ctor + local o = ctor and ctor(...) or {} + setmetatable(o, class) + return o + end + return class +end + + +local function get_map_size(m) + local n = 0 + for _ in pairs(m) do + n = n + 1 + end + return n +end + +local enums = +{ + {{~ for c in __enums ~}} + ---@class {{c.full_name}} {{-if c.comment != ''}} @{{escape_comment c.comment}}{{end}} + {{~ for item in c.items ~}} + ---@field public {{item.name}} integer {{-if item.comment != ''}} @{{escape_comment item.comment}}{{end}} + {{~end~}} + ['{{c.full_name}}'] = { {{ for item in c.items }} {{item.name}}={{item.int_value}}, {{end}} }; + {{~end~}} +} + +local tables = +{ +{{~for table in __tables ~}} + {{~if table.is_map_table ~}} + { name='{{table.name}}', file='{{table.output_data_file}}', mode='map', index='{{table.index}}', value_type='{{table.value_ttype.def_bean.full_name}}' }, + {{~else if table.is_list_table ~}} + { name='{{table.name}}', file='{{table.output_data_file}}', mode='list', index='{{table.index}}', value_type='{{table.value_ttype.def_bean.full_name}}' }, + {{~else~}} + { name='{{table.name}}', file='{{table.output_data_file}}', mode='one', value_type='{{table.value_ttype.def_bean.full_name}}'}, + {{~end~}} +{{~end~}} +} + +local function InitTypes(methods) + local readBool = methods.readBool + local readByte = methods.readByte + local readShort = methods.readShort + local readFshort = methods.readFshort + local readInt = methods.readInt + local readFint = methods.readFint + local readLong = methods.readLong + local readFlong = methods.readFlong + local readFloat = methods.readFloat + local readDouble = methods.readDouble + local readSize = methods.readSize + + local readString = methods.readString + + local function readList(bs, keyFun) + local list = {} + local v + for i = 1, readSize(bs) do + tinsert(list, keyFun(bs)) + end + return list + end + + local readArray = readList + + local function readSet(bs, keyFun) + local set = {} + local v + for i = 1, readSize(bs) do + tinsert(set, keyFun(bs)) + end + return set + end + + local function readMap(bs, keyFun, valueFun) + local map = {} + for i = 1, readSize(bs) do + local k = keyFun(bs) + local v = valueFun(bs) + map[k] = v + end + return map + end + + local function readNullableBool(bs) + if readBool(bs) then + return readBool(bs) + end + end + + local beans = {} + {{~ for bean in __beans ~}} + do + ---@class {{bean.full_name}} {{if bean.parent_def_type}}:{{bean.parent}} {{end}} {{-if bean.comment != ''}} @{{escape_comment bean.comment}}{{end}} + {{~ for field in bean.export_fields~}} + ---@field public {{field.name}} {{comment_type field.ctype}} {{-if field.comment != ''}} @{{escape_comment field.comment}}{{end}} + {{~end~}} + local class = { + {{~ for field in bean.export_fields~}} + { name='{{field.name}}', type='{{comment_type field.ctype}}'}, + {{~end~}} + } + beans['{{bean.full_name}}'] = class + end + {{~end~}} + + local beans = {} +{{~ for bean in __beans ~}} + do + ---@class {{bean.full_name}} {{if bean.parent_def_type}}:{{bean.parent}} {{end}} + {{~ for field in bean.export_fields~}} + ---@field public {{field.name}} {{comment_type field.ctype}} + {{~end~}} + local class = SimpleClass() + class._id = {{bean.id}} + class._type_ = '{{bean.full_name}}' + local id2name = { {{for c in bean.hierarchy_not_abstract_children}} [{{c.id}}] = '{{c.full_name}}', {{end}} } +{{~if bean.is_abstract_type~}} + class._deserialize = function(bs) + local id = readInt(bs) + return beans[id2name[id]]._deserialize(bs) + end +{{~else~}} + class._deserialize = function(bs) + local o = { + {{~ for field in bean.hierarchy_export_fields ~}} + {{~if !(need_marshal_bool_prefix field.ctype)~}} + {{field.name}} = {{deserialize 'bs' field.ctype}}, + {{~else~}} + {{field.name}} = {{if !field.ctype.is_bool}}readBool(bs) and {{deserialize 'bs' field.ctype}} or nil {{-else-}} readNullableBool(bs) {{-end-}}, + {{~end~}} + {{~end~}} + } + setmetatable(o, class) + return o + end +{{~end~}} + beans[class._type_] = class + end +{{~end~}} + + + return { enums = enums, beans = beans, tables = tables } + end + +return { InitTypes = InitTypes } + diff --git a/Luban/Templates/lua-lua/schema.sbn b/Luban/Templates/lua-lua/schema.sbn new file mode 100644 index 0000000..3a75e1a --- /dev/null +++ b/Luban/Templates/lua-lua/schema.sbn @@ -0,0 +1,42 @@ + +local enums = +{ + {{~ for c in __enums ~}} + ---@class {{c.full_name}} {{-if c.comment != ''}} @{{escape_comment c.comment}}{{end}} + {{~ for item in c.items ~}} + ---@field public {{item.name}} integer {{-if item.comment != ''}} @{{escape_comment item.comment}}{{end}} + {{~end~}} + ['{{c.full_name}}'] = { {{ for item in c.items }} {{item.name}}={{item.int_value}}, {{end}} }; + {{~end~}} +} + +local beans = {} +{{~ for bean in __beans ~}} + do + ---@class {{bean.full_name}} {{if bean.parent_def_type}}:{{bean.parent}} {{end}} {{-if bean.comment != ''}} @{{escape_comment bean.comment}}{{end}} + {{~ for field in bean.export_fields~}} + ---@field public {{field.name}} {{comment_type field.ctype}} {{-if field.comment != ''}} @{{escape_comment field.comment}}{{end}} + {{~end~}} + local class = { + {{~ for field in bean.export_fields~}} + { name='{{field.name}}', type='{{comment_type field.ctype}}'}, + {{~end~}} + } + beans['{{bean.full_name}}'] = class + end +{{~end~}} + +local tables = +{ +{{~for table in __tables ~}} + {{~if table.is_map_table ~}} + { name='{{table.name}}', file='{{table.output_data_file}}', mode='map', index='{{table.index}}', value_type='{{table.value_ttype.def_bean.full_name}}' }, + {{~else if table.is_list_table ~}} + { name='{{table.name}}', file='{{table.output_data_file}}', mode='list', index='{{table.index}}', value_type='{{table.value_ttype.def_bean.full_name}}' }, + {{~else~}} + { name='{{table.name}}', file='{{table.output_data_file}}', mode='one', value_type='{{table.value_ttype.def_bean.full_name}}'}, + {{~end~}} +{{~end~}} +} + +return { enums = enums, beans = beans, tables = tables } diff --git a/Luban/Templates/pb/schema.sbn b/Luban/Templates/pb/schema.sbn new file mode 100644 index 0000000..fce8035 --- /dev/null +++ b/Luban/Templates/pb/schema.sbn @@ -0,0 +1,41 @@ +syntax = "{{__syntax}}"; + +package {{__namespace}}; + +{{~for enum in __enums + typeName = full_name enum + ~}} +enum {{typeName}} { + {{~if !enum.has_zero_value_item ~}} + {{typeName}}_EMPTY_PLACEHOLDER = 0; + {{~end~}} + {{~for item in enum.items ~}} + {{typeName}}_{{item.name}} = {{item.int_value}}; + {{~end~}} +} +{{~end~}} + +{{~for bean in __beans + typeName = full_name bean +~}} +message {{typeName}} { +{{~if bean.is_abstract_type ~}} + oneof value { + {{~for c in bean.hierarchy_not_abstract_children~}} + {{full_name c}} {{c.name}} = {{c.auto_id}}; + {{~end~}} + } +{{~else~}} + {{~for f in bean.hierarchy_export_fields ~}} + {{pre_decorator f.ctype}} {{declaring_type_name f.ctype}} {{f.name}} = {{f.auto_id}} {{suffix_options f.ctype}}; + {{~end~}} +{{~end~}} +} +{{~end~}} + +{{~for table in __tables~}} +message {{full_name table}} { + repeated {{declaring_type_name table.value_ttype}} data_list = 1 [packed = false]; +} +{{~end~}} + diff --git a/Luban/Templates/php-json/schema.sbn b/Luban/Templates/php-json/schema.sbn new file mode 100644 index 0000000..478c850 --- /dev/null +++ b/Luban/Templates/php-json/schema.sbn @@ -0,0 +1,155 @@ +{{~namespace_with_grace_begin __namespace~}} + +{{~for enum in __enums~}} +{{~if enum.comment != '' ~}} +/** + * {{enum.comment | html.escape}} + */ +{{~end~}} +class {{full_name enum}} { + {{~for item in enum.items ~}} +{{~if item.comment != '' ~}} + /** + * {{escape_comment item.comment}} + */ +{{~end~}} + public const {{item.name}} = {{item.value}}; + {{~end~}} +} + +{{~end~}} + + +{{~for bean in __beans~}} +{{name = (full_name bean)}} +{{~if bean.comment != '' ~}} +/** + * {{escape_comment bean.comment}} + */ +{{~end~}} +{{class_modifier bean}} class {{name}}{{if bean.parent_def_type}} extends {{full_name bean.parent_def_type}}{{end}} { +{{~if bean.is_abstract_type~}} + public static function constructFrom($_json_) { + $type = $_json_['$type']; + switch ($type) { + {{~ for child in bean.hierarchy_not_abstract_children~}} + case '{{impl_data_type child bean}}': return new {{full_name child}}($_json_); + {{~end~}} + default: throw new \Exception("unknown type:$type"); + } + } +{{~end~}} + + public function __construct($_json_) { + {{~if bean.parent_def_type~}} + parent::__construct($_json_); + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{~if !field.ctype.is_nullable~}} + if (!array_key_exists('{{field.name}}', $_json_)) { throw new \Exception("field:'{{field.name}}' missing"); } + {{~end~}} + {{deserialize ('$this->' + format_field_name __code_style field.name) ( '$_json_[\'' + field.name + '\']') field.ctype}}; + {{~end~}} + } + + {{~ for field in bean.export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + public ${{format_field_name __code_style field.name}}; + {{~end~}} +} + + +{{~end~}} + +{{~for table in __tables + key_type = table.key_ttype + value_type = table.value_ttype + name = (full_name table) +~}} + +{{~if table.comment != '' ~}} +/** + * {{escape_comment table.comment}} + */ +{{~end~}} +class {{name}} { + {{~if table.is_map_table ~}} + private $_dataMap; + private $_dataList; + public function __construct($_json_) { + $this->_dataMap = []; + $this->_dataList = []; + foreach ($_json_ as $_json2_) { + {{deserialize '$_v' '$_json2_' value_type}}; + array_push($this->_dataList, $_v); + $this->_dataMap[$_v->{{format_field_name __code_style table.index_field.name}}] = $_v; + } + } + + public function getDataMap() { return $this->_dataMap; } + public function getDataList() { return $this->_dataList; } + + public function get($key) { return $this->_dataMap[$key]; } + + {{~else if table.is_list_table ~}} + private $_dataList; + + public function __construct($_json_) { + $this->_dataList = []; + foreach ($_json_ as $_json2_) { + {{deserialize '$_v' '$_json2_' value_type}}; + array_push($this->_dataList, $_v); + } + } + + public function getDataList() { return $this->_dataList; } + + public function get($index) { return $this->_dataList[$index]; } + + {{~else~}} + + private $_data; + public function __construct($_json_) { + if (count($_json_) != 1) throw new \Exception('table:{{table.name}} mode=one, but size != 1'); + {{deserialize '$this->_data' '$_json_[0]' value_type}}; + } + + public function getData() { return $this->_data; } + + {{~ for field in value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + public function get{{format_field_name __code_style field.name}}() { return $this->_data->{{format_field_name __code_style field.name}}; } + {{~end~}} + + {{end}} +} + +{{~end~}} + +class {{__name}} { + {{~ for table in __tables ~}} + private $_{{table.name}}; +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + public function get{{table.name}}() { return $this->_{{table.name}}; } + {{~end~}} + + public function __construct($loader) { + {{~for table in __tables ~}} + $this->_{{table.name}} = new {{full_name table}}($loader('{{table.output_data_file}}')); + {{~end~}} + } +} + +{{~namespace_with_grace_end __namespace~}} diff --git a/Luban/Templates/python-json/schema.sbn b/Luban/Templates/python-json/schema.sbn new file mode 100644 index 0000000..dfa6e4b --- /dev/null +++ b/Luban/Templates/python-json/schema.sbn @@ -0,0 +1,156 @@ +from enum import Enum +{{ + + func table_key_list + table = $0 + varName = $1 + indexList = table.index_list |array.each do; ret varName + '.' + (format_property_name __code_style $0.index_field.name); end; + ret array.join indexList ', ' + end + + func table_param_name_list + table = $0 + paramList = table.index_list |array.each do; ret $0.index_field.name; end + ret array.join paramList ', ' + end +}} + +{{~for enum in __enums~}} +{{~if enum.comment != '' ~}} +''' +{{enum.comment | html.escape}} +''' +{{~end~}} +class {{full_name enum}}(Enum): + {{~ for item in enum.items ~}} +{{~if item.comment_or_alias != '' ~}} + ''' + {{item.comment_or_alias | html.escape}} + ''' +{{~end~}} + {{item.name}} = {{item.value}} + {{~end~}} + {{~if enum.items.empty?~}} + pass + {{~end~}} + +{{~end~}} + +{{~for bean in __beans + name = (full_name bean) +~}} +class {{name}} {{if bean.parent_def_type}}({{full_name bean.parent_def_type}}){{end}}: +{{~if bean.is_abstract_type~}} + _childrenTypes = None + @staticmethod + def fromJson(_json_): + childrenTypes = {{name}}._childrenTypes + if not childrenTypes: + childrenTypes = {{name}}._childrenTypes = { + {{~ for child in bean.hierarchy_not_abstract_children~}} + '{{impl_data_type child bean}}': {{name}}, + {{~end~}} + } + type = _json_['$type'] + child = {{name}}._childrenTypes.get(type) + if child != None: + return child(_json_) + else: + raise Exception() +{{~end~}} + def __init__(self, _json_): + {{~if bean.parent_def_type~}} + {{full_name bean.parent_def_type}}.__init__(self, _json_) + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{deserialize_field ('self.' + (format_field_name __code_style field.name)) '_json_' field.name field.ctype}} + {{~end~}} + {{~if bean.export_fields.empty?}} + pass + {{~end~}} + +{{~end~}} + +{{~for table in __tables + value_type = table.value_ttype +~}} +class {{full_name table}}: + {{~if table.is_map_table ~}} + + def __init__(self, _json_ ): + self._dataMap = {} + self._dataList = [] + + for _json2_ in _json_: + {{deserialize '_v' '_json2_' value_type}} + self._dataList.append(_v) + self._dataMap[_v.{{format_field_name __code_style table.index_field.name}}] = _v + + def getDataMap(self) : return self._dataMap + def getDataList(self) : return self._dataList + + def get(self, key) : return self._dataMap.get(key) + {{~else if table.is_union_index~}} + + def __init__(self, _json_ ): + self._dataMap = {} + self._dataList = [] + + for _json2_ in _json_: + {{deserialize '_v' '_json2_' value_type}} + self._dataList.append(_v) + self._dataMap[({{table_key_list table '_v'}})] = _v + + def getDataMap(self) : return self._dataMap + def getDataList(self) : return self._dataList + + def get(self, {{table_param_name_list table}}) : return self._dataMap.get(({{table_param_name_list table}})) + + {{~else if table.is_list_table ~}} + + def __init__(self, _json_ ): + self._dataList = [] + {{~for idx in table.index_list~}} + self._dataMap_{{idx.index_field.name}} = {} + {{~end~}} + for _json2_ in _json_: + {{deserialize '_v' '_json2_' value_type}} + self._dataList.append(_v) + {{~for idx in table.index_list~}} + self._dataMap_{{idx.index_field.name}}[_v.{{format_property_name __code_style idx.index_field.name}}] = _v + {{~end~}} + + def getDataList(self) : return self._dataList + + def get(self, index) : return self._dataList[index] + {{~for idx in table.index_list~}} + def get_by_{{format_property_name __code_style idx.index_field.name}}(self, key): return self._dataMap_{{idx.index_field.name}}.get(key) + {{~end~}} + {{~else~}} + + def __init__(self, _json_): + if (len(_json_) != 1): raise Exception('table mode=one, but size != 1') + {{deserialize 'self._data' '_json_[0]' value_type}} + + def getData(self) : return self._data + + {{~ for field in value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' + name = format_field_name __code_style field.name +~}} + ''' + {{escape_comment field.comment}} + ''' +{{~end~}} + def {{name}}(self) : return self._data.{{name}} + {{~end~}} + {{~end~}} + +{{~end~}} + + +class {{str_full_name __full_name}}: + def __init__(self, loader): + {{~for table in __tables ~}} + self.{{format_method_name __code_style table.name}} = {{full_name table}}(loader('{{table.output_data_file}}')); + {{~end~}} diff --git a/Luban/Templates/rust-bin/lib.sbn b/Luban/Templates/rust-bin/lib.sbn new file mode 100644 index 0000000..254110e --- /dev/null +++ b/Luban/Templates/rust-bin/lib.sbn @@ -0,0 +1,51 @@ +pub mod prelude{ + pub use crate::*; +{{~ for ns in __ns ~}} + pub use {{ns}}::*; +{{~end~}} +} +{{~ if __polymorphic_beans.count != 0 ~}} + +type AbstractBase = dyn std::any::Any + Sync + Send; + +pub trait GetBase<'a, T> { + fn get_base(&'a self) -> Result; +} +{{~end~}} + +#[derive(Debug)] +pub enum LubanError { + Loader(String), + Table(String), + Bean(String), + Polymorphic(String), + Unknown(String), +} + +impl std::fmt::Display for LubanError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(match self { + LubanError::Loader(msg) | + LubanError::Table(msg) | + LubanError::Bean(msg) | + LubanError::Polymorphic(msg) | + LubanError::Unknown(msg) => msg, + }) + } +} + +pub struct Tables{ +{{~ for table in __tables ~}} + pub {{table.name}}: std::sync::Arc<{{full_name table}}>, +{{~end~}} +} + +impl Tables { + pub fn new Result>(loader: T) -> Result { + Ok(Tables { +{{~ for table in __tables ~}} + {{table.name}}: {{full_name table}}::new(loader("{{table.output_data_file}}")?)?, +{{~end~}} + }) + } +} \ No newline at end of file diff --git a/Luban/Templates/rust-bin/mod.sbn b/Luban/Templates/rust-bin/mod.sbn new file mode 100644 index 0000000..a844024 --- /dev/null +++ b/Luban/Templates/rust-bin/mod.sbn @@ -0,0 +1,280 @@ +{{~ for mod in __mod.sub_mods ~}} +pub mod {{mod.name}}; +{{~end~}} + +{{~ if __mod.name != '' ~}} +use super::*; +{{~end~}} +use luban_lib::*; + +{{~ for enum in __mod.enums ~}} +{{~ if enum.comment != '' ~}} +///{{enum.comment | html.escape}} +{{~end~}} +{{~ if enum.is_flags ~}} +bitflags::bitflags!{ + #[derive(Debug, Hash, Eq, PartialEq)] + pub struct {{enum.name}} : u32 { + {{~ for item in enum.items ~}} + {{~if item.comment_or_alias != '' ~}} + ///{{item.comment_or_alias | html.escape}} + {{~end~}} + const {{item.name}} = {{item.int_value}}; + {{~end~}} + } +} +{{~else~}} +#[derive(Debug, Hash, Eq, PartialEq, macros::EnumFromNum)] +pub enum {{enum.name}} { + {{~ for item in enum.items ~}} +{{~if item.comment_or_alias != '' ~}} + ///{{item.comment_or_alias | html.escape}} +{{~end~}} + {{item.name}} = {{item.value}}, + {{~end~}} + {{~if enum.items.empty?~}} + None + {{~end~}} +} + +impl From for {{enum.name}} { + fn from(value: i32) -> Self { + match value { + {{~ for item in enum.items ~}} + {{item.value}} => {{enum.name}}::{{item.name}}, + {{~end~}} + _ => panic!("Invalid value for {{enum.name}}:{}", value), + } + } +} + +{{~end~}} +{{~end~}} +{{~ for bean in __mod.beans + hierarchy_fields = bean.hierarchy_export_fields +~}} +#[derive(Debug)] +{{~if bean.parent != ''~}} +#[derive(macros::TryIntoBase)] +{{~end~}} +pub struct {{bean.name}} { + {{~ for field in hierarchy_fields ~}} +{{~if field.comment != '' ~}} + /// {{escape_comment field.comment}} +{{~end~}} + pub {{field.name}}: {{declaring_type_name field.ctype}}, + {{~end~}} +} +{{~if bean.is_abstract_type~}} + +impl {{bean.name}} { + pub fn new(mut buf: &mut ByteBuf) -> Result, LubanError> { + let type_id = buf.read_int(); + match type_id { + {{~for child in bean.hierarchy_not_abstract_children~}} + {{full_name child}}::__ID__ => Ok(std::sync::Arc::new({{full_name child}}::new(buf)?)), + {{~end~}} + _ => Err(LubanError::Bean(format!("Invalid type for {{bean.name}}:{}", type_id))) + } + } +} + +pub trait T{{bean.name}} { + {{~ for field in hierarchy_fields ~}} + fn {{getter_name field.name}}(&self) -> &{{declaring_type_name field.ctype}}; + {{~end~}} +} +{{~for child in bean.hierarchy_not_abstract_children~}} + +impl {{base_trait_name bean}} for {{full_name child}} { + {{~ for field in hierarchy_fields ~}} + fn {{getter_name field.name}}(&self) -> &{{declaring_type_name field.ctype}} { + &self.{{field.name}} + } + {{~end~}} +} +{{~end~}} + +impl<'a> GetBase<'a, &'a dyn {{base_trait_name bean}}> for AbstractBase { + fn get_base(&'a self) -> Result<&'a dyn {{base_trait_name bean}}, LubanError> { + {{~for child in bean.hierarchy_not_abstract_children~}} + let base: Result<&{{full_name child}}, _> = self.try_into(); + if let Ok(r) = base { + return Ok(r); + } + {{~end~}} + + Err(LubanError::Polymorphic(format!("Invalid type for {{bean.name}}"))) + } +} +{{~else~}} + +impl {{bean.name}}{ + pub fn new(mut buf: &mut ByteBuf) -> Result<{{bean.name}}, LubanError> { + {{~ for field in hierarchy_fields ~}} + {{deserialize field.name 'buf' field.ctype}} + {{~end~}} + + Ok({{bean.name}} { {{ for field in hierarchy_fields }}{{field.name}}, {{end}}}) + } + + pub const __ID__: i32 = {{bean.id}}; +} +{{~end~}} + +{{~end~}} +{{~ for table in __mod.tables + key_type = declaring_type_name table.key_ttype + if table.value_ttype.def_bean.is_abstract_type + value_type = declaring_type_name table.value_ttype + else + value_type = "std::sync::Arc<"+declaring_type_name table.value_ttype+">" + end + name = table.name + map_type = "std::collections::HashMap<"+key_type+", "+value_type+">" +~}} +{{ + + func index_type_name + ret (declaring_type_name $0.type) + end + + func table_union_map_type_name + ret 'std::collections::HashMap<(' + (array.each table.index_list @index_type_name | array.join ', ') + '), ' + value_type + '>' + end + + func table_key_list + varName = $0 + indexList = table.index_list |array.each do; ret varName + '.' + (format_property_name __code_style $0.index_field.name); end; + ret array.join indexList ', ' + end + + func table_param_def_list + paramList = table.index_list |array.each do; ret (declaring_type_name $0.type) + ' ' + $0.index_field.name; end + ret array.join paramList ', ' + end + + func table_param_name_list + paramList = table.index_list |array.each do; ret $0.index_field.name; end + ret array.join paramList ', ' + end +}} +{{~ if table.comment != '' ~}} +///{{table.comment | html.escape}} +{{~end~}} +#[derive(Debug)] +pub struct {{table.name}} { + {{~if table.is_map_table ~}} + pub data_list: Vec<{{value_type}}>, + pub data_map: {{map_type}}, + {{~else if table.is_list_table ~}} + pub data_list: Vec<{{value_type}}>, + {{~if table.is_union_index~}} + pub data_map_union: {{table_union_map_type_name}}, + {{~else if !table.index_list.empty?~}} + {{~for idx in table.index_list~}} + pub data_map_{{idx.index_field.name}}: std::collections::HashMap<{{declaring_type_name idx.type}}, {{value_type}}>, + {{~end~}} + {{~end~}} + {{~else~}} + pub data: {{declaring_type_name table.value_ttype}}, + {{~end~}} +} +{{~if table.is_map_table ~}} + +impl {{name}} { + pub fn new(mut buf: ByteBuf) -> Result, LubanError> { + let mut data_map: {{map_type}} = Default::default(); + let mut data_list: Vec<{{value_type}}> = vec![]; + + for x in (0..buf.read_size()).rev() { + {{deserialize_row "row" "buf" table.value_ttype}} + data_list.push(row.clone()); + {{~ if table.value_ttype.def_bean.is_abstract_type ~}} + let key = >::get_base(std::ops::Deref::deref(&row))?; + data_map.insert(key.{{getter_name table.index_field.name}}().clone(), row.clone()); + {{~else~}} + data_map.insert(row.{{table.index_field.name}}.clone(), row.clone()); + {{~end~}} + } + + Ok(std::sync::Arc::new({{name}} { data_map, data_list })) + } + + pub fn get(&self, key: &{{key_type}}) -> Option<{{value_type}}> { + self.data_map.get(key).map(|x| x.clone()) + } +} + +impl std::ops::Index<{{key_type}}> for {{name}} { + type Output = {{value_type}}; + + fn index(&self, index: {{key_type}}) -> &Self::Output { + &self.data_map.get(&index).unwrap() + } +} +{{~else if table.is_list_table ~}} + +impl {{name}} { + pub fn new(mut buf: ByteBuf) -> Result, LubanError> { + let mut data_list: Vec<{{value_type}}> = vec![]; + + for x in (0..buf.read_size()).rev() { + {{deserialize_row "row" "buf" table.value_ttype}} + data_list.push(row.clone()); + } + {{~if table.is_union_index~}} + let mut data_map_union: {{table_union_map_type_name}} = Default::default(); + for x in &data_list { + data_map_union.insert(({{table_key_list "x"}}.clone()), x.clone()); + } + {{~else if !table.index_list.empty?~}} + {{~for idx in table.index_list~}} + let mut data_map_{{idx.index_field.name}}: std::collections::HashMap<{{declaring_type_name idx.index_field.ctype}}, {{value_type}}> = Default::default(); + {{~end~}} + for x in &data_list { + {{~for idx in table.index_list~}} + data_map_{{idx.index_field.name}}.insert(x.{{format_property_name __code_style idx.index_field.name}}.clone(), x.clone()); + {{~end~}} + } + {{~end~}} + + Ok(std::sync::Arc::new({{table.name}} { + data_list, +{{~if table.is_union_index~}} + data_map_union, +{{~else if !table.index_list.empty?~}} + {{~for idx in table.index_list~}} + data_map_{{idx.index_field.name}}, + {{~end~}} +{{~end~}} + })) + } + + {{~if table.is_union_index~}} + pub fn get(&self, key: &({{array.each table.index_list @index_type_name | array.join ', '}})) -> Option<{{value_type}}> { + self.data_map_union.get(key).map(|x| x.clone()) + } + {{~else if !table.index_list.empty? ~}} + {{~for idx in table.index_list + index = format_property_name __code_style idx.index_field.name + ~}} + pub fn get_by_{{index}}(&self, key: &{{declaring_type_name idx.type}}) -> Option<{{value_type}}> { + self.data_map_{{index}}.get(key).map(|x| x.clone()) + } + {{~end~}} + {{~end~}} +} +{{~else~}} + +impl {{name}} { + pub fn new(mut buf: ByteBuf) -> Result, LubanError> { + let n = buf.read_size(); + if n != 1 { return Err(LubanError::Table(format!("table mode=one, but size != 1"))); } + {{deserialize 'data' 'buf' table.value_ttype}} + Ok(std::sync::Arc::new({{name}} { data })) + } +} +{{~end~}} + +{{~end~}} diff --git a/Luban/Templates/rust-bin/toml.sbn b/Luban/Templates/rust-bin/toml.sbn new file mode 100644 index 0000000..6345181 --- /dev/null +++ b/Luban/Templates/rust-bin/toml.sbn @@ -0,0 +1,11 @@ +[package] +name = "{{__name}}" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +bitflags = { version = "2.5.x" , features = ["serde"] } +macros = { path = "../macros" } +luban_lib = { path = "../../luban_lib" } \ No newline at end of file diff --git a/Luban/Templates/rust-json/lib.sbn b/Luban/Templates/rust-json/lib.sbn new file mode 100644 index 0000000..8f906cc --- /dev/null +++ b/Luban/Templates/rust-json/lib.sbn @@ -0,0 +1,51 @@ +pub mod prelude{ + pub use crate::*; +{{~ for ns in __ns ~}} + pub use {{ns}}::*; +{{~end~}} +} +{{~ if __polymorphic_beans.count != 0 ~}} + +type AbstractBase = dyn std::any::Any + Sync + Send; + +pub trait GetBase<'a, T> { + fn get_base(&'a self) -> Result; +} +{{~end~}} + +#[derive(Debug)] +pub enum LubanError { + Loader(String), + Table(String), + Bean(String), + Polymorphic(String), + Unknown(String), +} + +impl std::fmt::Display for LubanError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(match self { + LubanError::Loader(msg) | + LubanError::Table(msg) | + LubanError::Bean(msg) | + LubanError::Polymorphic(msg) | + LubanError::Unknown(msg) => msg, + }) + } +} + +pub struct Tables{ +{{~ for table in __tables ~}} + pub {{table.name}}: std::sync::Arc<{{full_name table}}>, +{{~end~}} +} + +impl Tables { + pub fn new Result>(loader: T) -> Result { + Ok(Tables { +{{~ for table in __tables ~}} + {{table.name}}: {{full_name table}}::new(&loader("{{table.output_data_file}}")?)?, +{{~end~}} + }) + } +} \ No newline at end of file diff --git a/Luban/Templates/rust-json/mod.sbn b/Luban/Templates/rust-json/mod.sbn new file mode 100644 index 0000000..fc2f0be --- /dev/null +++ b/Luban/Templates/rust-json/mod.sbn @@ -0,0 +1,287 @@ +{{~ for mod in __mod.sub_mods ~}} +pub mod {{mod.name}}; +{{~end~}} + +{{~ if __mod.name != '' ~}} +use super::*; +{{~end~}} +use serde::Deserialize; + +{{~ for enum in __mod.enums ~}} +{{~ if enum.comment != '' ~}} +///{{enum.comment | html.escape}} +{{~end~}} +{{~ if enum.is_flags ~}} +bitflags::bitflags!{ + #[derive(Debug, Hash, Eq, PartialEq)] + pub struct {{enum.name}} : u32 { + {{~ for item in enum.items ~}} + {{~if item.comment_or_alias != '' ~}} + ///{{item.comment_or_alias | html.escape}} + {{~end~}} + const {{item.name}} = {{item.int_value}}; + {{~end~}} + } +} +{{~else~}} +#[derive(Deserialize, Debug, Hash, Eq, PartialEq, macros::EnumFromNum)] +pub enum {{enum.name}} { + {{~ for item in enum.items ~}} +{{~if item.comment_or_alias != '' ~}} + ///{{item.comment_or_alias | html.escape}} +{{~end~}} + {{item.name}} = {{item.value}}, + {{~end~}} + {{~if enum.items.empty?~}} + None + {{~end~}} +} + +impl From for {{enum.name}} { + fn from(value: i32) -> Self { + match value { + {{~ for item in enum.items ~}} + {{item.value}} => {{enum.name}}::{{item.name}}, + {{~end~}} + _ => panic!("Invalid value for {{enum.name}}:{}", value), + } + } +} + +{{~end~}} +{{~end~}} +{{~ for bean in __mod.beans + hierarchy_fields = bean.hierarchy_export_fields +~}} +#[derive(Debug)] +{{~if bean.parent != ''~}} +#[derive(macros::TryIntoBase)] +{{~end~}} +pub struct {{bean.name}} { + {{~ for field in hierarchy_fields ~}} +{{~if field.comment != '' ~}} + /// {{escape_comment field.comment}} +{{~end~}} + pub {{field.name}}: {{declaring_type_name field.ctype}}, + {{~end~}} +} +{{~if bean.is_abstract_type~}} + +impl {{bean.name}} { + pub fn new(json: &serde_json::Value) -> Result, LubanError> { + let type_id = json["$type"].as_str().unwrap(); + match type_id { + {{~for child in bean.hierarchy_not_abstract_children~}} + "{{impl_data_type child bean}}" => Ok(std::sync::Arc::new({{full_name child}}::new(json)?)), + {{~end~}} + _ => Err(LubanError::Bean(format!("Invalid type for {{bean.name}}:{}", type_id))) + } + } +} + +pub trait T{{bean.name}} { + {{~ for field in hierarchy_fields ~}} + fn {{getter_name field.name}}(&self) -> &{{declaring_type_name field.ctype}}; + {{~end~}} +} +{{~for child in bean.hierarchy_not_abstract_children~}} + +impl {{base_trait_name bean}} for {{full_name child}} { + {{~ for field in hierarchy_fields ~}} + fn {{getter_name field.name}}(&self) -> &{{declaring_type_name field.ctype}} { + &self.{{field.name}} + } + {{~end~}} +} +{{~end~}} + +impl<'a> GetBase<'a, &'a dyn {{base_trait_name bean}}> for AbstractBase { + fn get_base(&'a self) -> Result<&'a dyn {{base_trait_name bean}}, LubanError> { + {{~for child in bean.hierarchy_not_abstract_children~}} + let base: Result<&{{full_name child}}, _> = self.try_into(); + if let Ok(r) = base { + return Ok(r); + } + {{~end~}} + + Err(LubanError::Polymorphic(format!("Invalid type for {{bean.name}}"))) + } +} +{{~else~}} + +impl {{bean.name}}{ + pub fn new(json: &serde_json::Value) -> Result<{{bean.name}}, LubanError> { + {{~ for field in hierarchy_fields ~}} + {{deserialize_field field.name 'json' field.ctype}} + {{~end~}} + + Ok({{bean.name}} { {{ for field in hierarchy_fields }}{{field.name}}, {{end}}}) + } +} +{{~end~}} + +{{~end~}} +{{~ for table in __mod.tables + key_type = declaring_type_name table.key_ttype + if table.value_ttype.def_bean.is_abstract_type + value_type = declaring_type_name table.value_ttype + else + value_type = "std::sync::Arc<"+declaring_type_name table.value_ttype+">" + end + name = table.name + map_type = "std::collections::HashMap<"+key_type+", "+value_type+">" +~}} +{{ + + func index_type_name + ret (declaring_type_name $0.type) + end + + func table_union_map_type_name + ret 'std::collections::HashMap<(' + (array.each table.index_list @index_type_name | array.join ', ') + '), ' + value_type + '>' + end + + func table_key_list + varName = $0 + indexList = table.index_list |array.each do; ret varName + '.' + (format_property_name __code_style $0.index_field.name); end; + ret array.join indexList ', ' + end + + func table_param_def_list + paramList = table.index_list |array.each do; ret (declaring_type_name $0.type) + ' ' + $0.index_field.name; end + ret array.join paramList ', ' + end + + func table_param_name_list + paramList = table.index_list |array.each do; ret $0.index_field.name; end + ret array.join paramList ', ' + end +}} +{{~ if table.comment != '' ~}} +///{{table.comment | html.escape}} +{{~end~}} +#[derive(Debug)] +pub struct {{table.name}} { + {{~if table.is_map_table ~}} + pub data_list: Vec<{{value_type}}>, + pub data_map: {{map_type}}, + {{~else if table.is_list_table ~}} + pub data_list: Vec<{{value_type}}>, + {{~if table.is_union_index~}} + pub data_map_union: {{table_union_map_type_name}}, + {{~else if !table.index_list.empty?~}} + {{~for idx in table.index_list~}} + pub data_map_{{idx.index_field.name}}: std::collections::HashMap<{{declaring_type_name idx.type}}, {{value_type}}>, + {{~end~}} + {{~end~}} + {{~else~}} + pub data: {{declaring_type_name table.value_ttype}}, + {{~end~}} +} +{{~if table.is_map_table ~}} + +impl {{name}} { + pub fn new(json: &serde_json::Value) -> Result, LubanError> { + let mut data_map: {{map_type}} = Default::default(); + let mut data_list: Vec<{{value_type}}> = vec![]; + + for x in json.as_array().unwrap() { + {{~ if table.value_ttype.is_bean ~}} + {{deserialize_row "row" "x" table.value_ttype}} + {{~else~}} + let row: {{value_type}} = std::sync::Arc::new(serde_json::from_value(x.clone()).unwrap()); + {{~end~}} + data_list.push(row.clone()); + {{~ if table.value_ttype.def_bean.is_abstract_type ~}} + let key = >::get_base(std::ops::Deref::deref(&row))?; + data_map.insert(key.{{getter_name table.index_field.name}}().clone(), row.clone()); + {{~else~}} + data_map.insert(row.{{table.index_field.name}}.clone(), row.clone()); + {{~end~}} + } + + Ok(std::sync::Arc::new({{name}} { data_map, data_list })) + } + + pub fn get(&self, key: &{{key_type}}) -> Option<{{value_type}}> { + self.data_map.get(key).map(|x| x.clone()) + } +} + +impl std::ops::Index<{{key_type}}> for {{name}} { + type Output = {{value_type}}; + + fn index(&self, index: {{key_type}}) -> &Self::Output { + &self.data_map.get(&index).unwrap() + } +} +{{~else if table.is_list_table ~}} + +impl {{name}} { + pub fn new(json: &serde_json::Value) -> Result, LubanError> { + let mut data_list: Vec<{{value_type}}> = vec![]; + + for x in json.as_array().unwrap() { + {{~ if table.value_ttype.is_bean ~}} + {{deserialize_row "row" "x" table.value_ttype}} + {{~else~}} + let row: {{value_type}} = std::sync::Arc::new(serde_json::from_value(x.clone()).unwrap()); + {{~end~}} + data_list.push(row.clone()); + } + {{~if table.is_union_index~}} + let mut data_map_union: {{table_union_map_type_name}} = Default::default(); + for x in &data_list { + data_map_union.insert(({{table_key_list "x"}}.clone()), x.clone()); + } + {{~else if !table.index_list.empty?~}} + {{~for idx in table.index_list~}} + let mut data_map_{{idx.index_field.name}}: std::collections::HashMap<{{declaring_type_name idx.index_field.ctype}}, {{value_type}}> = Default::default(); + {{~end~}} + for x in &data_list { + {{~for idx in table.index_list~}} + data_map_{{idx.index_field.name}}.insert(x.{{format_property_name __code_style idx.index_field.name}}.clone(), x.clone()); + {{~end~}} + } + {{~end~}} + + Ok(std::sync::Arc::new({{table.name}} { + data_list, +{{~if table.is_union_index~}} + data_map_union, +{{~else if !table.index_list.empty?~}} + {{~for idx in table.index_list~}} + data_map_{{idx.index_field.name}}, + {{~end~}} +{{~end~}} + })) + } + + {{~if table.is_union_index~}} + pub fn get(&self, key: &({{array.each table.index_list @index_type_name | array.join ', '}})) -> Option<{{value_type}}> { + self.data_map_union.get(key).map(|x| x.clone()) + } + {{~else if !table.index_list.empty? ~}} + {{~for idx in table.index_list + index = format_property_name __code_style idx.index_field.name + ~}} + pub fn get_by_{{index}}(&self, key: &{{declaring_type_name idx.type}}) -> Option<{{value_type}}> { + self.data_map_{{index}}.get(key).map(|x| x.clone()) + } + {{~end~}} + {{~end~}} +} +{{~else~}} + +impl {{name}} { + pub fn new(json: &serde_json::Value) -> Result, LubanError> { + let json = json.as_array().unwrap(); + let n = json.len(); + if n != 1 { return Err(LubanError::Table(format!("table mode=one, but size != 1"))); } + let data = {{full_name table.value_ttype.def_bean}}::new(&json[0])?; + Ok(std::sync::Arc::new({{name}} { data })) + } +} +{{~end~}} + +{{~end~}} diff --git a/Luban/Templates/rust-json/toml.sbn b/Luban/Templates/rust-json/toml.sbn new file mode 100644 index 0000000..40870c7 --- /dev/null +++ b/Luban/Templates/rust-json/toml.sbn @@ -0,0 +1,12 @@ +[package] +name = "{{__name}}" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +serde = { version = "1.0.x", features = ["derive"] } +serde_json = "1.0.x" +bitflags = { version = "2.5.x" , features = ["serde"]} +macros = {path = "../macros"} \ No newline at end of file diff --git a/Luban/Templates/typescript-bin/schema.sbn b/Luban/Templates/typescript-bin/schema.sbn new file mode 100644 index 0000000..254a33f --- /dev/null +++ b/Luban/Templates/typescript-bin/schema.sbn @@ -0,0 +1,234 @@ + +import ByteBuf from '../luban/ByteBuf' + +{{~for enum in __enums~}} +{{namespace_with_grace_begin enum.namespace}} +{{~if enum.comment != '' ~}} +/** + * {{enum.comment | html.escape}} + */ +{{~end~}} +export enum {{enum.name}} { + {{~for item in enum.items ~}} +{{~if item.comment != '' ~}} + /** + * {{escape_comment item.comment}} + */ +{{~end~}} + {{item.name}} = {{item.value}}, + {{~end~}} +} + +{{namespace_with_grace_end enum.namespace}} +{{~end~}} + + +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_ref' +end + +func generate_resolve_field_ref + field = $0 + fieldName = format_property_name __code_style field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = refTable.name + if field.is_nullable + ret 'this.'+(get_ref_name field) + ' = this.' + fieldName + '!= null ? tables.' + tableName + '.get(this.' + fieldName + ') : null' + else + ret 'this.'+(get_ref_name field) + ' = tables.' + tableName + '.get(this.' + fieldName + ')' + end + else + if (is_field_bean_need_resolve_ref field) + ret 'this.'+fieldName + '?.resolve(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'for (let _e of ' + 'this.' + fieldName + ') { _e?.resolve(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'for (let [_, _e] of ' + 'this.' + fieldName + ') { _e?.resolve(tables); }' + else + ret '' + end + end +end +~}} + +{{~for bean in __beans~}} + +{{namespace_with_grace_begin bean.namespace}} +{{~if bean.comment != '' ~}} +/** + * {{escape_comment bean.comment}} + */ +{{~end~}} +export {{if bean.is_abstract_type}}abstract {{end}}class {{bean.name}}{{if bean.parent_def_type}} extends {{bean.parent_def_type.full_name}}{{end}} { +{{~if bean.is_abstract_type~}} + static constructorFrom(_buf_: ByteBuf): {{bean.name}}{ + switch (_buf_.readInt()) { + {{~ for child in bean.hierarchy_not_abstract_children~}} + case {{child.id}}: return new {{child.full_name}}(_buf_) + {{~end~}} + default: throw new Error() + } + } +{{~end~}} + + constructor(_buf_: ByteBuf) { + {{~if bean.parent_def_type~}} + super(_buf_) + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{deserialize ('this.' + format_field_name __code_style field.name) '_buf_' field.ctype}} + {{~end~}} + } + + {{~ for field in bean.export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + readonly {{format_field_name __code_style field.name}}: {{declaring_type_name field.ctype}} + {{~if can_generate_ref field~}} + {{get_ref_name field}}: {{declaring_type_name (get_ref_type field)}} | undefined + {{~end~}} + {{~end~}} + + resolve(tables:{{__name}}) { + {{~if bean.parent_def_type~}} + super.resolve(tables) + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{generate_resolve_field_ref field}} + {{~end~}} + } +} + +{{namespace_with_grace_end bean.namespace}} + +{{~end~}} + +{{~for table in __tables + key_type = table.key_ttype + value_type = table.value_ttype +~}} + +{{namespace_with_grace_begin table.namespace}} +{{~if table.comment != '' ~}} +/** + * {{escape_comment table.comment}} + */ +{{~end~}} +export class {{table.name}} { + {{~if table.is_map_table ~}} + private _dataMap: Map<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}> + private _dataList: {{declaring_type_name value_type}}[] + constructor(_buf_: ByteBuf) { + this._dataMap = new Map<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}>() + this._dataList = [] + for(let n = _buf_.readInt(); n > 0; n--) { + let _v: {{declaring_type_name value_type}} + {{deserialize '_v' '_buf_' value_type}} + this._dataList.push(_v) + this._dataMap.set(_v.{{format_field_name __code_style table.index_field.name}}, _v) + } + } + + getDataMap(): Map<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}> { return this._dataMap; } + getDataList(): {{declaring_type_name value_type}}[] { return this._dataList; } + + get(key: {{declaring_type_name key_type}}): {{declaring_type_name value_type}} | undefined { + return this._dataMap.get(key); + } + + resolve(tables:{{__name}}) { + for(let data of this._dataList) + { + data.resolve(tables) + } + } + {{~else if table.is_list_table ~}} + private _dataList: {{declaring_type_name value_type}}[] + + constructor(_buf_: ByteBuf) { + this._dataList = [] + for(let n = _buf_.readInt(); n > 0; n--) { + let _v: {{declaring_type_name value_type}} + {{deserialize '_v' '_buf_' value_type}} + this._dataList.push(_v) + } + } + + getDataList(): {{declaring_type_name value_type}}[] { return this._dataList } + + get(index: number): {{declaring_type_name value_type}} | undefined { return this._dataList[index] } + + resolve(tables:{{__name}}) { + for(let data of this._dataList) + { + data.resolve(tables) + } + } + {{~else~}} + + private _data: {{declaring_type_name value_type}} + constructor(_buf_: ByteBuf) { + if (_buf_.readInt() != 1) throw new Error('table mode=one, but size != 1') + {{deserialize 'this._data' '_buf_' value_type}} + } + + getData(): {{declaring_type_name value_type}} { return this._data; } + + {{~ for field in value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + get {{format_field_name __code_style field.name}}(): {{declaring_type_name field.ctype}} { return this._data.{{format_field_name __code_style field.name}}; } + {{~if can_generate_ref field~}} + get {{format_field_name __code_style field.name}}_ref(): {{declaring_type_name (get_ref_type field)}} | undefined { return this._data.{{format_field_name __code_style field.name}}_ref; } + {{~end~}} + {{~end~}} + + resolve(tables:{{__name}}) { + this._data.resolve(tables) + } + {{end}} +} +{{namespace_with_grace_end table.namespace}} + +{{~end~}} + + +type ByteBufLoader = (file: string) => ByteBuf + +export class {{__name}} { + {{~ for table in __tables ~}} + private _{{table.name}}: {{table.full_name}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + get {{table.name}}(): {{table.full_name}} { return this._{{table.name}};} + {{~end~}} + + static getTableNames(): string[] { + let names: string[] = []; + {{~for table in __tables ~}} + names.push('{{table.output_data_file}}'); + {{~end~}} + return names; + } + + constructor(loader: ByteBufLoader) { + {{~for table in __tables ~}} + this._{{table.name}} = new {{table.full_name}}(loader('{{table.output_data_file}}')) + {{~end~}} + + {{~for table in __tables ~}} + this._{{table.name}}.resolve(this) + {{~end~}} + } +} diff --git a/Luban/Templates/typescript-json/schema.sbn b/Luban/Templates/typescript-json/schema.sbn new file mode 100644 index 0000000..ed79422 --- /dev/null +++ b/Luban/Templates/typescript-json/schema.sbn @@ -0,0 +1,226 @@ + +{{~for enum in __enums~}} +{{namespace_with_grace_begin enum.namespace}} +{{~if enum.comment != '' ~}} +/** + * {{enum.comment | html.escape}} + */ +{{~end~}} +export enum {{enum.name}} { + {{~for item in enum.items ~}} +{{~if item.comment != '' ~}} + /** + * {{escape_comment item.comment}} + */ +{{~end~}} + {{item.name}} = {{item.value}}, + {{~end~}} +} + +{{namespace_with_grace_end enum.namespace}} +{{~end~}} + + +{{~ +func get_ref_name + ret (format_property_name __code_style $0.name) + '_ref' +end + +func generate_resolve_field_ref + field = $0 + fieldName = format_property_name __code_style field.name + refTable = get_ref_table field + if can_generate_ref field + tableName = refTable.name + if field.is_nullable + ret 'this.'+(get_ref_name field) + ' = this.' + fieldName + '!= null ? tables.' + tableName + '.get(this.' + fieldName + ') : null' + else + ret 'this.'+(get_ref_name field) + ' = tables.' + tableName + '.get(this.' + fieldName + ')' + end + else + if (is_field_bean_need_resolve_ref field) + ret 'this.'+fieldName + '?.resolve(tables);' + else if (is_field_array_like_need_resolve_ref field) + ret 'for (let _e of ' + 'this.' + fieldName + ') { _e?.resolve(tables); }' + else if (is_field_map_need_resolve_ref field) + ret 'for (let [_, _e] of ' + 'this.' + fieldName + ') { _e?.resolve(tables); }' + else + ret '' + end + end +end +~}} + +{{~for bean in __beans~}} + +{{namespace_with_grace_begin bean.namespace}} +{{~if bean.comment != '' ~}} +/** + * {{escape_comment bean.comment}} + */ +{{~end~}} +export {{if bean.is_abstract_type}}abstract {{end}}class {{bean.name}}{{if bean.parent_def_type}} extends {{bean.parent_def_type.full_name}}{{end}} { +{{~if bean.is_abstract_type~}} + static constructorFrom(_json_: any): {{bean.name}}{ + switch (_json_["$type"]) { + {{~ for child in bean.hierarchy_not_abstract_children~}} + case '{{impl_data_type child bean}}': return new {{child.full_name}}(_json_) + {{~end~}} + default: throw new Error() + } + } +{{~end~}} + + constructor(_json_: any) { + {{~if bean.parent_def_type~}} + super(_json_) + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{~if !field.ctype.is_nullable~}} + if (_json_.{{field.name}} === undefined) { throw new Error() } + {{~end~}} + {{deserialize ('this.' + format_field_name __code_style field.name) ( '_json_.' + field.name) field.ctype}} + {{~end~}} + } + + {{~ for field in bean.export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + readonly {{format_field_name __code_style field.name}}: {{declaring_type_name field.ctype}} + {{~if can_generate_ref field~}} + {{get_ref_name field}}: {{declaring_type_name (get_ref_type field)}} | undefined + {{~end~}} + {{~end~}} + + resolve(tables:{{__name}}) { + {{~if bean.parent_def_type~}} + super.resolve(tables) + {{~end~}} + {{~ for field in bean.export_fields ~}} + {{generate_resolve_field_ref field}} + {{~end~}} + } +} + +{{namespace_with_grace_end bean.namespace}} + +{{~end~}} + +{{~for table in __tables + key_type = table.key_ttype + value_type = table.value_ttype +~}} + +{{namespace_with_grace_begin table.namespace}} +{{~if table.comment != '' ~}} +/** + * {{escape_comment table.comment}} + */ +{{~end~}} +export class {{table.name}} { + {{~if table.is_map_table ~}} + private _dataMap: Map<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}> + private _dataList: {{declaring_type_name value_type}}[] + constructor(_json_: any) { + this._dataMap = new Map<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}>() + this._dataList = [] + for(var _json2_ of _json_) { + let _v: {{declaring_type_name value_type}} + {{deserialize '_v' '_json2_' value_type}} + this._dataList.push(_v) + this._dataMap.set(_v.{{format_field_name __code_style table.index_field.name}}, _v) + } + } + + getDataMap(): Map<{{declaring_type_name key_type}}, {{declaring_type_name value_type}}> { return this._dataMap; } + getDataList(): {{declaring_type_name value_type}}[] { return this._dataList; } + + get(key: {{declaring_type_name key_type}}): {{declaring_type_name value_type}} | undefined { return this._dataMap.get(key); } + + resolve(tables:{{__name}}) { + for(let data of this._dataList) + { + data.resolve(tables) + } + } + {{~else if table.is_list_table ~}} + private _dataList: {{declaring_type_name value_type}}[] + + constructor(_json_: any) { + this._dataList = [] + for(var _json2_ of _json_) { + let _v: {{declaring_type_name value_type}} + {{deserialize '_v' '_json2_' value_type}} + this._dataList.push(_v) + } + } + + getDataList(): {{declaring_type_name value_type}}[] { return this._dataList } + + get(index: number): {{declaring_type_name value_type}} | undefined { return this._dataList[index] } + + resolve(tables:{{__name}}) { + for(let data of this._dataList) + { + data.resolve(tables) + } + } + {{~else~}} + + private _data: {{declaring_type_name value_type}} + constructor(_json_: any) { + if (_json_.length != 1) throw new Error('table mode=one, but size != 1') + {{deserialize 'this._data' '_json_[0]' value_type}} + } + + getData(): {{declaring_type_name value_type}} { return this._data; } + + {{~ for field in value_type.def_bean.hierarchy_export_fields ~}} +{{~if field.comment != '' ~}} + /** + * {{escape_comment field.comment}} + */ +{{~end~}} + get {{format_field_name __code_style field.name}}(): {{declaring_type_name field.ctype}} { return this._data.{{format_field_name __code_style field.name}}; } + {{~if can_generate_ref field~}} + get {{format_field_name __code_style field.name}}_ref(): {{declaring_type_name (get_ref_type field)}} | undefined { return this._data.{{format_field_name __code_style field.name}}_ref; } + {{~end~}} + {{~end~}} + + resolve(tables:{{__name}}) + { + this._data.resolve(tables) + } + {{end}} +} +{{namespace_with_grace_end table.namespace}} + +{{~end~}} + + +type JsonLoader = (file: string) => any + +export class {{__name}} { + {{~ for table in __tables ~}} + private _{{table.name}}: {{table.full_name}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + get {{table.name}}(): {{table.full_name}} { return this._{{table.name}};} + {{~end~}} + + constructor(loader: JsonLoader) { + {{~for table in __tables ~}} + this._{{table.name}} = new {{table.full_name}}(loader('{{table.output_data_file}}')) + {{~end~}} + + {{~for table in __tables ~}} + this._{{table.name}}.resolve(this) + {{~end~}} + } +} diff --git a/Luban/Templates/typescript-protobuf/schema.sbn b/Luban/Templates/typescript-protobuf/schema.sbn new file mode 100644 index 0000000..0538d7b --- /dev/null +++ b/Luban/Templates/typescript-protobuf/schema.sbn @@ -0,0 +1,31 @@ +import pb from 'pb'; + +type BufLoader = (file: string) => Uint8Array; + +export class {{__name}} { + {{~ for table in __tables ~}} + private _{{table.name}}: pb.cfg.{{table.name}} +{{~if table.comment != '' ~}} + /** + * {{escape_comment table.comment}} + */ +{{~end~}} + get {{table.name}}(): pb.cfg.{{table.name}} { return this._{{table.name}};} + {{~end~}} + + static getTableNames(): string[] { + let names: string[] = []; + {{~for table in __tables ~}} + names.push('{{table.output_data_file}}'); + {{~end~}} + return names; + } + + constructor(loader: BufLoader) { + let buffer: Uint8Array; + {{~for table in __tables ~}} + buffer = loader('{{table.output_data_file}}'); + this._{{table.name}} = pb.cfg.{{table.name}}.decode(buffer, buffer.length); + {{~end~}} + } +} diff --git a/Luban/Ude.NetStandard.dll b/Luban/Ude.NetStandard.dll new file mode 100644 index 0000000..2cb9b2f Binary files /dev/null and b/Luban/Ude.NetStandard.dll differ diff --git a/Luban/YamlDotNet.NetCore.dll b/Luban/YamlDotNet.NetCore.dll new file mode 100644 index 0000000..1c598d7 Binary files /dev/null and b/Luban/YamlDotNet.NetCore.dll differ diff --git a/Luban/de/Neo.Lua.resources.dll b/Luban/de/Neo.Lua.resources.dll new file mode 100644 index 0000000..69bb385 Binary files /dev/null and b/Luban/de/Neo.Lua.resources.dll differ diff --git a/Luban/nlog.xml b/Luban/nlog.xml new file mode 100644 index 0000000..8c390bc --- /dev/null +++ b/Luban/nlog.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/NBConfigBuilder/EPPlus.Interfaces.dll b/NBConfigBuilder/EPPlus.Interfaces.dll deleted file mode 100644 index 8a69f81..0000000 Binary files a/NBConfigBuilder/EPPlus.Interfaces.dll and /dev/null differ diff --git a/NBConfigBuilder/EPPlus.dll b/NBConfigBuilder/EPPlus.dll deleted file mode 100644 index 6628025..0000000 Binary files a/NBConfigBuilder/EPPlus.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.CodeAnalysis.CSharp.dll b/NBConfigBuilder/Microsoft.CodeAnalysis.CSharp.dll deleted file mode 100644 index e2821ad..0000000 Binary files a/NBConfigBuilder/Microsoft.CodeAnalysis.CSharp.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.CodeAnalysis.dll b/NBConfigBuilder/Microsoft.CodeAnalysis.dll deleted file mode 100644 index d3f985e..0000000 Binary files a/NBConfigBuilder/Microsoft.CodeAnalysis.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.Extensions.Configuration.Abstractions.dll b/NBConfigBuilder/Microsoft.Extensions.Configuration.Abstractions.dll deleted file mode 100644 index a5ab313..0000000 Binary files a/NBConfigBuilder/Microsoft.Extensions.Configuration.Abstractions.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.Extensions.Configuration.FileExtensions.dll b/NBConfigBuilder/Microsoft.Extensions.Configuration.FileExtensions.dll deleted file mode 100644 index 19d8f5c..0000000 Binary files a/NBConfigBuilder/Microsoft.Extensions.Configuration.FileExtensions.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.Extensions.Configuration.Json.dll b/NBConfigBuilder/Microsoft.Extensions.Configuration.Json.dll deleted file mode 100644 index 9e50db0..0000000 Binary files a/NBConfigBuilder/Microsoft.Extensions.Configuration.Json.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.Extensions.Configuration.dll b/NBConfigBuilder/Microsoft.Extensions.Configuration.dll deleted file mode 100644 index d3e5c22..0000000 Binary files a/NBConfigBuilder/Microsoft.Extensions.Configuration.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.Extensions.FileProviders.Abstractions.dll b/NBConfigBuilder/Microsoft.Extensions.FileProviders.Abstractions.dll deleted file mode 100644 index f907206..0000000 Binary files a/NBConfigBuilder/Microsoft.Extensions.FileProviders.Abstractions.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.Extensions.FileProviders.Physical.dll b/NBConfigBuilder/Microsoft.Extensions.FileProviders.Physical.dll deleted file mode 100644 index 6fb7f47..0000000 Binary files a/NBConfigBuilder/Microsoft.Extensions.FileProviders.Physical.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.Extensions.FileSystemGlobbing.dll b/NBConfigBuilder/Microsoft.Extensions.FileSystemGlobbing.dll deleted file mode 100644 index e590735..0000000 Binary files a/NBConfigBuilder/Microsoft.Extensions.FileSystemGlobbing.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.Extensions.Primitives.dll b/NBConfigBuilder/Microsoft.Extensions.Primitives.dll deleted file mode 100644 index c24f2a0..0000000 Binary files a/NBConfigBuilder/Microsoft.Extensions.Primitives.dll and /dev/null differ diff --git a/NBConfigBuilder/Microsoft.IO.RecyclableMemoryStream.dll b/NBConfigBuilder/Microsoft.IO.RecyclableMemoryStream.dll deleted file mode 100644 index 6e0ea40..0000000 Binary files a/NBConfigBuilder/Microsoft.IO.RecyclableMemoryStream.dll and /dev/null differ diff --git a/NBConfigBuilder/NBConfigBuilder.deps.json b/NBConfigBuilder/NBConfigBuilder.deps.json deleted file mode 100644 index 804b791..0000000 --- a/NBConfigBuilder/NBConfigBuilder.deps.json +++ /dev/null @@ -1,516 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v8.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v8.0": { - "NBConfigBuilder/1.0.0": { - "dependencies": { - "EPPlus": "8.2.0", - "Microsoft.CodeAnalysis.CSharp": "4.14.0", - "NLog": "6.0.4", - "Newtonsoft.Json": "13.0.4", - "protobuf-net": "3.2.56" - }, - "runtime": { - "NBConfigBuilder.dll": {} - } - }, - "EPPlus/8.2.0": { - "dependencies": { - "EPPlus.Interfaces": "8.1.0", - "Microsoft.Extensions.Configuration.Json": "8.0.1", - "Microsoft.IO.RecyclableMemoryStream": "3.0.1", - "System.ComponentModel.Annotations": "5.0.0", - "System.Security.Cryptography.Pkcs": "8.0.1", - "System.Security.Cryptography.Xml": "8.0.2", - "System.Text.Encoding.CodePages": "8.0.0" - }, - "runtime": { - "lib/net8.0/EPPlus.dll": { - "assemblyVersion": "8.2.0.0", - "fileVersion": "8.2.0.0" - } - } - }, - "EPPlus.Interfaces/8.1.0": { - "runtime": { - "lib/net8.0/EPPlus.Interfaces.dll": { - "assemblyVersion": "8.1.0.0", - "fileVersion": "8.1.0.0" - } - } - }, - "Microsoft.CodeAnalysis.Analyzers/3.11.0": {}, - "Microsoft.CodeAnalysis.Common/4.14.0": { - "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "3.11.0", - "System.Collections.Immutable": "9.0.0", - "System.Reflection.Metadata": "9.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.CodeAnalysis.dll": { - "assemblyVersion": "4.14.0.0", - "fileVersion": "4.1400.25.26210" - } - }, - "resources": { - "lib/net8.0/cs/Microsoft.CodeAnalysis.resources.dll": { - "locale": "cs" - }, - "lib/net8.0/de/Microsoft.CodeAnalysis.resources.dll": { - "locale": "de" - }, - "lib/net8.0/es/Microsoft.CodeAnalysis.resources.dll": { - "locale": "es" - }, - "lib/net8.0/fr/Microsoft.CodeAnalysis.resources.dll": { - "locale": "fr" - }, - "lib/net8.0/it/Microsoft.CodeAnalysis.resources.dll": { - "locale": "it" - }, - "lib/net8.0/ja/Microsoft.CodeAnalysis.resources.dll": { - "locale": "ja" - }, - "lib/net8.0/ko/Microsoft.CodeAnalysis.resources.dll": { - "locale": "ko" - }, - "lib/net8.0/pl/Microsoft.CodeAnalysis.resources.dll": { - "locale": "pl" - }, - "lib/net8.0/pt-BR/Microsoft.CodeAnalysis.resources.dll": { - "locale": "pt-BR" - }, - "lib/net8.0/ru/Microsoft.CodeAnalysis.resources.dll": { - "locale": "ru" - }, - "lib/net8.0/tr/Microsoft.CodeAnalysis.resources.dll": { - "locale": "tr" - }, - "lib/net8.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll": { - "locale": "zh-Hans" - }, - "lib/net8.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll": { - "locale": "zh-Hant" - } - } - }, - "Microsoft.CodeAnalysis.CSharp/4.14.0": { - "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "3.11.0", - "Microsoft.CodeAnalysis.Common": "4.14.0", - "System.Collections.Immutable": "9.0.0", - "System.Reflection.Metadata": "9.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.CodeAnalysis.CSharp.dll": { - "assemblyVersion": "4.14.0.0", - "fileVersion": "4.1400.25.26210" - } - }, - "resources": { - "lib/net8.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "cs" - }, - "lib/net8.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "de" - }, - "lib/net8.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "es" - }, - "lib/net8.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "fr" - }, - "lib/net8.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "it" - }, - "lib/net8.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "ja" - }, - "lib/net8.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "ko" - }, - "lib/net8.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "pl" - }, - "lib/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "pt-BR" - }, - "lib/net8.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "ru" - }, - "lib/net8.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "tr" - }, - "lib/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "zh-Hans" - }, - "lib/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll": { - "locale": "zh-Hant" - } - } - }, - "Microsoft.Extensions.Configuration/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.FileExtensions/8.0.1": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.724.31311" - } - } - }, - "Microsoft.Extensions.Configuration.Json/8.0.1": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.1", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - } - }, - "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.FileProviders.Physical/8.0.0": { - "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.Primitives.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.IO.RecyclableMemoryStream/3.0.1": { - "runtime": { - "lib/net6.0/Microsoft.IO.RecyclableMemoryStream.dll": { - "assemblyVersion": "3.0.1.0", - "fileVersion": "3.0.1.0" - } - } - }, - "Newtonsoft.Json/13.0.4": { - "runtime": { - "lib/net6.0/Newtonsoft.Json.dll": { - "assemblyVersion": "13.0.0.0", - "fileVersion": "13.0.4.30916" - } - } - }, - "NLog/6.0.4": { - "runtime": { - "lib/netstandard2.1/NLog.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.4.4534" - } - } - }, - "protobuf-net/3.2.56": { - "dependencies": { - "protobuf-net.Core": "3.2.56" - }, - "runtime": { - "lib/net8.0/protobuf-net.dll": { - "assemblyVersion": "3.0.0.0", - "fileVersion": "3.2.56.57311" - } - } - }, - "protobuf-net.Core/3.2.56": { - "runtime": { - "lib/net8.0/protobuf-net.Core.dll": { - "assemblyVersion": "3.0.0.0", - "fileVersion": "3.2.56.57311" - } - } - }, - "System.Collections.Immutable/9.0.0": { - "runtime": { - "lib/net8.0/System.Collections.Immutable.dll": { - "assemblyVersion": "9.0.0.0", - "fileVersion": "9.0.24.52809" - } - } - }, - "System.ComponentModel.Annotations/5.0.0": {}, - "System.Reflection.Metadata/9.0.0": { - "dependencies": { - "System.Collections.Immutable": "9.0.0" - }, - "runtime": { - "lib/net8.0/System.Reflection.Metadata.dll": { - "assemblyVersion": "9.0.0.0", - "fileVersion": "9.0.24.52809" - } - } - }, - "System.Security.Cryptography.Pkcs/8.0.1": { - "runtime": { - "lib/net8.0/System.Security.Cryptography.Pkcs.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - }, - "runtimeTargets": { - "runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll": { - "rid": "win", - "assetType": "runtime", - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - } - }, - "System.Security.Cryptography.Xml/8.0.2": { - "dependencies": { - "System.Security.Cryptography.Pkcs": "8.0.1" - }, - "runtime": { - "lib/net8.0/System.Security.Cryptography.Xml.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.1024.46610" - } - } - }, - "System.Text.Encoding.CodePages/8.0.0": {} - } - }, - "libraries": { - "NBConfigBuilder/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "EPPlus/8.2.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UFAjVAP4UyR9rPL/adHw1uezX1gDbt2mM7Bkb7cMmqbw51y0HFKyLoHpsjvNzKRL/u05vW4pHJAmkuvrPBcgSw==", - "path": "epplus/8.2.0", - "hashPath": "epplus.8.2.0.nupkg.sha512" - }, - "EPPlus.Interfaces/8.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Nfc7ehsn8Sb8Ed8KYYuOxqt8gWqmy2Vhts5nfLMw3zISi+aZFwyW+k9s3FOpVuW91VDSrhVAId9brYtz9NnmKA==", - "path": "epplus.interfaces/8.1.0", - "hashPath": "epplus.interfaces.8.1.0.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.Analyzers/3.11.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg==", - "path": "microsoft.codeanalysis.analyzers/3.11.0", - "hashPath": "microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.Common/4.14.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==", - "path": "microsoft.codeanalysis.common/4.14.0", - "hashPath": "microsoft.codeanalysis.common.4.14.0.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.CSharp/4.14.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==", - "path": "microsoft.codeanalysis.csharp/4.14.0", - "hashPath": "microsoft.codeanalysis.csharp.4.14.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", - "path": "microsoft.extensions.configuration/8.0.0", - "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", - "path": "microsoft.extensions.configuration.abstractions/8.0.0", - "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.FileExtensions/8.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-EJzSNO9oaAXnTdtdNO6npPRsIIeZCBSNmdQ091VDO7fBiOtJAAeEq6dtrVXIi3ZyjC5XRSAtVvF8SzcneRHqKQ==", - "path": "microsoft.extensions.configuration.fileextensions/8.0.1", - "hashPath": "microsoft.extensions.configuration.fileextensions.8.0.1.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.Json/8.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-L89DLNuimOghjV3tLx0ArFDwVEJD6+uGB3BMCMX01kaLzXkaXHb2021xOMl2QOxUxbdePKUZsUY7n2UUkycjRg==", - "path": "microsoft.extensions.configuration.json/8.0.1", - "hashPath": "microsoft.extensions.configuration.json.8.0.1.nupkg.sha512" - }, - "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", - "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", - "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.FileProviders.Physical/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", - "path": "microsoft.extensions.fileproviders.physical/8.0.0", - "hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==", - "path": "microsoft.extensions.filesystemglobbing/8.0.0", - "hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", - "path": "microsoft.extensions.primitives/8.0.0", - "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" - }, - "Microsoft.IO.RecyclableMemoryStream/3.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-s/s20YTVY9r9TPfTrN5g8zPF1YhwxyqO6PxUkrYTGI2B+OGPe9AdajWZrLhFqXIvqIW23fnUE4+ztrUWNU1+9g==", - "path": "microsoft.io.recyclablememorystream/3.0.1", - "hashPath": "microsoft.io.recyclablememorystream.3.0.1.nupkg.sha512" - }, - "Newtonsoft.Json/13.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", - "path": "newtonsoft.json/13.0.4", - "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" - }, - "NLog/6.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==", - "path": "nlog/6.0.4", - "hashPath": "nlog.6.0.4.nupkg.sha512" - }, - "protobuf-net/3.2.56": { - "type": "package", - "serviceable": true, - "sha512": "sha512-4IPJeTYAMNewlN8MDaFkcmR/9hLhJeo9eARnTh104zh7mf+vXT2gu5MUfUnkSQU+CH578Q6vcdU7LQDQPG6eaw==", - "path": "protobuf-net/3.2.56", - "hashPath": "protobuf-net.3.2.56.nupkg.sha512" - }, - "protobuf-net.Core/3.2.56": { - "type": "package", - "serviceable": true, - "sha512": "sha512-d6QOukTpDzs7zZv9tPnBZMtvHDNeHJQXUhMx54g4urUQsXK3oo9U70H9HvklYq7hlQ4A7AHJl7EVEqyCXXIl8Q==", - "path": "protobuf-net.core/3.2.56", - "hashPath": "protobuf-net.core.3.2.56.nupkg.sha512" - }, - "System.Collections.Immutable/9.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-QhkXUl2gNrQtvPmtBTQHb0YsUrDiDQ2QS09YbtTTiSjGcf7NBqtYbrG/BE06zcBPCKEwQGzIv13IVdXNOSub2w==", - "path": "system.collections.immutable/9.0.0", - "hashPath": "system.collections.immutable.9.0.0.nupkg.sha512" - }, - "System.ComponentModel.Annotations/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==", - "path": "system.componentmodel.annotations/5.0.0", - "hashPath": "system.componentmodel.annotations.5.0.0.nupkg.sha512" - }, - "System.Reflection.Metadata/9.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==", - "path": "system.reflection.metadata/9.0.0", - "hashPath": "system.reflection.metadata.9.0.0.nupkg.sha512" - }, - "System.Security.Cryptography.Pkcs/8.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-CoCRHFym33aUSf/NtWSVSZa99dkd0Hm7OCZUxORBjRB16LNhIEOf8THPqzIYlvKM0nNDAPTRBa1FxEECrgaxxA==", - "path": "system.security.cryptography.pkcs/8.0.1", - "hashPath": "system.security.cryptography.pkcs.8.0.1.nupkg.sha512" - }, - "System.Security.Cryptography.Xml/8.0.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-aDM/wm0ZGEZ6ZYJLzgqjp2FZdHbDHh6/OmpGfb7AdZ105zYmPn/83JRU2xLIbwgoNz9U1SLUTJN0v5th3qmvjA==", - "path": "system.security.cryptography.xml/8.0.2", - "hashPath": "system.security.cryptography.xml.8.0.2.nupkg.sha512" - }, - "System.Text.Encoding.CodePages/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==", - "path": "system.text.encoding.codepages/8.0.0", - "hashPath": "system.text.encoding.codepages.8.0.0.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/NBConfigBuilder/NBConfigBuilder.dll b/NBConfigBuilder/NBConfigBuilder.dll deleted file mode 100644 index 50e9687..0000000 Binary files a/NBConfigBuilder/NBConfigBuilder.dll and /dev/null differ diff --git a/NBConfigBuilder/NBConfigBuilder.pdb b/NBConfigBuilder/NBConfigBuilder.pdb deleted file mode 100644 index 54cc7a1..0000000 Binary files a/NBConfigBuilder/NBConfigBuilder.pdb and /dev/null differ diff --git a/NBConfigBuilder/NBConfigBuilder.runtimeconfig.json b/NBConfigBuilder/NBConfigBuilder.runtimeconfig.json deleted file mode 100644 index b2dedf3..0000000 --- a/NBConfigBuilder/NBConfigBuilder.runtimeconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "runtimeOptions": { - "tfm": "net8.0", - "frameworks": [ - { - "name": "Microsoft.NETCore.App", - "version": "8.0.0" - }, - { - "name": "Microsoft.WindowsDesktop.App", - "version": "8.0.0" - } - ], - "configProperties": { - "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true, - "CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false - } - } -} \ No newline at end of file diff --git a/NBConfigBuilder/NLog.config b/NBConfigBuilder/NLog.config deleted file mode 100644 index 4bd1557..0000000 --- a/NBConfigBuilder/NLog.config +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/NBConfigBuilder/NLog.dll b/NBConfigBuilder/NLog.dll deleted file mode 100644 index 1d15c30..0000000 Binary files a/NBConfigBuilder/NLog.dll and /dev/null differ diff --git a/NBConfigBuilder/Newtonsoft.Json.dll b/NBConfigBuilder/Newtonsoft.Json.dll deleted file mode 100644 index 5813d8c..0000000 Binary files a/NBConfigBuilder/Newtonsoft.Json.dll and /dev/null differ diff --git a/NBConfigBuilder/System.Collections.Immutable.dll b/NBConfigBuilder/System.Collections.Immutable.dll deleted file mode 100644 index 9db8140..0000000 Binary files a/NBConfigBuilder/System.Collections.Immutable.dll and /dev/null differ diff --git a/NBConfigBuilder/System.Reflection.Metadata.dll b/NBConfigBuilder/System.Reflection.Metadata.dll deleted file mode 100644 index 2366da2..0000000 Binary files a/NBConfigBuilder/System.Reflection.Metadata.dll and /dev/null differ diff --git a/NBConfigBuilder/System.Security.Cryptography.Pkcs.dll b/NBConfigBuilder/System.Security.Cryptography.Pkcs.dll deleted file mode 100644 index e521fd3..0000000 Binary files a/NBConfigBuilder/System.Security.Cryptography.Pkcs.dll and /dev/null differ diff --git a/NBConfigBuilder/System.Security.Cryptography.Xml.dll b/NBConfigBuilder/System.Security.Cryptography.Xml.dll deleted file mode 100644 index 1cb01ca..0000000 Binary files a/NBConfigBuilder/System.Security.Cryptography.Xml.dll and /dev/null differ diff --git a/NBConfigBuilder/TemplateBack.txt b/NBConfigBuilder/TemplateBack.txt deleted file mode 100644 index ebbd5d3..0000000 --- a/NBConfigBuilder/TemplateBack.txt +++ /dev/null @@ -1,96 +0,0 @@ -using System; -using ProtoBuf; -using Fantasy; -using System.Linq; -using System.Reflection; -using System.Collections.Generic; -using System.Collections.Concurrent; -#if FANTASY_NET -using Fantasy.ConfigTable; -using Fantasy.Serialize; -#else -using NBC; -using NBC.Serialize; -#endif -// ReSharper disable CollectionNeverUpdated.Global -// ReSharper disable UnusedAutoPropertyAccessor.Global -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member -#pragma warning disable CS0169 -#pragma warning disable CS8618 -#pragma warning disable CS8625 -#pragma warning disable CS8603 - -namespace (namespace) -{ - [ProtoContract] - public sealed partial class (ConfigName)Data : ASerialize, IConfigTable, IProto - { - [ProtoMember(1)] - public List<(ConfigName)> List { get; set; } = new List<(ConfigName)>(); -#if FANTASY_NET - [ProtoIgnore] - private readonly ConcurrentDictionary _configs = new ConcurrentDictionary(); -#else - [ProtoIgnore] - private readonly Dictionary _configs = new Dictionary(); -#endif - private static (ConfigName)Data _instance = null; - - public static (ConfigName)Data Instance - { - get { return _instance ??= ConfigTableHelper.Load<(ConfigName)Data>(); } - private set => _instance = value; - } - - public (ConfigName) Get(uint id, bool check = true) - { - if (_configs.ContainsKey(id)) - { - return _configs[id]; - } - - if (check) - { - throw new Exception($"(ConfigName) not find {id} Id"); - } - - return null; - } - public bool TryGet(uint id, out (ConfigName) config) - { - config = null; - - if (!_configs.ContainsKey(id)) - { - return false; - } - - config = _configs[id]; - return true; - } - public override void AfterDeserialization() - { - foreach (var config in List) - { -#if FANTASY_NET - _configs.TryAdd(config.Id, config); -#else - _configs.Add(config.Id, config); -#endif - config.AfterDeserialization(); - } - - EndInit(); - } - - public override void Dispose() - { - Instance = null; - } - } - - [ProtoContract] - public sealed partial class (ConfigName) : ASerialize, IProto - {(Fields) - } -} \ No newline at end of file diff --git a/NBConfigBuilder/TemplateClient.txt b/NBConfigBuilder/TemplateClient.txt deleted file mode 100644 index 6136232..0000000 --- a/NBConfigBuilder/TemplateClient.txt +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using Fantasy; -using System.Linq; -using System.Reflection; -using System.Collections.Generic; -using System.Collections.Concurrent; -using NBC; -using Fantasy.Serialize; -using LightProto; - -namespace NBF -{ - [ProtoContract] - public sealed partial class (ConfigName) : ASerialize, IConfigTable - { - (Fields) - [ProtoIgnore] - public uint Key => Id; - - #region Static - - private static ConfigContext<(ConfigName)> Context => ConfigTableHelper.Table<(ConfigName)>(); - - public static (ConfigName) Get(uint key) - { - return Context.Get(key); - } - - public static (ConfigName) Get(Predicate<(ConfigName)> match) - { - return Context.Get(match); - } - - public static (ConfigName) Fist() - { - return Context.Fist(); - } - - public static (ConfigName) Last() - { - return Context.Last(); - } - - public static (ConfigName) Fist(Predicate<(ConfigName)> match) - { - return Context.Fist(match); - } - - public static (ConfigName) Last(Predicate<(ConfigName)> match) - { - return Context.Last(match); - } - - public static int Count() - { - return Context.Count(); - } - - public static int Count(Func<(ConfigName), bool> predicate) - { - return Context.Count(predicate); - } - - public static List<(ConfigName)> GetList() - { - return Context.GetList(); - } - - public static List<(ConfigName)> GetList(Predicate<(ConfigName)> match) - { - return Context.GetList(match); - } - public static void ParseJson(Newtonsoft.Json.Linq.JArray arr) - { - ConfigTableHelper.ParseLine<(ConfigName)>(arr); - } - #endregion - } -} \ No newline at end of file diff --git a/NBConfigBuilder/TemplateServer.txt b/NBConfigBuilder/TemplateServer.txt deleted file mode 100644 index 69c4016..0000000 --- a/NBConfigBuilder/TemplateServer.txt +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using LightProto; -using Fantasy; -using System.Linq; -using System.Reflection; -using System.Collections.Generic; -using System.Collections.Concurrent; -using Fantasy.Serialize; -using NBF.ConfigTable; - -namespace NBF -{ - [ProtoContract] - public sealed partial class (ConfigName) : ASerialize, IConfigTable - { - (Fields) - [ProtoIgnore] - public uint Key => Id; - - #region Static - - private static ConfigContext<(ConfigName)> Context => ConfigTableHelper.Table<(ConfigName)>(); - - public static (ConfigName) Get(uint key) - { - return Context.Get(key); - } - - public static (ConfigName) Get(Predicate<(ConfigName)> match) - { - return Context.Get(match); - } - - public static (ConfigName) Fist() - { - return Context.Fist(); - } - - public static (ConfigName) Last() - { - return Context.Last(); - } - - public static (ConfigName) Fist(Predicate<(ConfigName)> match) - { - return Context.Fist(match); - } - - public static (ConfigName) Last(Predicate<(ConfigName)> match) - { - return Context.Last(match); - } - - public static int Count() - { - return Context.Count(); - } - - public static int Count(Func<(ConfigName), bool> predicate) - { - return Context.Count(predicate); - } - - public static List<(ConfigName)> GetList() - { - return Context.GetList(); - } - - public static List<(ConfigName)> GetList(Predicate<(ConfigName)> match) - { - return Context.GetList(match); - } - public static void ParseJson(Newtonsoft.Json.Linq.JArray arr) - { - ConfigTableHelper.ParseLine<(ConfigName)>(arr); - } - #endregion - } -} \ No newline at end of file diff --git a/NBConfigBuilder/config - 副本.json b/NBConfigBuilder/config - 副本.json deleted file mode 100644 index 4891ac6..0000000 --- a/NBConfigBuilder/config - 副本.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ExcelPath": "D:\\work\\Fishing2\\Config", - "ClientPath": "D:\\work\\Fishing2\\Assets\\Scripts\\Generate\\Config", - "ClientJsonPath": "D:\\work\\Fishing2\\Assets\\Resources\\config", - "ServerPath": "D:\\work\\Fishing2Server\\Entity\\Generate\\ConfigTable\\Entity", - "ServerJsonPath": "D:\\work\\Fishing2Server\\Config\\Json", - "GenClient": true, - "GenServer": true, - "ExcelVersionPath": "D:\\work\\Fishing2\\Config\\Version.txt" -} \ No newline at end of file diff --git a/NBConfigBuilder/config.json b/NBConfigBuilder/config.json deleted file mode 100644 index 32e0c96..0000000 --- a/NBConfigBuilder/config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ExcelPath": "..\\", - "ClientPath": "..\\..\\Fishing2\\Assets\\Scripts\\Generate\\Config", - "ClientJsonPath": "..\\..\\Fishing2\\Assets\\Resources\\config", - "ServerPath": "..\\..\\Fishing2Server\\Entity\\Generate\\ConfigTable\\Entity", - "ServerJsonPath": "..\\..\\Fishing2Server\\Main", - "GenClient": true, - "GenServer": true, - "ExcelVersionPath": "..\\Version.txt" -} \ No newline at end of file diff --git a/NBConfigBuilder/cs/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/cs/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 67560d7..0000000 Binary files a/NBConfigBuilder/cs/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/cs/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/cs/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 155bcce..0000000 Binary files a/NBConfigBuilder/cs/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/de/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/de/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index daca134..0000000 Binary files a/NBConfigBuilder/de/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/de/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/de/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 0613dde..0000000 Binary files a/NBConfigBuilder/de/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/es/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/es/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 6528338..0000000 Binary files a/NBConfigBuilder/es/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/es/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/es/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 1d20ff2..0000000 Binary files a/NBConfigBuilder/es/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/fr/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/fr/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index d5d4b24..0000000 Binary files a/NBConfigBuilder/fr/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/fr/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/fr/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index e7aee2a..0000000 Binary files a/NBConfigBuilder/fr/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/it/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/it/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 57a91a7..0000000 Binary files a/NBConfigBuilder/it/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/it/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/it/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 78cb09d..0000000 Binary files a/NBConfigBuilder/it/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/ja/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/ja/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index a301df0..0000000 Binary files a/NBConfigBuilder/ja/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/ja/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/ja/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 77a390c..0000000 Binary files a/NBConfigBuilder/ja/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/ko/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/ko/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 5108385..0000000 Binary files a/NBConfigBuilder/ko/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/ko/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/ko/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 3c56215..0000000 Binary files a/NBConfigBuilder/ko/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/logs/2025-10-19.log b/NBConfigBuilder/logs/2025-10-19.log deleted file mode 100644 index 499b421..0000000 --- a/NBConfigBuilder/logs/2025-10-19.log +++ /dev/null @@ -1,3 +0,0 @@ -2025-10-19 20:08:15.9571 INFO Application started -2025-10-19 20:09:51.7518 INFO Application closing -2025-10-19 20:09:59.2390 INFO Application started diff --git a/NBConfigBuilder/logs/2025-10-21.log b/NBConfigBuilder/logs/2025-10-21.log deleted file mode 100644 index 256ad00..0000000 --- a/NBConfigBuilder/logs/2025-10-21.log +++ /dev/null @@ -1 +0,0 @@ -2025-10-21 22:43:24.1482 INFO Application started diff --git a/NBConfigBuilder/logs/2025-10-29.log b/NBConfigBuilder/logs/2025-10-29.log deleted file mode 100644 index 0146bf9..0000000 --- a/NBConfigBuilder/logs/2025-10-29.log +++ /dev/null @@ -1 +0,0 @@ -2025-10-29 21:37:12.6535 INFO Application started diff --git a/NBConfigBuilder/logs/2025-10-31.log b/NBConfigBuilder/logs/2025-10-31.log deleted file mode 100644 index c87443f..0000000 --- a/NBConfigBuilder/logs/2025-10-31.log +++ /dev/null @@ -1,4 +0,0 @@ -2025-10-31 22:34:48.9949 INFO Application started -2025-10-31 22:44:35.8362 INFO Application started -2025-10-31 22:45:20.2602 INFO Application closing -2025-10-31 22:47:03.4779 INFO Application started diff --git a/NBConfigBuilder/logs/2025-11-16.log b/NBConfigBuilder/logs/2025-11-16.log deleted file mode 100644 index f92cf34..0000000 --- a/NBConfigBuilder/logs/2025-11-16.log +++ /dev/null @@ -1,2 +0,0 @@ -2025-11-16 16:09:02.3819 INFO Application started -2025-11-16 19:29:36.1699 INFO Application closing diff --git a/NBConfigBuilder/logs/2025-11-22.log b/NBConfigBuilder/logs/2025-11-22.log deleted file mode 100644 index 122e17d..0000000 --- a/NBConfigBuilder/logs/2025-11-22.log +++ /dev/null @@ -1 +0,0 @@ -2025-11-22 22:00:10.3128 INFO Application started diff --git a/NBConfigBuilder/logs/2026-01-18.log b/NBConfigBuilder/logs/2026-01-18.log deleted file mode 100644 index bed0f23..0000000 --- a/NBConfigBuilder/logs/2026-01-18.log +++ /dev/null @@ -1,2 +0,0 @@ -2026-01-18 15:53:38.8893 INFO Application started -2026-01-18 15:53:41.7447 INFO Application closing diff --git a/NBConfigBuilder/pl/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/pl/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 965c984..0000000 Binary files a/NBConfigBuilder/pl/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/pl/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/pl/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 2915250..0000000 Binary files a/NBConfigBuilder/pl/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/protobuf-net.Core.dll b/NBConfigBuilder/protobuf-net.Core.dll deleted file mode 100644 index 00b3bfe..0000000 Binary files a/NBConfigBuilder/protobuf-net.Core.dll and /dev/null differ diff --git a/NBConfigBuilder/protobuf-net.dll b/NBConfigBuilder/protobuf-net.dll deleted file mode 100644 index f29616e..0000000 Binary files a/NBConfigBuilder/protobuf-net.dll and /dev/null differ diff --git a/NBConfigBuilder/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 5afc260..0000000 Binary files a/NBConfigBuilder/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/pt-BR/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/pt-BR/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 700e2aa..0000000 Binary files a/NBConfigBuilder/pt-BR/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/ru/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/ru/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index b4138f4..0000000 Binary files a/NBConfigBuilder/ru/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/ru/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/ru/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 2cf63e5..0000000 Binary files a/NBConfigBuilder/ru/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll b/NBConfigBuilder/runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll deleted file mode 100644 index b4d03d5..0000000 Binary files a/NBConfigBuilder/runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll and /dev/null differ diff --git a/NBConfigBuilder/tr/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/tr/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 7ca2e8f..0000000 Binary files a/NBConfigBuilder/tr/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/tr/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/tr/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 0f76b86..0000000 Binary files a/NBConfigBuilder/tr/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 8c80a88..0000000 Binary files a/NBConfigBuilder/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/zh-Hans/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/zh-Hans/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index 52f232d..0000000 Binary files a/NBConfigBuilder/zh-Hans/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll b/NBConfigBuilder/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll deleted file mode 100644 index 1936f8d..0000000 Binary files a/NBConfigBuilder/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll and /dev/null differ diff --git a/NBConfigBuilder/zh-Hant/Microsoft.CodeAnalysis.resources.dll b/NBConfigBuilder/zh-Hant/Microsoft.CodeAnalysis.resources.dll deleted file mode 100644 index fe815c6..0000000 Binary files a/NBConfigBuilder/zh-Hant/Microsoft.CodeAnalysis.resources.dll and /dev/null differ diff --git a/gen_client.bat b/gen_client.bat new file mode 100644 index 0000000..7d9e720 --- /dev/null +++ b/gen_client.bat @@ -0,0 +1,14 @@ +set WORKSPACE=. +set LUBAN_DLL=%WORKSPACE%\Luban\Luban.dll +set CONF_ROOT=. +set GEN_ROOT=../Fishing2 + +dotnet %LUBAN_DLL% ^ + -t all ^ + -d json ^ + -c cs-simple-json ^ + --conf %CONF_ROOT%\luban.conf ^ + -x outputCodeDir=%GEN_ROOT%/Assets/Scripts/Generate/Config ^ + -x outputDataDir=%GEN_ROOT%/Assets/ResRaw/config/tb + +pause \ No newline at end of file diff --git a/luban.conf b/luban.conf new file mode 100644 index 0000000..716d6fb --- /dev/null +++ b/luban.conf @@ -0,0 +1,26 @@ +{ + "groups": + [ + {"names":["c"], "default":true}, + {"names":["s"], "default":true}, + {"names":["e"], "default":true} + ], + "schemaFiles": + [ + {"fileName":"Defines", "type":""}, + {"fileName":"Datas/__tables__.xlsx", "type":"table"}, + {"fileName":"Datas/__beans__.xlsx", "type":"bean"}, + {"fileName":"Datas/__enums__.xlsx", "type":"enum"} + ], + "dataDir": "Datas", + "targets": + [ + {"name":"server", "manager":"Tables", "groups":["s"], "topModule":"cfg"}, + {"name":"client", "manager":"Tables", "groups":["c"], "topModule":"cfg"}, + {"name":"all", "manager":"Tables", "groups":["c","s","e"], "topModule":"cfg"} + ], + "xargs": + [ + + ] +} diff --git a/output/tbbait.json b/output/tbbait.json new file mode 100644 index 0000000..8e343ca --- /dev/null +++ b/output/tbbait.json @@ -0,0 +1,39 @@ +[ + { + "id": 70001, + "efficacy_base": 15, + "arr": [ + 250, + 1, + 2, + 3 + ], + "strength": 0 + }, + { + "id": 70002, + "efficacy_base": 15, + "arr": [ + 120, + 4, + 3 + ], + "strength": 0 + }, + { + "id": 70003, + "efficacy_base": 15, + "arr": [ + 120 + ], + "strength": 0 + }, + { + "id": 70004, + "efficacy_base": 15, + "arr": [ + 120 + ], + "strength": 0 + } +] \ No newline at end of file diff --git a/output/tbbasicconfig.json b/output/tbbasicconfig.json new file mode 100644 index 0000000..464e8f9 --- /dev/null +++ b/output/tbbasicconfig.json @@ -0,0 +1,16 @@ +[ + { + "x1": 1101001101, + "x2": 150, + "x3": 500, + "x4": 50, + "x5": 10, + "x6": 4, + "x7": [ + 1, + 2, + 3, + 4 + ] + } +] \ No newline at end of file diff --git a/output/tbbobber.json b/output/tbbobber.json new file mode 100644 index 0000000..f792b1f --- /dev/null +++ b/output/tbbobber.json @@ -0,0 +1,30 @@ +[ + { + "id": 50001, + "displacement": 40, + "night_light": [ + 0 + ] + }, + { + "id": 50002, + "displacement": 40, + "night_light": [ + 0 + ] + }, + { + "id": 50003, + "displacement": 40, + "night_light": [ + 0 + ] + }, + { + "id": 50004, + "displacement": 40, + "night_light": [ + 0 + ] + } +] \ No newline at end of file diff --git a/output/tbfeeder.json b/output/tbfeeder.json new file mode 100644 index 0000000..f2106e9 --- /dev/null +++ b/output/tbfeeder.json @@ -0,0 +1,7 @@ +[ + { + "id": 110001, + "capacity": 100, + "weight": 5 + } +] \ No newline at end of file diff --git a/output/tbfish.json b/output/tbfish.json new file mode 100644 index 0000000..8a689e5 --- /dev/null +++ b/output/tbfish.json @@ -0,0 +1,34 @@ +[ + { + "id": 210001, + "name": "鲤鱼", + "model": "fish/carp/carp", + "min_weight": 1, + "max_weight": 34, + "accept": 2100001 + }, + { + "id": 210002, + "name": "金鲫", + "model": "fish/c.carp/c_carp", + "min_weight": 1, + "max_weight": 34, + "accept": 2100001 + }, + { + "id": 210003, + "name": "银鲫", + "model": "fish/crucian/crucian", + "min_weight": 1, + "max_weight": 34, + "accept": 2100001 + }, + { + "id": 210004, + "name": "拟鲤", + "model": "fish/c.roach/c_roach", + "min_weight": 1, + "max_weight": 34, + "accept": 2100001 + } +] \ No newline at end of file diff --git a/output/tbhook.json b/output/tbhook.json new file mode 100644 index 0000000..e6e07f1 --- /dev/null +++ b/output/tbhook.json @@ -0,0 +1,22 @@ +[ + { + "id": 90001, + "ding": 1 + }, + { + "id": 90002, + "ding": 1 + }, + { + "id": 90003, + "ding": 1 + }, + { + "id": 90004, + "ding": 1 + }, + { + "id": 90005, + "ding": 1 + } +] \ No newline at end of file diff --git a/output/tbinititemconfig.json b/output/tbinititemconfig.json new file mode 100644 index 0000000..c01121e --- /dev/null +++ b/output/tbinititemconfig.json @@ -0,0 +1,386 @@ +[ + { + "id": 10001, + "count": 100 + }, + { + "id": 10002, + "count": 200 + }, + { + "id": 10003, + "count": 0 + }, + { + "id": 30001, + "count": 1 + }, + { + "id": 30002, + "count": 1 + }, + { + "id": 30003, + "count": 1 + }, + { + "id": 30004, + "count": 1 + }, + { + "id": 30005, + "count": 1 + }, + { + "id": 30006, + "count": 1 + }, + { + "id": 30007, + "count": 1 + }, + { + "id": 30008, + "count": 1 + }, + { + "id": 30009, + "count": 1 + }, + { + "id": 30010, + "count": 1 + }, + { + "id": 30011, + "count": 1 + }, + { + "id": 40001, + "count": 1 + }, + { + "id": 40002, + "count": 1 + }, + { + "id": 40003, + "count": 1 + }, + { + "id": 40004, + "count": 1 + }, + { + "id": 40005, + "count": 1 + }, + { + "id": 40006, + "count": 1 + }, + { + "id": 40007, + "count": 1 + }, + { + "id": 40008, + "count": 1 + }, + { + "id": 40009, + "count": 1 + }, + { + "id": 40010, + "count": 1 + }, + { + "id": 50001, + "count": 1 + }, + { + "id": 50002, + "count": 1 + }, + { + "id": 50003, + "count": 1 + }, + { + "id": 50004, + "count": 1 + }, + { + "id": 50005, + "count": 1 + }, + { + "id": 50006, + "count": 1 + }, + { + "id": 50007, + "count": 1 + }, + { + "id": 50008, + "count": 1 + }, + { + "id": 50009, + "count": 1 + }, + { + "id": 50010, + "count": 1 + }, + { + "id": 50011, + "count": 1 + }, + { + "id": 50012, + "count": 1 + }, + { + "id": 50013, + "count": 1 + }, + { + "id": 50014, + "count": 1 + }, + { + "id": 60001, + "count": 1 + }, + { + "id": 60002, + "count": 1 + }, + { + "id": 60003, + "count": 1 + }, + { + "id": 60004, + "count": 1 + }, + { + "id": 60005, + "count": 1 + }, + { + "id": 60006, + "count": 1 + }, + { + "id": 60007, + "count": 1 + }, + { + "id": 60008, + "count": 1 + }, + { + "id": 60009, + "count": 1 + }, + { + "id": 60010, + "count": 1 + }, + { + "id": 70001, + "count": 1 + }, + { + "id": 70002, + "count": 1 + }, + { + "id": 70003, + "count": 1 + }, + { + "id": 70004, + "count": 1 + }, + { + "id": 80001, + "count": 1 + }, + { + "id": 80002, + "count": 1 + }, + { + "id": 80003, + "count": 1 + }, + { + "id": 80004, + "count": 1 + }, + { + "id": 80005, + "count": 1 + }, + { + "id": 80006, + "count": 1 + }, + { + "id": 80007, + "count": 1 + }, + { + "id": 80008, + "count": 1 + }, + { + "id": 80009, + "count": 1 + }, + { + "id": 80010, + "count": 1 + }, + { + "id": 80011, + "count": 1 + }, + { + "id": 80012, + "count": 1 + }, + { + "id": 80013, + "count": 1 + }, + { + "id": 90001, + "count": 1 + }, + { + "id": 90002, + "count": 1 + }, + { + "id": 90003, + "count": 1 + }, + { + "id": 90004, + "count": 1 + }, + { + "id": 90005, + "count": 1 + }, + { + "id": 90006, + "count": 1 + }, + { + "id": 90007, + "count": 1 + }, + { + "id": 90008, + "count": 1 + }, + { + "id": 90009, + "count": 1 + }, + { + "id": 90010, + "count": 1 + }, + { + "id": 90011, + "count": 1 + }, + { + "id": 90012, + "count": 1 + }, + { + "id": 90013, + "count": 1 + }, + { + "id": 90014, + "count": 1 + }, + { + "id": 90015, + "count": 1 + }, + { + "id": 90016, + "count": 1 + }, + { + "id": 90017, + "count": 1 + }, + { + "id": 90018, + "count": 1 + }, + { + "id": 90019, + "count": 1 + }, + { + "id": 90020, + "count": 1 + }, + { + "id": 100001, + "count": 1 + }, + { + "id": 100002, + "count": 1 + }, + { + "id": 100003, + "count": 1 + }, + { + "id": 100004, + "count": 1 + }, + { + "id": 100005, + "count": 1 + }, + { + "id": 100006, + "count": 1 + }, + { + "id": 100007, + "count": 1 + }, + { + "id": 100008, + "count": 1 + }, + { + "id": 100009, + "count": 1 + }, + { + "id": 100010, + "count": 1 + }, + { + "id": 110001, + "count": 1 + } +] \ No newline at end of file diff --git a/output/tbitem.json b/output/tbitem.json new file mode 100644 index 0000000..461f095 --- /dev/null +++ b/output/tbitem.json @@ -0,0 +1,1025 @@ +[ + { + "id": 30001, + "model": "rods/syberia/tele_10037/tele_10037_t13", + "type": 301, + "quality": 5, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30002, + "model": "rods/syberia/bolo_10021/bolo_10021_LB400", + "type": 302, + "quality": 5, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30003, + "model": "rods/syberia/spin_10034/spin_10034_S60H", + "type": 303, + "quality": 5, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30004, + "model": "rods/syberia/carp_10046/carp_10046_360H", + "type": 304, + "quality": 4, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30005, + "model": "rods/syberia/cast_10018/cast_10018_CST60MH", + "type": 305, + "quality": 5, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30006, + "model": "rods/syberia/feeder_10048/feeder_10048_FD390", + "type": 306, + "quality": 4, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30007, + "model": "rods/syberia/jerk_10043/jerk_10043_JR60XH", + "type": 307, + "quality": 3, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30008, + "model": "rods/syberia/mark_10168/mark_10168_3LB", + "type": 308, + "quality": 3, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30009, + "model": "rods/syberia/match_10025/match_10025_M130H", + "type": 309, + "quality": 4, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30010, + "model": "rods/syberia/picker_10052/picker_10052_P300-MH", + "type": 310, + "quality": 5, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 30011, + "model": "rods/syberia/spod_10133/spod_10133_3LB", + "type": 311, + "quality": 4, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40001, + "model": "reels/syberia/spin_5002/spin_5002", + "type": 401, + "quality": 3, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40002, + "model": "reels/syberia/spin_5036/spin_5036", + "type": 401, + "quality": 4, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40003, + "model": "reels/syberia/bclp_5005/bclp_5005", + "type": 402, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40004, + "model": "reels/syberia/bclp_5032/bclp_5032", + "type": 402, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40005, + "model": "reels/syberia/bcr_5034/bcr_5034", + "type": 403, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40006, + "model": "reels/syberia/bcr_5062/bcr_5062", + "type": 403, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40007, + "model": "reels/syberia/c_spin_5386/c_spin_5386", + "type": 401, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40008, + "model": "reels/syberia/c_spin_5387/c_spin_5387", + "type": 401, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40009, + "model": "reels/syberia/conv_5393/conv_5393", + "type": 403, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 40010, + "model": "reels/syberia/conv_5396/conv_5396", + "type": 403, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50001, + "model": "bobbers/expressfishing/bob_25001/bob_25001", + "type": 501, + "quality": 1, + "brand": 1, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50002, + "model": "bobbers/expressfishing/bob_25002/bob_25002", + "type": 501, + "quality": 2, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50003, + "model": "bobbers/expressfishing/bob_25003/bob_25003", + "type": 501, + "quality": 3, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50004, + "model": "bobbers/expressfishing/bob_25004/bob_25004", + "type": 501, + "quality": 4, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50005, + "model": "bobbers/expressfishing/bob_25162_25163/bob_25162", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50006, + "model": "bobbers/expressfishing/bob_25162_25163/bob_25163", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50007, + "model": "bobbers/expressfishing/bob_25164_25165/bob_25164", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50008, + "model": "bobbers/expressfishing/bob_25164_25165/bob_25165", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50009, + "model": "bobbers/expressfishing/bob_25166_25167/bob_25166", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50010, + "model": "bobbers/expressfishing/bob_25166_25167/bob_25167", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50011, + "model": "bobbers/expressfishing/float_ny_1/float_ny25_1", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50012, + "model": "bobbers/expressfishing/float_ny_1/float_ny25_2", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50013, + "model": "bobbers/expressfishing/float_ny_1/float_ny25_3", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 50014, + "model": "bobbers/expressfishing/float_ny_1/float_ny_1", + "type": 501, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60001, + "model": "lines/solid_materials/mono_40340/braid_40388", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60002, + "model": "lines/solid_materials/mono_40340/braid_40389", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60003, + "model": "lines/solid_materials/mono_40340/braid_40390", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60004, + "model": "lines/solid_materials/mono_40340/braid_40391", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60005, + "model": "lines/solid_materials/mono_40340/braid_40392", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60006, + "model": "lines/solid_materials/mono_40340/braid_40393", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60007, + "model": "lines/solid_materials/mono_40340/braid_40394", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60008, + "model": "lines/solid_materials/mono_40340/braid_40395", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60009, + "model": "lines/solid_materials/mono_40340/braid_40396", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 60010, + "model": "lines/solid_materials/mono_40340/braid_40397", + "type": 601, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 70001, + "model": "baits/worm_01/worm_01", + "type": 701, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 70002, + "model": "baits/fly/fly", + "type": 701, + "quality": 2, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 70003, + "model": "baits/black_leech/black_leech", + "type": 701, + "quality": 2, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 70004, + "model": "baits/bread/bread", + "type": 701, + "quality": 3, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80001, + "model": "lures/express_fishing/crankbaits_1/738/crankbaits_738", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80002, + "model": "lures/express_fishing/crankbaits_1/744/crankbaits_744", + "type": 801, + "quality": 2, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80003, + "model": "lures/express_fishing/crankbaits_1/752/crankbaits_752", + "type": 801, + "quality": 3, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80004, + "model": "lures/express_fishing/crankbaits_1/863/crankbaits_863", + "type": 801, + "quality": 4, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80005, + "model": "lures/express_fishing/poppers_1/poppers_586/poppers_586", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80006, + "model": "lures/express_fishing/softplastic/ef_supergrab_4/softplastic_g_1610", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80007, + "model": "lures/express_fishing/softplastic/ef_supergrab_4/softplastic_g_1611", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80008, + "model": "lures/express_fishing/softplastic/ef_superminnow_4/softplastic_m_1624", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80009, + "model": "lures/express_fishing/spinnerbaits_1/594/spinnerbaits_594", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80010, + "model": "lures/express_fishing/spinnerbaits_1/596/spinnerbaits_596", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80011, + "model": "lures/express_fishing/spinnerbaits_1/597/spinnerbaits_597", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80012, + "model": "lures/express_fishing/spoon_lures_1/spoon_lures_666/spoon_lures_666", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 80013, + "model": "lures/express_fishing/spoon_lures_1/spoon_lures_1045/spoon_lures_1045", + "type": 801, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90001, + "model": "hooks/alliance/c_hook_20789_20794/c_hook_20789", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90002, + "model": "hooks/berserk_hooks/clas_20421_20446/clas_20421", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90003, + "model": "hooks/berserk_hooks/clas_20447_20472/clas_20447", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90004, + "model": "hooks/berserk_hooks/clas_20473_20492/clas_20473", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90005, + "model": "hooks/berserk_hooks/clas_20493_20514/clas_20493", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90006, + "model": "hooks/berserk_hooks/clas_20515_20532/clas_20515", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90007, + "model": "hooks/berserk_hooks/clas_20533_20550/clas_20533", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90008, + "model": "hooks/berserk_hooks/jhead_20596_20603/jhead_20596", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90009, + "model": "hooks/berserk_hooks/jhead_20604_20613/jhead_20604", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90010, + "model": "hooks/berserk_hooks/jhead_20614_20622/jhead_20614", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90011, + "model": "hooks/berserk_hooks/jhead_20959_20994/jhead_20959", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90012, + "model": "hooks/berserk_hooks/lfish_20637_20643/lfish_20637", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90013, + "model": "hooks/berserk_hooks/lfish_20644_20650/lfish_20644", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90014, + "model": "hooks/berserk_hooks/mdhook_20929_20935/mdhook_20929", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90015, + "model": "hooks/berserk_hooks/mhook_20878/mhook_20878", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90016, + "model": "hooks/berserk_hooks/triple_20569_20577/triple_20569", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90017, + "model": "hooks/berserk_hooks/triple_20578_20586/triple_20578", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90018, + "model": "hooks/berserk_hooks/triple_20660_20668/triple_20660", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90019, + "model": "hooks/berserk_hooks/triple_20669_20677/triple_20669", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 90020, + "model": "hooks/berserk_hooks/woffset_20623_20636/woffset_20623", + "type": 901, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100001, + "model": "weights/Weight2_5g", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100002, + "model": "weights/weight_olive_1g", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100003, + "model": "sinkers/express fishing/bulsinker_30016_30056/bulsinker_30016", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100004, + "model": "sinkers/express fishing/dsinker_30001_30005/dsinker_30001", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100005, + "model": "sinkers/express fishing/psinker_30010_30014/psinker_30010", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100006, + "model": "sinkers/hvz/flpsinker_30138_30339/flpsinker_30138", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100007, + "model": "sinkers/hvz/flsinker_30110_30137/flsinker_30110", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100008, + "model": "sinkers/hvz/horsinker_30340_30371/horsinker_30340", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100009, + "model": "sinkers/hvz/mrksinker_30371/mrksinker_30371", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 100010, + "model": "sinkers/hvz/trisinker_30282_30463/trisinker_30282", + "type": 1001, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + }, + { + "id": 110001, + "model": "Feeders/Feeder 1/FeedTrash 1", + "type": 1101, + "quality": 1, + "brand": 0, + "weight": 0, + "length": 0, + "max": 0, + "auto_use": 0 + } +] \ No newline at end of file diff --git a/output/tbline.json b/output/tbline.json new file mode 100644 index 0000000..8b604fe --- /dev/null +++ b/output/tbline.json @@ -0,0 +1,12 @@ +[ + { + "id": 60001, + "strength": 40, + "size": 1 + }, + { + "id": 60002, + "strength": 40, + "size": 1 + } +] \ No newline at end of file diff --git a/output/tblure.json b/output/tblure.json new file mode 100644 index 0000000..74db0f8 --- /dev/null +++ b/output/tblure.json @@ -0,0 +1,34 @@ +[ + { + "id": 80001, + "hook": [ + 700102 + ], + "hook_num": 1, + "efficacy_base": 50 + }, + { + "id": 80002, + "hook": [ + 700102 + ], + "hook_num": 1, + "efficacy_base": 50 + }, + { + "id": 80003, + "hook": [ + 0 + ], + "hook_num": 1, + "efficacy_base": 50 + }, + { + "id": 80004, + "hook": [ + 0 + ], + "hook_num": 1, + "efficacy_base": 50 + } +] \ No newline at end of file diff --git a/output/tbreel.json b/output/tbreel.json new file mode 100644 index 0000000..08c7c12 --- /dev/null +++ b/output/tbreel.json @@ -0,0 +1,66 @@ +[ + { + "id": 40001, + "reel_type": 1, + "gear_ratio": [ + 7 + ], + "strength": 40 + }, + { + "id": 40002, + "reel_type": 1, + "gear_ratio": [ + 5 + ], + "strength": 40 + }, + { + "id": 40003, + "reel_type": 2, + "gear_ratio": [], + "strength": 0 + }, + { + "id": 40004, + "reel_type": 2, + "gear_ratio": [], + "strength": 0 + }, + { + "id": 40005, + "reel_type": 3, + "gear_ratio": [], + "strength": 0 + }, + { + "id": 40006, + "reel_type": 3, + "gear_ratio": [], + "strength": 0 + }, + { + "id": 40007, + "reel_type": 1, + "gear_ratio": [], + "strength": 0 + }, + { + "id": 40008, + "reel_type": 1, + "gear_ratio": [], + "strength": 0 + }, + { + "id": 40009, + "reel_type": 3, + "gear_ratio": [], + "strength": 0 + }, + { + "id": 40010, + "reel_type": 3, + "gear_ratio": [], + "strength": 0 + } +] \ No newline at end of file diff --git a/output/tbrod.json b/output/tbrod.json new file mode 100644 index 0000000..c82a668 --- /dev/null +++ b/output/tbrod.json @@ -0,0 +1,90 @@ +[ + { + "id": 30001, + "rod_type": 1, + "ring": 0, + "strength": 40, + "max_range": 67, + "construction_type": 0 + }, + { + "id": 30002, + "rod_type": 3, + "ring": 2, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30003, + "rod_type": 2, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30004, + "rod_type": 1, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30005, + "rod_type": 2, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30006, + "rod_type": 2, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30007, + "rod_type": 2, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30008, + "rod_type": 2, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30009, + "rod_type": 2, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30010, + "rod_type": 2, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + }, + { + "id": 30011, + "rod_type": 2, + "ring": 1, + "strength": 40, + "max_range": 30, + "construction_type": 0 + } +] \ No newline at end of file diff --git a/~$Item.xlsx b/~$Item.xlsx deleted file mode 100644 index e69de29..0000000 diff --git a/新建 文本文档.txt b/新建 文本文档.txt deleted file mode 100644 index e69de29..0000000