diff --git a/CODELY.md b/CODELY.md
new file mode 100644
index 0000000..539a001
--- /dev/null
+++ b/CODELY.md
@@ -0,0 +1,441 @@
+# Fishing2Server 项目文档
+
+## 项目概述
+
+Fishing2Server 是一个基于 **Fantasy.Net** 框架开发的分布式钓鱼游戏服务器。采用 .NET 9.0 构建,使用 MongoDB 作为数据库存储,支持热更新机制。
+
+### 技术栈
+
+- **.NET 版本**: .NET 9.0
+- **框架**: Fantasy.Net (v2025.2.1423) - 分布式游戏服务器框架
+- **数据库**: MongoDB
+- **日志系统**: NLog
+- **网络协议**: TCP (内部通信), KCP (外部通信)
+- **身份认证**: JWT (System.IdentityModel.Tokens.Jwt v8.14.0)
+- **序列化**: LightProto, MemoryPack
+- **第三方库**: Unity.Mathematics
+
+### 项目架构
+
+项目采用分层架构,包含四个主要项目:
+
+| 项目 | 命名空间 | 说明 |
+|------|---------|------|
+| Main | NBF | 应用程序入口,负责初始化和启动框架 |
+| Entity | NB | 实体层,定义所有数据结构和实体 |
+| Hotfix | NB | 热更新层,包含所有业务逻辑、Handler 和 System |
+| ThirdParty | - | 第三方依赖库(Unity.Mathematics) |
+
+## 项目结构
+
+```
+Fishing2Server/
+├── Main/ # 主程序入口
+│ ├── Program.cs # 应用程序入口点
+│ ├── NLog.config # 日志配置
+│ ├── configs.json # 游戏配置(物品、鱼竿等)
+│ └── Fantasy.config # Fantasy 框架配置
+├── Entity/ # 实体层(数据定义)
+│ ├── Authentication/ # 认证相关实体
+│ ├── Game/ # 游戏实体
+│ │ ├── Player/ # 玩家实体
+│ │ ├── Item/ # 物品系统
+│ │ ├── Map/ # 地图和房间系统
+│ │ ├── Fish/ # 钓鱼系统
+│ │ ├── Skill/ # 技能系统
+│ │ ├── Mission/ # 任务系统
+│ │ ├── Achievement/ # 成就系统
+│ │ ├── Cache/ # 玩家缓存
+│ │ ├── Statistics/ # 统计数据
+│ │ └── Activity/ # 活动系统
+│ ├── Gate/ # 网关实体
+│ ├── Social/ # 社交实体
+│ │ ├── Chat/ # 聊天系统
+│ │ ├── Club/ # 俱乐部系统
+│ │ └── Mail/ # 邮件系统
+│ ├── Def/ # 配置定义
+│ ├── Generate/ # 自动生成的代码
+│ │ ├── NetworkProtocol/ # 网络协议定义
+│ │ └── ConfigTable/ # 配置表代码
+│ └── Modules/ # 配置表模块
+├── Hotfix/ # 热更新层(业务逻辑)
+│ ├── Authentication/ # 认证逻辑
+│ │ ├── Handler/ # 认证消息处理器
+│ │ └── System/ # 认证系统
+│ ├── Game/ # 游戏业务逻辑
+│ │ ├── Handler/ # 游戏消息处理器
+│ │ ├── Item/ # 物品逻辑
+│ │ ├── Map/ # 地图逻辑
+│ │ ├── Player/ # 玩家逻辑
+│ │ ├── Wallet/ # 钱包逻辑
+│ │ └── Cache/ # 缓存逻辑
+│ ├── Gate/ # 网关业务逻辑
+│ │ ├── Handler/ # 网关消息处理器
+│ │ │ ├── Inner/ # 内部消息
+│ │ │ └── Outer/ # 外部消息
+│ │ └── System/ # 网关系统
+│ ├── Social/ # 社交业务逻辑
+│ │ ├── Chat/ # 聊天逻辑
+│ │ ├── Mail/ # 邮件逻辑
+│ │ └── Club/ # 俱乐部逻辑
+│ ├── Common/ # 通用逻辑
+│ └── HTTPHandler/ # HTTP 接口
+├── ThirdParty/ # 第三方库
+└── Tools/ # 工具集
+ ├── NetworkProtocol/ # 协议配置
+ └── ProtocolExportTool/ # 协议导出工具
+```
+
+## 服务器架构
+
+### 场景类型(Scene Types)
+
+服务器采用分布式场景架构,包含以下场景类型:
+
+| Scene ID | 场景类型 | 外网端口 | 内网端口 | 说明 |
+|----------|---------|---------|---------|------|
+| 1001 | Authentication | 20001 | 11001 | 登录认证服务器(KCP) |
+| 1002 | Addressable | - | 11011 | 地址服务器 |
+| 1003 | Gate | 20000 | 11021 | 网关服务器(KCP) |
+| 1004 | Game | - | 11031 | 游戏逻辑服务器 |
+| 1006 | Social | - | 11051 | 社交服务器 |
+| 1007 | Map | - | 11061 | 地图服务器(已注释) |
+
+### 登录流程
+
+1. 客户端连接到 **Authentication** 服务器(端口 20001)
+2. 用户名密码验证,支持自动注册
+3. 验证成功后颁发 JWT Token
+4. 客户端使用 Token 连接到 **Gate** 服务器(端口 20000)
+5. Gate 验证 Token 并建立会话
+6. 客户端通过 Gate 与其他服务器通信
+
+### 通信架构
+
+- **内部通信**: 使用 TCP 协议,各服务器之间通过 Scene ID 路由
+- **外部通信**: 使用 KCP 协议,客户端通过 Gate 服务器连接
+- **消息路由**: 支持自定义路由(ICustomRouteRequest 接口)
+
+## 构建和运行
+
+### 前置要求
+
+- .NET 9.0 SDK
+- MongoDB 服务器
+- Visual Studio 2022 或 Rider
+
+### 构建项目
+
+```bash
+# 构建整个解决方案
+dotnet build Server.sln
+
+# 构建特定项目
+dotnet build Main/Main.csproj
+dotnet build Entity/Entity.csproj
+dotnet build Hotfix/Hotfix.csproj
+```
+
+### 运行项目
+
+```bash
+# 运行主程序
+dotnet run --project Main/Main.csproj
+
+# 或直接编译运行
+cd Main/bin/Debug/net9.0
+Main.exe
+```
+
+### 配置说明
+
+#### 1. MongoDB 配置
+
+在 `Entity/Fantasy.config` 中配置数据库连接:
+
+```xml
+
+```
+
+#### 2. 服务器配置
+
+在 `Entity/Fantasy.config` 中配置服务器地址:
+
+```xml
+
+
+
+```
+
+#### 3. 日志配置
+
+在 `Main/NLog.config` 中配置日志输出位置和格式。日志文件保存在:
+
+```
+Main/bin/Debug/Logs/Server/Server{yyyyMMdd}/{logger}.{appId}.{yyyyMMddHH}.{level}.log
+```
+
+## 开发规范
+
+### 命名约定
+
+- **命名空间**:
+ - Entity 层使用 `NB` 前缀(如 `NB.Game`, `NB.Authentication`)
+ - Hotfix 层使用 `NB` 前缀(如 `NB.Game`, `NB.Gate`)
+- **Handler**: 使用 `{RequestType}Handler` 格式(如 `C2A_LoginRequestHandler`)
+- **System**: 使用 `{Entity}System` 格式(如 `PlayerSystem`, `MapSystem`)
+- **Helper**: 使用 `{Module}Helper` 格式(如 `AuthenticationHelper`, `PlayerHelper`)
+
+### 消息处理
+
+所有消息处理器继承自 `MessageRPC`:
+
+```csharp
+public class C2Game_GetItemsRequestHandler : MessageRPC
+{
+ protected override async FTask Run(Session session, C2Game_GetItemsRequest request, G2C_GetItemsResponse response, Action reply)
+ {
+ // 业务逻辑
+ response.ErrorCode = ErrorCode.Successful;
+ }
+}
+```
+
+### 实体系统
+
+所有实体继承自 `Entity` 基类:
+
+```csharp
+public sealed class Player : Entity
+{
+ [BsonElement("name")] public string NickName = "";
+ [BsonElement("lv")] public int Level;
+ [BsonIgnore] public long SessionRunTimeId;
+}
+```
+
+### System 系统
+
+- **DestroySystem**: 处理实体销毁逻辑(如 `PlayerDestroySystem`)
+- **静态 System**: 扩展方法,提供实体操作(如 `PlayerSystem.AddItems()`)
+
+### 配置表
+
+配置表使用 JSON 格式定义在 `Main/configs.json`,自动生成代码到 `Entity/Generate/ConfigTable/`。
+
+常用配置类型:
+- `ItemConfig` - 物品配置
+- `LureConfig` - 诱饵配置
+- `RodRingConfig` - 鱼竿环配置
+
+## 核心功能模块
+
+### 1. 认证系统(Authentication)
+
+- 账号登录/注册
+- JWT Token 颁发和验证
+- 账号缓存管理
+- 区域选择支持
+
+**关键文件**:
+- `Entity/Authentication/Entity/Account.cs`
+- `Hotfix/Authentication/Handler/C2A_LoginRequestHandler.cs`
+- `Hotfix/Authentication/System/AuthenticationHelper.cs`
+
+### 2. 网关系统(Gate)
+
+- 客户端连接管理
+- Session 管理
+- 消息路由转发
+- JWT Token 验证
+
+**关键文件**:
+- `Entity/Gate/GateUnit.cs`
+- `Hotfix/Gate/Handler/Outer/C2G_LoginRequestHandler.cs`
+- `Hotfix/Gate/System/GateUnitManageComponentSystem.cs`
+
+### 3. 玩家系统(Player)
+
+- 玩家基本数据管理
+- 等级和经验系统
+- VIP 系统
+- 玩家缓存
+
+**关键文件**:
+- `Entity/Game/Player/Player.cs`
+- `Hotfix/Game/Player/Helper/PlayerFactory.cs`
+- `Hotfix/Game/Player/Entity/PlayerSystem.cs`
+
+### 4. 物品系统(Item)
+
+- 物品容器管理
+- 物品添加/使用
+- 物品类型分类
+- 奖励物品处理
+
+**关键文件**:
+- `Entity/Game/Item/Item.cs`
+- `Entity/Game/Item/PlayerItemContainerComponent.cs`
+- `Hotfix/Game/Item/ItemSystem.cs`
+
+### 5. 地图和房间系统(Map)
+
+- 地图管理
+- 房间创建和销毁
+- 玩家移动和同步
+- 地图单元管理
+
+**关键文件**:
+- `Entity/Game/Map/Entity/Map.cs`
+- `Entity/Game/Map/Entity/MapRoom.cs`
+- `Hotfix/Game/Map/Handler/C2Map_CreateRoomRequestHandler.cs`
+
+### 6. 社交系统(Social)
+
+#### 聊天系统(Chat)
+- 多频道聊天
+- 聊天消息路由
+- 聊天单元管理
+
+**关键文件**:
+- `Entity/Social/Chat/Model/ChatUnit.cs`
+- `Hotfix/Social/Chat/Handler/Outer/C2Chat_SendMessageRequestHandler.cs`
+
+#### 邮件系统(Mail)
+- 邮件发送
+- 邮件箱管理
+- 会话管理
+
+**关键文件**:
+- `Entity/Social/Mail/Entity/Mail.cs`
+- `Entity/Social/Mail/Entity/MailBox.cs`
+- `Hotfix/Social/Mail/Handler/C2S_SendMailRequestHandler.cs`
+
+### 7. 钓鱼系统(Fish)
+
+- 鱼类数据管理
+- 钓鱼容器
+- 鱼竿和诱饵配置
+
+**关键文件**:
+- `Entity/Game/Fish/Fish.cs`
+- `Entity/Game/Fish/FishContainer.cs`
+
+## 网络协议
+
+### 协议生成
+
+网络协议定义在 `Tools/NetworkProtocol/` 目录,使用 `Tools/ProtocolExportTool/` 工具导出。
+
+自动生成的代码位于:
+- `Entity/Generate/NetworkProtocol/OuterMessage.cs` - 外部消息(客户端-服务器)
+- `Entity/Generate/NetworkProtocol/InnerMessage.cs` - 内部消息(服务器-服务器)
+
+### 消息命名约定
+
+- `C2X_Request` - 客户端到服务器请求
+- `X2C_Response` - 服务器到客户端响应
+- `X2Y_Request` - 服务器间请求
+
+例如:
+- `C2A_LoginRequest` - 客户端到认证服务器登录请求
+- `A2C_LoginResponse` - 认证服务器到客户端登录响应
+- `G2Map_EnterMapRequest` - 网关到地图服务器进入地图请求
+
+## 日志系统
+
+### 日志级别
+
+- **Trace**: 最详细的调试信息
+- **Debug**: 调试信息
+- **Info**: 一般信息
+- **Warn**: 警告信息
+- **Error**: 错误信息
+- **Fatal**: 致命错误
+
+### 日志使用
+
+```csharp
+using Fantasy;
+
+Log.Debug("调试信息");
+Log.Info("一般信息");
+Log.Warn("警告信息");
+Log.Error("错误信息");
+```
+
+### 日志输出位置
+
+- **控制台**: 开发环境彩色输出
+- **文件**: 生产环境按日期和级别分类存储
+
+## 热更新机制
+
+项目支持热更新,Hotfix 层可以动态加载和卸载。热更新逻辑位于 `Hotfix/` 目录。
+
+### Hotfix 层特点
+
+- 不包含实体定义(Entity 层)
+- 包含所有 Handler、System 和 Helper
+- 可以独立编译和部署
+
+## 常见问题
+
+### 1. 如何添加新的消息处理器?
+
+1. 在 `Tools/NetworkProtocol/` 定义消息结构
+2. 运行协议导出工具生成代码
+3. 在 `Hotfix/{Module}/Handler/` 创建 Handler 类
+4. 继承 `MessageRPC`
+
+### 2. 如何添加新的实体?
+
+1. 在 `Entity/{Module}/Entity/` 创建实体类
+2. 继承 `Entity` 基类
+3. 在 `Hotfix/{Module}/` 创建对应的 System
+
+### 3. 如何配置数据库?
+
+修改 `Entity/Fantasy.config` 中的数据库连接字符串:
+
+```xml
+
+```
+
+### 4. 如何修改服务器端口?
+
+修改 `Entity/Fantasy.config` 中对应场景的端口配置:
+
+```xml
+
+```
+
+## 开发工具
+
+### 协议导出工具
+
+位置: `Tools/ProtocolExportTool/`
+
+用于从配置文件导出网络协议代码。
+
+### 配置表工具
+
+配置表定义在 `Main/configs.json`,代码自动生成到 `Entity/Generate/ConfigTable/`。
+
+## 贡献指南
+
+1. 遵循现有的命名约定和代码风格
+2. 添加必要的注释和文档
+3. 确保代码编译通过
+4. 测试新功能
+5. 更新相关文档
+
+## 许可证
+
+本项目为内部项目,版权所有。
+
+---
+
+**文档版本**: 1.0
+**最后更新**: 2026-03-05
+**维护者**: Fishing2Server Team
\ No newline at end of file
diff --git a/Entity/Entity.csproj b/Entity/Entity.csproj
index 4e906b2..27c7775 100644
--- a/Entity/Entity.csproj
+++ b/Entity/Entity.csproj
@@ -9,7 +9,7 @@
-
+
@@ -20,6 +20,7 @@
+
diff --git a/Entity/Game/Item/Item.cs b/Entity/Game/Item/Item.cs
index 9b371cb..86f2e20 100644
--- a/Entity/Game/Item/Item.cs
+++ b/Entity/Game/Item/Item.cs
@@ -29,7 +29,7 @@ public class Item : Entity
///
/// 配置id
///
- [BsonElement("cid")] public uint ConfigId;
+ [BsonElement("cid")] public int ConfigId;
///
/// 是否绑定
diff --git a/Entity/Game/Player/PlayerWalletComponent.cs b/Entity/Game/Player/PlayerWalletComponent.cs
index 8a24328..f856cf9 100644
--- a/Entity/Game/Player/PlayerWalletComponent.cs
+++ b/Entity/Game/Player/PlayerWalletComponent.cs
@@ -14,5 +14,5 @@ public class PlayerWalletComponent : Entity
/// 所有货币
///
[BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
- public Dictionary Currency = new();
+ public Dictionary Currency = new();
}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Bait.cs b/Entity/Generate/ConfigTable/Bait.cs
new file mode 100644
index 0000000..9caf575
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Bait.cs
@@ -0,0 +1,70 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Bait : Luban.BeanBase
+{
+ public Bait(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ EfficacyBase = (int)_obj.GetValue("efficacy_base");
+ { var __json0 = _obj.GetValue("arr"); Arr = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { int __v0; __v0 = (int)__e0; Arr.Add(__v0); } }
+ Strength = (int)_obj.GetValue("strength");
+ }
+
+ public static Bait DeserializeBait(JToken _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/Entity/Generate/ConfigTable/BasicConfig.cs b/Entity/Generate/ConfigTable/BasicConfig.cs
new file mode 100644
index 0000000..00bfecf
--- /dev/null
+++ b/Entity/Generate/ConfigTable/BasicConfig.cs
@@ -0,0 +1,73 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class BasicConfig : Luban.BeanBase
+{
+ public BasicConfig(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ X1 = (int)_obj.GetValue("x1");
+ X2 = (int)_obj.GetValue("x2");
+ X3 = (int)_obj.GetValue("x3");
+ X4 = (int)_obj.GetValue("x4");
+ X5 = (int)_obj.GetValue("x5");
+ X6 = (int)_obj.GetValue("x6");
+ { var __json0 = _obj.GetValue("x7"); X7 = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { int __v0; __v0 = (int)__e0; X7.Add(__v0); } }
+ }
+
+ public static BasicConfig DeserializeBasicConfig(JToken _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/Entity/Generate/ConfigTable/Bobber.cs b/Entity/Generate/ConfigTable/Bobber.cs
new file mode 100644
index 0000000..f330eb8
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Bobber.cs
@@ -0,0 +1,64 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Bobber : Luban.BeanBase
+{
+ public Bobber(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Displacement = (int)_obj.GetValue("displacement");
+ { var __json0 = _obj.GetValue("night_light"); NightLight = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { float __v0; __v0 = (float)__e0; NightLight.Add(__v0); } }
+ }
+
+ public static Bobber DeserializeBobber(JToken _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/Entity/Generate/ConfigTable/Entity/BaitConfig.cs b/Entity/Generate/ConfigTable/Entity/BaitConfig.cs
deleted file mode 100644
index e8c4232..0000000
--- a/Entity/Generate/ConfigTable/Entity/BaitConfig.cs
+++ /dev/null
@@ -1,87 +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 BaitConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint EfficacyBase { get; set; } // 吸引力
- [ProtoMember(3)]
- public uint[] Arr { get; set; } = Array.Empty(); // 重量(克)
- [ProtoMember(4)]
- public string[] ArrStr { get; set; } = Array.Empty(); // 重量(克)
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static BaitConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static BaitConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static BaitConfig Fist()
- {
- return Context.Fist();
- }
-
- public static BaitConfig Last()
- {
- return Context.Last();
- }
-
- public static BaitConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static BaitConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/BasicConfig.cs b/Entity/Generate/ConfigTable/Entity/BasicConfig.cs
deleted file mode 100644
index da33e55..0000000
--- a/Entity/Generate/ConfigTable/Entity/BasicConfig.cs
+++ /dev/null
@@ -1,85 +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 BasicConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public string Name { get; set; } // 参数名
- [ProtoMember(3)]
- public string[] Val { get; set; } = Array.Empty(); // 参数值
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static BasicConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static BasicConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static BasicConfig Fist()
- {
- return Context.Fist();
- }
-
- public static BasicConfig Last()
- {
- return Context.Last();
- }
-
- public static BasicConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static BasicConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/BobberConfig.cs b/Entity/Generate/ConfigTable/Entity/BobberConfig.cs
deleted file mode 100644
index eb715bf..0000000
--- a/Entity/Generate/ConfigTable/Entity/BobberConfig.cs
+++ /dev/null
@@ -1,85 +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 BobberConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint Displacement { get; set; } // 位移
- [ProtoMember(3)]
- public uint NightLight { get; set; } // 是否夜光
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static BobberConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static BobberConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static BobberConfig Fist()
- {
- return Context.Fist();
- }
-
- public static BobberConfig Last()
- {
- return Context.Last();
- }
-
- public static BobberConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static BobberConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/FeederConfig.cs b/Entity/Generate/ConfigTable/Entity/FeederConfig.cs
deleted file mode 100644
index c189fe9..0000000
--- a/Entity/Generate/ConfigTable/Entity/FeederConfig.cs
+++ /dev/null
@@ -1,85 +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 FeederConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint Capacity { get; set; } // 能力
- [ProtoMember(3)]
- public uint Weight { get; set; } // 重量(克)
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static FeederConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static FeederConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static FeederConfig Fist()
- {
- return Context.Fist();
- }
-
- public static FeederConfig Last()
- {
- return Context.Last();
- }
-
- public static FeederConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static FeederConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/FishConfig.cs b/Entity/Generate/ConfigTable/Entity/FishConfig.cs
deleted file mode 100644
index 489306c..0000000
--- a/Entity/Generate/ConfigTable/Entity/FishConfig.cs
+++ /dev/null
@@ -1,93 +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 FishConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public string[] Model { get; set; } = Array.Empty(); // 模型
- [ProtoMember(3)]
- public uint Type { get; set; } // 类型
- [ProtoMember(4)]
- public uint SpeciesName { get; set; } // 鱼类型Id
- [ProtoMember(5)]
- public uint MinWeight { get; set; } // 最小重量(克)
- [ProtoMember(6)]
- public uint MaxWeight { get; set; } // 最大重量(克)
- [ProtoMember(7)]
- public uint Accept { get; set; } // 接受饵
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static FishConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static FishConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static FishConfig Fist()
- {
- return Context.Fist();
- }
-
- public static FishConfig Last()
- {
- return Context.Last();
- }
-
- public static FishConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static FishConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/GoodsConfig.cs b/Entity/Generate/ConfigTable/Entity/GoodsConfig.cs
deleted file mode 100644
index a0d821c..0000000
--- a/Entity/Generate/ConfigTable/Entity/GoodsConfig.cs
+++ /dev/null
@@ -1,97 +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 GoodsConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint[] Shop { get; set; } = Array.Empty(); // 出现商店
- [ProtoMember(3)]
- public uint Group { get; set; } // 组
- [ProtoMember(4)]
- public string[] Items { get; set; } = Array.Empty(); // 物品
- [ProtoMember(5)]
- public uint Price1 { get; set; } // 银币价格
- [ProtoMember(6)]
- public uint Price2 { get; set; } // 金币价格
- [ProtoMember(7)]
- public uint[] Label { get; set; } = Array.Empty(); // 标签
- [ProtoMember(8)]
- public uint Number { get; set; } // 可购买数量
- [ProtoMember(9)]
- public uint Disable { get; set; } // 禁用状态
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static GoodsConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static GoodsConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static GoodsConfig Fist()
- {
- return Context.Fist();
- }
-
- public static GoodsConfig Last()
- {
- return Context.Last();
- }
-
- public static GoodsConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static GoodsConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/HookConfig.cs b/Entity/Generate/ConfigTable/Entity/HookConfig.cs
deleted file mode 100644
index a5e2581..0000000
--- a/Entity/Generate/ConfigTable/Entity/HookConfig.cs
+++ /dev/null
@@ -1,83 +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 HookConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint Zadzior { get; set; } // 长钉
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static HookConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static HookConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static HookConfig Fist()
- {
- return Context.Fist();
- }
-
- public static HookConfig Last()
- {
- return Context.Last();
- }
-
- public static HookConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static HookConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/InitConfig.cs b/Entity/Generate/ConfigTable/Entity/InitConfig.cs
deleted file mode 100644
index fa11a8f..0000000
--- a/Entity/Generate/ConfigTable/Entity/InitConfig.cs
+++ /dev/null
@@ -1,83 +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 InitConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public int Amount { get; set; } // 数量
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static InitConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static InitConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static InitConfig Fist()
- {
- return Context.Fist();
- }
-
- public static InitConfig Last()
- {
- return Context.Last();
- }
-
- public static InitConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static InitConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/ItemConfig.cs b/Entity/Generate/ConfigTable/Entity/ItemConfig.cs
deleted file mode 100644
index 06e75b8..0000000
--- a/Entity/Generate/ConfigTable/Entity/ItemConfig.cs
+++ /dev/null
@@ -1,97 +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 ItemConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public string Model { get; set; } // 模型
- [ProtoMember(3)]
- public uint Type { get; set; } // 子类型
- [ProtoMember(4)]
- public uint Quality { get; set; } // 品质
- [ProtoMember(5)]
- public uint Brand { get; set; } // 品牌
- [ProtoMember(6)]
- public uint Weight { get; set; } // 重量(克)
- [ProtoMember(7)]
- public uint Length { get; set; } // 长度(毫米)
- [ProtoMember(8)]
- public uint Max { get; set; } // 最大堆叠数量
- [ProtoMember(9)]
- public uint AutoUse { get; set; } // 获得自动使用
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static ItemConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static ItemConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static ItemConfig Fist()
- {
- return Context.Fist();
- }
-
- public static ItemConfig Last()
- {
- return Context.Last();
- }
-
- public static ItemConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static ItemConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/LineConfig.cs b/Entity/Generate/ConfigTable/Entity/LineConfig.cs
deleted file mode 100644
index 54a1502..0000000
--- a/Entity/Generate/ConfigTable/Entity/LineConfig.cs
+++ /dev/null
@@ -1,85 +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 LineConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint Strength { get; set; } // 强度
- [ProtoMember(3)]
- public uint Size { get; set; } // 尺寸
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static LineConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static LineConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static LineConfig Fist()
- {
- return Context.Fist();
- }
-
- public static LineConfig Last()
- {
- return Context.Last();
- }
-
- public static LineConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static LineConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/LureConfig.cs b/Entity/Generate/ConfigTable/Entity/LureConfig.cs
deleted file mode 100644
index 29f0037..0000000
--- a/Entity/Generate/ConfigTable/Entity/LureConfig.cs
+++ /dev/null
@@ -1,87 +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 LureConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint[] Hook { get; set; } = Array.Empty(); // 勾
- [ProtoMember(3)]
- public uint HookNum { get; set; } // 装配鱼钩数量
- [ProtoMember(4)]
- public uint EfficacyBase { get; set; } // 吸引力
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static LureConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static LureConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static LureConfig Fist()
- {
- return Context.Fist();
- }
-
- public static LureConfig Last()
- {
- return Context.Last();
- }
-
- public static LureConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static LureConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/ReelConfig.cs b/Entity/Generate/ConfigTable/Entity/ReelConfig.cs
deleted file mode 100644
index 6555e2f..0000000
--- a/Entity/Generate/ConfigTable/Entity/ReelConfig.cs
+++ /dev/null
@@ -1,87 +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 ReelConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint ReelType { get; set; } // 鱼轮类型
- [ProtoMember(3)]
- public float[] GearRatio { get; set; } = Array.Empty(); // 组件比
- [ProtoMember(4)]
- public uint Strength { get; set; } // 强度
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static ReelConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static ReelConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static ReelConfig Fist()
- {
- return Context.Fist();
- }
-
- public static ReelConfig Last()
- {
- return Context.Last();
- }
-
- public static ReelConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static ReelConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/RingConfig.cs b/Entity/Generate/ConfigTable/Entity/RingConfig.cs
deleted file mode 100644
index cf21659..0000000
--- a/Entity/Generate/ConfigTable/Entity/RingConfig.cs
+++ /dev/null
@@ -1,85 +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 RingConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public string Model { get; set; } // 模型
- [ProtoMember(3)]
- public string Icon { get; set; } // 图标
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static RingConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static RingConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static RingConfig Fist()
- {
- return Context.Fist();
- }
-
- public static RingConfig Last()
- {
- return Context.Last();
- }
-
- public static RingConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static RingConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/RodConfig.cs b/Entity/Generate/ConfigTable/Entity/RodConfig.cs
deleted file mode 100644
index 646b639..0000000
--- a/Entity/Generate/ConfigTable/Entity/RodConfig.cs
+++ /dev/null
@@ -1,91 +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 RodConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public uint RodType { get; set; } // 鱼竿类型
- [ProtoMember(3)]
- public uint Ring { get; set; } // 导线圈
- [ProtoMember(4)]
- public uint Strength { get; set; } // 强度
- [ProtoMember(5)]
- public uint MaxRange { get; set; } // 最大范围
- [ProtoMember(6)]
- public uint ConstructionType { get; set; } // 结构类型
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static RodConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static RodConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static RodConfig Fist()
- {
- return Context.Fist();
- }
-
- public static RodConfig Last()
- {
- return Context.Last();
- }
-
- public static RodConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static RodConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/RodRingConfig.cs b/Entity/Generate/ConfigTable/Entity/RodRingConfig.cs
deleted file mode 100644
index d1921cc..0000000
--- a/Entity/Generate/ConfigTable/Entity/RodRingConfig.cs
+++ /dev/null
@@ -1,85 +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 RodRingConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public string Model { get; set; } // 模型
- [ProtoMember(3)]
- public uint Strength { get; set; } // 强度
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static RodRingConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static RodRingConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static RodRingConfig Fist()
- {
- return Context.Fist();
- }
-
- public static RodRingConfig Last()
- {
- return Context.Last();
- }
-
- public static RodRingConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static RodRingConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Entity/WeightConfig.cs b/Entity/Generate/ConfigTable/Entity/WeightConfig.cs
deleted file mode 100644
index 2758a31..0000000
--- a/Entity/Generate/ConfigTable/Entity/WeightConfig.cs
+++ /dev/null
@@ -1,89 +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 WeightConfig : ASerialize, IConfigTable
- {
-
- [ProtoMember(1)]
- public uint Id { get; set; } // Id
- [ProtoMember(2)]
- public string Model { get; set; } // 模型
- [ProtoMember(3)]
- public string Icon { get; set; } // 图标
- [ProtoMember(4)]
- public uint Type { get; set; } // 类型
- [ProtoMember(5)]
- public uint Weight { get; set; } // 重量(克)
- [ProtoIgnore]
- public uint Key => Id;
-
- #region Static
-
- private static ConfigContext Context => ConfigTableHelper.Table();
-
- public static WeightConfig Get(uint key)
- {
- return Context.Get(key);
- }
-
- public static WeightConfig Get(Predicate match)
- {
- return Context.Get(match);
- }
-
- public static WeightConfig Fist()
- {
- return Context.Fist();
- }
-
- public static WeightConfig Last()
- {
- return Context.Last();
- }
-
- public static WeightConfig Fist(Predicate match)
- {
- return Context.Fist(match);
- }
-
- public static WeightConfig Last(Predicate match)
- {
- return Context.Last(match);
- }
-
- public static int Count()
- {
- return Context.Count();
- }
-
- public static int Count(Func predicate)
- {
- return Context.Count(predicate);
- }
-
- public static List GetList()
- {
- return Context.GetList();
- }
-
- public static List GetList(Predicate match)
- {
- return Context.GetList(match);
- }
- public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
- {
- ConfigTableHelper.ParseLine(arr);
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Entity/Generate/ConfigTable/Feeder.cs b/Entity/Generate/ConfigTable/Feeder.cs
new file mode 100644
index 0000000..aa4ac2d
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Feeder.cs
@@ -0,0 +1,64 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Feeder : Luban.BeanBase
+{
+ public Feeder(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Capacity = (int)_obj.GetValue("capacity");
+ Weight = (int)_obj.GetValue("weight");
+ }
+
+ public static Feeder DeserializeFeeder(JToken _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/Entity/Generate/ConfigTable/Fish.cs b/Entity/Generate/ConfigTable/Fish.cs
new file mode 100644
index 0000000..d28a56a
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Fish.cs
@@ -0,0 +1,76 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Fish : Luban.BeanBase
+{
+ public Fish(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Name = (string)_obj.GetValue("name");
+ MinWeight = (int)_obj.GetValue("min_weight");
+ MaxWeight = (int)_obj.GetValue("max_weight");
+ Accept = (int)_obj.GetValue("accept");
+ }
+
+ public static Fish DeserializeFish(JToken _buf)
+ {
+ return new Fish(_buf);
+ }
+
+ ///
+ /// Id
+ ///
+ public readonly int Id;
+ ///
+ /// 鱼名字
+ ///
+ public readonly string Name;
+ ///
+ /// 最小重量(克)
+ ///
+ 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 + ","
+ + "minWeight:" + MinWeight + ","
+ + "maxWeight:" + MaxWeight + ","
+ + "accept:" + Accept + ","
+ + "}";
+ }
+}
+}
+
diff --git a/Entity/Generate/ConfigTable/Goods.cs b/Entity/Generate/ConfigTable/Goods.cs
new file mode 100644
index 0000000..40677d2
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Goods.cs
@@ -0,0 +1,94 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Goods : Luban.BeanBase
+{
+ public Goods(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Group = (int)_obj.GetValue("group");
+ { var __json0 = _obj.GetValue("items"); Items = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { int __v0; __v0 = (int)__e0; Items.Add(__v0); } }
+ Price1 = (int)_obj.GetValue("price1");
+ Price2 = (int)_obj.GetValue("price2");
+ { var __json0 = _obj.GetValue("label"); Label = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { int __v0; __v0 = (int)__e0; Label.Add(__v0); } }
+ Number = (int)_obj.GetValue("number");
+ Disable = (int)_obj.GetValue("disable");
+ }
+
+ public static Goods DeserializeGoods(JToken _buf)
+ {
+ return new Goods(_buf);
+ }
+
+ ///
+ /// Id
+ ///
+ public readonly int Id;
+ ///
+ /// 组
+ ///
+ public readonly int Group;
+ ///
+ /// 物品
+ ///
+ public readonly System.Collections.Generic.List Items;
+ ///
+ /// 银币价格
+ ///
+ public readonly int Price1;
+ ///
+ /// 金币价格
+ ///
+ public readonly int Price2;
+ ///
+ /// 标签
+ ///
+ public readonly System.Collections.Generic.List Label;
+ ///
+ /// 可购买数量
+ ///
+ public readonly int Number;
+ ///
+ /// 禁用状态
+ ///
+ public readonly int Disable;
+
+
+ public const int __ID__ = 68986678;
+ public override int GetTypeId() => __ID__;
+
+ public void ResolveRef(Tables tables)
+ {
+ }
+
+ public override string ToString()
+ {
+ return "{ "
+ + "id:" + Id + ","
+ + "group:" + Group + ","
+ + "items:" + Luban.StringUtil.CollectionToString(Items) + ","
+ + "price1:" + Price1 + ","
+ + "price2:" + Price2 + ","
+ + "label:" + Luban.StringUtil.CollectionToString(Label) + ","
+ + "number:" + Number + ","
+ + "disable:" + Disable + ","
+ + "}";
+ }
+}
+}
+
diff --git a/Entity/Generate/ConfigTable/Hook.cs b/Entity/Generate/ConfigTable/Hook.cs
new file mode 100644
index 0000000..295d756
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Hook.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Hook : Luban.BeanBase
+{
+ public Hook(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Ding = (int)_obj.GetValue("ding");
+ }
+
+ public static Hook DeserializeHook(JToken _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/Entity/Generate/ConfigTable/InitItemConfig.cs b/Entity/Generate/ConfigTable/InitItemConfig.cs
new file mode 100644
index 0000000..0195c27
--- /dev/null
+++ b/Entity/Generate/ConfigTable/InitItemConfig.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class InitItemConfig : Luban.BeanBase
+{
+ public InitItemConfig(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Count = (int)_obj.GetValue("count");
+ }
+
+ public static InitItemConfig DeserializeInitItemConfig(JToken _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/Entity/Generate/ConfigTable/Item.cs b/Entity/Generate/ConfigTable/Item.cs
new file mode 100644
index 0000000..6205232
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Item.cs
@@ -0,0 +1,106 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Item : Luban.BeanBase
+{
+ public Item(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Type = (int)_obj.GetValue("type");
+ Quality = (int)_obj.GetValue("quality");
+ Brand = (int)_obj.GetValue("brand");
+ Weight = (int)_obj.GetValue("weight");
+ Length = (int)_obj.GetValue("length");
+ Max = (int)_obj.GetValue("max");
+ AutoUse = (int)_obj.GetValue("auto_use");
+ { var __json0 = _obj.GetValue("result1"); Result1 = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { int __v0; __v0 = (int)__e0; Result1.Add(__v0); } }
+ { var __json0 = _obj.GetValue("result2"); Result2 = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { string __v0; __v0 = (string)__e0; Result2.Add(__v0); } }
+ }
+
+ public static Item DeserializeItem(JToken _buf)
+ {
+ return new Item(_buf);
+ }
+
+ ///
+ /// Id
+ ///
+ public readonly int Id;
+ ///
+ /// 子类型
+ ///
+ 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;
+ ///
+ /// 使用参数1
+ ///
+ public readonly System.Collections.Generic.List Result1;
+ ///
+ /// 使用参数2
+ ///
+ public readonly System.Collections.Generic.List Result2;
+
+
+ public const int __ID__ = 2289459;
+ public override int GetTypeId() => __ID__;
+
+ public void ResolveRef(Tables tables)
+ {
+ }
+
+ public override string ToString()
+ {
+ return "{ "
+ + "id:" + Id + ","
+ + "type:" + Type + ","
+ + "quality:" + Quality + ","
+ + "brand:" + Brand + ","
+ + "weight:" + Weight + ","
+ + "length:" + Length + ","
+ + "max:" + Max + ","
+ + "autoUse:" + AutoUse + ","
+ + "result1:" + Luban.StringUtil.CollectionToString(Result1) + ","
+ + "result2:" + Luban.StringUtil.CollectionToString(Result2) + ","
+ + "}";
+ }
+}
+}
+
diff --git a/Entity/Generate/ConfigTable/Line.cs b/Entity/Generate/ConfigTable/Line.cs
new file mode 100644
index 0000000..837a232
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Line.cs
@@ -0,0 +1,64 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Line : Luban.BeanBase
+{
+ public Line(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Strength = (int)_obj.GetValue("strength");
+ Size = (int)_obj.GetValue("size");
+ }
+
+ public static Line DeserializeLine(JToken _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/Entity/Generate/ConfigTable/Lure.cs b/Entity/Generate/ConfigTable/Lure.cs
new file mode 100644
index 0000000..420b1a7
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Lure.cs
@@ -0,0 +1,70 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Lure : Luban.BeanBase
+{
+ public Lure(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ { var __json0 = _obj.GetValue("hook"); Hook = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { int __v0; __v0 = (int)__e0; Hook.Add(__v0); } }
+ HookNum = (int)_obj.GetValue("hook_num");
+ EfficacyBase = (int)_obj.GetValue("efficacy_base");
+ }
+
+ public static Lure DeserializeLure(JToken _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/Entity/Generate/ConfigTable/Reel.cs b/Entity/Generate/ConfigTable/Reel.cs
new file mode 100644
index 0000000..3904b52
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Reel.cs
@@ -0,0 +1,70 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Reel : Luban.BeanBase
+{
+ public Reel(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ ReelType = (int)_obj.GetValue("reel_type");
+ { var __json0 = _obj.GetValue("gear_ratio"); GearRatio = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { float __v0; __v0 = (float)__e0; GearRatio.Add(__v0); } }
+ Strength = (int)_obj.GetValue("strength");
+ }
+
+ public static Reel DeserializeReel(JToken _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/Entity/Generate/ConfigTable/Rod.cs b/Entity/Generate/ConfigTable/Rod.cs
new file mode 100644
index 0000000..26c420f
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Rod.cs
@@ -0,0 +1,82 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Rod : Luban.BeanBase
+{
+ public Rod(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ RodType = (int)_obj.GetValue("rod_type");
+ Ring = (int)_obj.GetValue("ring");
+ Strength = (int)_obj.GetValue("strength");
+ MaxRange = (int)_obj.GetValue("max_range");
+ ConstructionType = (int)_obj.GetValue("construction_type");
+ }
+
+ public static Rod DeserializeRod(JToken _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/Entity/Generate/ConfigTable/Shop.cs b/Entity/Generate/ConfigTable/Shop.cs
new file mode 100644
index 0000000..307b6fe
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Shop.cs
@@ -0,0 +1,94 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+
+
+namespace cfg
+{
+
+public sealed partial class Shop : Luban.BeanBase
+{
+ public Shop(JToken _buf)
+ {
+ JObject _obj = _buf as JObject;
+ Id = (int)_obj.GetValue("id");
+ Group = (int)_obj.GetValue("group");
+ { var __json0 = _obj.GetValue("items"); Items = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { int __v0; __v0 = (int)__e0; Items.Add(__v0); } }
+ Price1 = (int)_obj.GetValue("price1");
+ Price2 = (int)_obj.GetValue("price2");
+ { var __json0 = _obj.GetValue("label"); Label = new System.Collections.Generic.List((__json0 as JArray).Count); foreach(JToken __e0 in __json0) { int __v0; __v0 = (int)__e0; Label.Add(__v0); } }
+ Number = (int)_obj.GetValue("number");
+ Disable = (int)_obj.GetValue("disable");
+ }
+
+ public static Shop DeserializeShop(JToken _buf)
+ {
+ return new Shop(_buf);
+ }
+
+ ///
+ /// Id
+ ///
+ public readonly int Id;
+ ///
+ /// 组
+ ///
+ public readonly int Group;
+ ///
+ /// 物品
+ ///
+ public readonly System.Collections.Generic.List Items;
+ ///
+ /// 银币价格
+ ///
+ public readonly int Price1;
+ ///
+ /// 金币价格
+ ///
+ public readonly int Price2;
+ ///
+ /// 标签
+ ///
+ public readonly System.Collections.Generic.List Label;
+ ///
+ /// 可购买数量
+ ///
+ public readonly int Number;
+ ///
+ /// 禁用状态
+ ///
+ public readonly int Disable;
+
+
+ public const int __ID__ = 2576150;
+ public override int GetTypeId() => __ID__;
+
+ public void ResolveRef(Tables tables)
+ {
+ }
+
+ public override string ToString()
+ {
+ return "{ "
+ + "id:" + Id + ","
+ + "group:" + Group + ","
+ + "items:" + Luban.StringUtil.CollectionToString(Items) + ","
+ + "price1:" + Price1 + ","
+ + "price2:" + Price2 + ","
+ + "label:" + Luban.StringUtil.CollectionToString(Label) + ","
+ + "number:" + Number + ","
+ + "disable:" + Disable + ","
+ + "}";
+ }
+}
+}
+
diff --git a/Entity/Generate/ConfigTable/Tables.cs b/Entity/Generate/ConfigTable/Tables.cs
new file mode 100644
index 0000000..6ab08f0
--- /dev/null
+++ b/Entity/Generate/ConfigTable/Tables.cs
@@ -0,0 +1,113 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+
+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 TbGoods TbGoods {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 TbShop TbShop {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"));
+ TbGoods = new TbGoods(loader("tbgoods"));
+ 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"));
+ TbShop = new TbShop(loader("tbshop"));
+ ResolveRef();
+ }
+
+ private void ResolveRef()
+ {
+ TbBait.ResolveRef(this);
+ TbBasicConfig.ResolveRef(this);
+ TbBobber.ResolveRef(this);
+ TbFeeder.ResolveRef(this);
+ TbFish.ResolveRef(this);
+ TbGoods.ResolveRef(this);
+ TbHook.ResolveRef(this);
+ TbInitItemConfig.ResolveRef(this);
+ TbItem.ResolveRef(this);
+ TbLine.ResolveRef(this);
+ TbLure.ResolveRef(this);
+ TbReel.ResolveRef(this);
+ TbRod.ResolveRef(this);
+ TbShop.ResolveRef(this);
+ }
+}
+
+}
+
diff --git a/Entity/Generate/ConfigTable/TbBait.cs b/Entity/Generate/ConfigTable/TbBait.cs
new file mode 100644
index 0000000..08c2af4
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbBait.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 鱼饵
+///
+public partial class TbBait
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbBait(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List(_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ Bait _v;
+ _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/Entity/Generate/ConfigTable/TbBasicConfig.cs b/Entity/Generate/ConfigTable/TbBasicConfig.cs
new file mode 100644
index 0000000..72e4a2c
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbBasicConfig.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 全局常量配置表
+///
+public partial class TbBasicConfig
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbBasicConfig(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List(_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ BasicConfig _v;
+ _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/Entity/Generate/ConfigTable/TbBobber.cs b/Entity/Generate/ConfigTable/TbBobber.cs
new file mode 100644
index 0000000..ecb6a4d
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbBobber.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 浮漂
+///
+public partial class TbBobber
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbBobber(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List(_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ Bobber _v;
+ _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/Entity/Generate/ConfigTable/TbFeeder.cs b/Entity/Generate/ConfigTable/TbFeeder.cs
new file mode 100644
index 0000000..46c0728
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbFeeder.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 菲德
+///
+public partial class TbFeeder
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbFeeder(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List(_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ Feeder _v;
+ _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/Entity/Generate/ConfigTable/TbFish.cs b/Entity/Generate/ConfigTable/TbFish.cs
new file mode 100644
index 0000000..d6c4c06
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbFish.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 鱼
+///
+public partial class TbFish
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbFish(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List(_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ Fish _v;
+ _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/Entity/Generate/ConfigTable/TbGoods.cs b/Entity/Generate/ConfigTable/TbGoods.cs
new file mode 100644
index 0000000..abadea5
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbGoods.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 商品
+///
+public partial class TbGoods
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbGoods(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List(_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ Goods _v;
+ _v = global::cfg.Goods.DeserializeGoods(_ele);
+ _dataList.Add(_v);
+ _dataMap.Add(_v.Id, _v);
+ }
+ }
+
+
+ public System.Collections.Generic.Dictionary DataMap => _dataMap;
+ public System.Collections.Generic.List DataList => _dataList;
+
+ public Goods GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : default;
+ public Goods Get(int key) => _dataMap[key];
+ public Goods this[int key] => _dataMap[key];
+
+ public void ResolveRef(Tables tables)
+ {
+ foreach(var _v in _dataList)
+ {
+ _v.ResolveRef(tables);
+ }
+ }
+
+}
+}
+
diff --git a/Entity/Generate/ConfigTable/TbHook.cs b/Entity/Generate/ConfigTable/TbHook.cs
new file mode 100644
index 0000000..ddda0d1
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbHook.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 鱼钩
+///
+public partial class TbHook
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbHook(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List(_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ Hook _v;
+ _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/Entity/Generate/ConfigTable/TbInitItemConfig.cs b/Entity/Generate/ConfigTable/TbInitItemConfig.cs
new file mode 100644
index 0000000..2892966
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbInitItemConfig.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 初始物品表
+///
+public partial class TbInitItemConfig
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbInitItemConfig(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List(_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ InitItemConfig _v;
+ _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/Entity/Generate/ConfigTable/TbItem.cs b/Entity/Generate/ConfigTable/TbItem.cs
new file mode 100644
index 0000000..3372249
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbItem.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 物品表
+///
+public partial class TbItem
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List- _dataList;
+
+ public TbItem(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List
- (_buf.Count);
+
+ foreach(JObject _ele in _buf)
+ {
+ Item _v;
+ _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/Entity/Generate/ConfigTable/TbLine.cs b/Entity/Generate/ConfigTable/TbLine.cs
new file mode 100644
index 0000000..2b460ce
--- /dev/null
+++ b/Entity/Generate/ConfigTable/TbLine.cs
@@ -0,0 +1,58 @@
+
+//------------------------------------------------------------------------------
+//
+// 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 Newtonsoft.Json.Linq;
+using Luban;
+
+
+
+namespace cfg
+{
+
+///
+/// 鱼线
+///
+public partial class TbLine
+{
+ private readonly System.Collections.Generic.Dictionary _dataMap;
+ private readonly System.Collections.Generic.List _dataList;
+
+ public TbLine(JArray _buf)
+ {
+ _dataMap = new System.Collections.Generic.Dictionary(_buf.Count);
+ _dataList = new System.Collections.Generic.List