diff --git a/Docs/FunGame.Core.xml b/Docs/FunGame.Core.xml
deleted file mode 100644
index ac911b1..0000000
--- a/Docs/FunGame.Core.xml
+++ /dev/null
@@ -1,3494 +0,0 @@
-
-
-
- FunGame.Core
-
-
-
-
- 需要配合 使用
- 如果是 的数据请求,则配合 使用
- 确保已添加对应的枚举
-
-
-
-
- 数据请求结果
-
-
-
-
- 详细错误信息
-
-
-
-
- 私有的实现类
-
-
-
-
- 私有的实现类(这是局内请求的)
-
-
-
-
- 基于本地已连接的 创建新的数据请求
- 使用 中的 创建一个新的请求
- 插件则使用 中的 创建一个新的请求
-
-
-
-
-
-
-
-
- 基于本地已连接的 创建新的数据请求
- 使用 中的 创建一个新的请求
- 插件则使用 中的 创建一个新的请求
- 此数据请求只能调用异步方法 请求数据
-
-
-
-
-
-
-
-
- 基于本地已连接的 创建新的局内()数据请求
- 使用 中的 创建一个新的请求
- 此构造方法是给 提供的
-
-
-
-
-
-
-
-
- 基于本地已连接的 创建新的局内()数据请求
- 使用 中的 创建一个新的请求
- 此构造方法是给 提供的
- 此数据请求只能调用异步方法 请求数据
-
-
-
-
-
-
-
-
- 添加数据
-
-
-
-
-
-
- 长时间运行的数据请求需要在使用完毕后自行关闭
-
-
-
-
- 向服务器发送数据请求
- 警告: 调用此方法将抛出异常。请调用并等待
-
-
-
-
-
-
- 异步向服务器发送数据请求
-
-
-
-
-
- 获取指定key对应的反序列化对象
-
-
-
-
-
-
-
- 常规数据请求
-
-
-
-
- 游戏局内请求
-
-
-
-
- 反序列化Hashtable中的Json对象
-
-
-
-
-
-
-
-
- 邮件服务内部ID
-
-
-
-
- Smtp客户端信息
-
-
-
-
- 上一个邮件发送的结果
-
-
-
-
- 上一个邮件的发送错误信息(如果发送失败)
-
-
-
- 内部变量
-
-
-
- 创建邮件服务
-
-
-
-
-
-
-
-
-
-
- 创建完整邮件对象
-
-
-
-
-
-
-
-
-
-
-
-
- 发送邮件
-
-
-
-
-
-
- 关闭邮件服务
-
-
-
-
- 关闭邮件服务
-
-
-
-
-
- 需要在Server中继承此类实现
-
-
-
-
- 执行一个命令
-
- 影响的行数
-
-
-
- 执行一个指定的命令
-
- 命令
- 影响的行数
-
-
-
- 查询DataSet
-
- 结果集
-
-
-
- 执行指定的命令查询DataSet
-
- 命令
- 结果集
-
-
-
- 执行指定的命令查询DataRow(可选实现)
-
- 结果行
-
-
-
- 执行指定的命令查询DataRow(可选实现)
-
- 命令
- 结果行
-
-
-
- 关闭连接
-
-
-
-
- 创建一个SQL事务
-
-
-
-
- 提交事务
-
-
-
-
- 回滚事务
-
-
-
-
- 获取角色实例
-
-
-
-
-
- 获取库存实例
-
-
-
-
-
- 获取物品实例
-
- Item类型 主动 或 被动
-
-
-
-
- 获取房间实例
-
- 房间内部序列号
- 房间号
- 创建时间
- 房主
- 房间类型
- 游戏模组
-
- 房间状态
-
- 房间密码
-
-
-
-
- 通过DataSet获取房间实例
-
-
-
-
-
-
-
- 通过DataSet获取房间列表
-
-
-
-
-
-
-
- 获取大厅(-1号房)
-
-
-
-
-
- 获取技能实例
-
- Skill类型 主动 或 被动
-
-
-
-
- 获取用户实例
-
-
-
-
-
- 获取用户实例
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 获取用户实例
-
-
-
-
-
-
- 获取用户实例
-
-
-
-
-
-
- 适用于客户端的模组集
-
-
-
-
- 适用于服务器的模组集
-
-
-
-
- 游戏地图集
-
-
-
-
- 角色表
-
-
-
-
- 技能表
-
-
-
-
- 物品表
-
-
-
-
- 客户端模组与服务器模组的关联字典
-
-
-
-
- 传入 类型来创建指定端的模组读取器
- runtime = 时,仅读取
- runtime = 时,都会读取,并且生成关联字典
- 都会读取
-
- 传入 类型来创建指定端的模组读取器
- 用于构建
- 其他需要传入给插件初始化的对象
-
-
-
-
- 获取对应名称的模组实例
- 如果需要取得服务器模组的实例,请调用
-
-
-
-
-
-
- 获取对应名称的服务器模组实例
-
-
-
-
-
-
- 获取对应名称的游戏地图
-
-
-
-
-
-
- 网络服务工具箱
-
-
-
-
- 判断字符串是否是IP地址
-
-
-
-
-
-
- 判断字符串是否为邮箱地址
-
-
-
-
-
-
- 判断字符串是否是正常的用户名(只有中英文和数字)
-
-
-
-
-
-
- 获取用户名长度
-
-
-
-
-
-
- 判断字符串是否是一个FunGame可接受的服务器地址
- 此方法可以解析域名
-
-
-
-
- 返回地址验证结果,同时输出服务器地址和端口号
-
-
-
- 判断参数是否是一个FunGame可接受的服务器地址
-
-
-
-
-
-
-
- 获取服务器的延迟
-
- 服务器IP地址
-
-
-
-
- 解析域名为IP地址
-
-
-
-
-
-
-
- 返回目标对象的Json字符串
-
-
-
-
-
-
-
- 返回目标对象的Json字符串 可指定反序列化选项
-
-
-
-
-
-
-
-
- 反序列化Json对象
-
-
-
-
-
-
-
- 反序列化Json对象 可指定反序列化选项
-
-
-
-
-
-
-
-
- 反序列化Hashtable中的Json对象
-
-
-
-
-
-
-
-
- 反序列化IEnumerable中的Json对象
-
-
-
-
-
-
-
-
- 反序列化IEnumerable中的Json对象 可指定反序列化选项
-
-
-
-
-
-
-
-
-
- 反序列化Hashtable中的Json对象 可指定反序列化选项
-
-
-
-
-
-
-
-
-
- 时间服务工具箱
-
-
-
-
- 获取系统时间
-
- 格式化类型
-
-
-
-
- 通过字符串转换为DateTime对象
-
- 时间字符串
- 转换失败返回当前时间
-
-
-
- 获取系统时间并转为字符串
-
- 格式化类型
-
-
-
-
- 获取系统时间并转为字符串
-
- 格式化字符串
-
-
-
-
- 获取系统短时间
-
- 时:分:秒
-
-
-
- 获取系统日期
-
-
-
-
-
- 加密服务工具箱
-
-
-
-
- 使用HMACSHA512算法加密
-
- 需要加密的值
- 秘钥
-
-
-
-
- 使用RSA算法加密
-
- 明文
- 公钥
-
-
-
-
- 使用RSA算法解密
-
- 密文
- 私钥
-
-
-
-
- 为字符串(string)添加扩展方法
-
-
-
-
- 使用HMACSHA512算法加密
-
- 需要加密的值
- 秘钥
-
-
-
-
- 验证码服务工具箱
-
-
-
-
- 生成验证码
-
- 类型
- 长度
-
-
-
-
- 数字验证码
-
-
-
-
-
-
- 字母验证码
-
-
-
-
-
-
- 混合验证码
-
-
-
-
-
-
- 多线程服务工具箱
-
-
-
-
- 开启一个任务:调用返回对象的OnCompleted()方法可以执行后续操作,支持异步
-
-
-
-
-
- 开启一个任务:调用返回对象的OnCompleted()方法可以执行后续操作,支持异步
-
-
-
-
-
- 开启一个计时器任务
-
-
-
-
-
-
- See: , ,
-
-
-
-
- 获取FunGame.Implement.dll中接口的实现方法
-
- 程序集
- 接口代号
-
-
-
-
- 获取接口实现类类名
-
- 接口类型
-
-
-
-
- 获取接口方法名(支持属性)
-
- 方法
-
-
-
-
- 公开方法:获取FunGame.Implement.DLL中指定方法(属性)的返回值
-
- 接口代号
- 方法代号(支持属性)
- 是否是方法(如是属性请传入false)
-
-
-
-
- 创建一个Json工具类
- 此工具类拥有单独的序列化选项,支持添加自定义转换器
- 继承自
-
-
-
-
- 序列化选项
- 已经默认添加了下列转换器:
- , ,
-
-
-
-
- 注册一个自定义转换器,支持
-
-
-
-
-
- 注册多个自定义转换器,支持
-
-
-
-
-
- 获取Json字符串
-
-
-
-
-
-
-
- 反序列化Json对象
-
-
-
-
-
-
-
- 反序列化Json对象,此方法可能无法返回正确的类型,请注意辨别
-
-
-
-
-
-
- 反序列化Hashtable中Key对应的Json对象
-
-
-
-
-
-
-
-
- 反序列化IEnumerable中的Json对象 可指定反序列化选项
-
-
-
-
-
-
-
-
- 反序列化多个Json对象
- 注意必须是相同的Json对象才可以使用此方法解析
-
-
-
-
-
-
-
- Private JsonSerializerOptions
-
-
-
-
- 简易的插件配置文件生成器
- 仅支持部分基本类型(, , , )及其数组(List<long>, List<decimal>, List<string>, List<bool>和long[], decimal[], string[], bool[])
- 文件会保存为:程序目录/configs//.json
-
-
- 新建一个配置文件,文件会保存为:程序目录/configs//.json
-
-
-
-
-
-
- 简易的插件配置文件生成器
- 仅支持部分基本类型(, , , )及其数组(List<long>, List<decimal>, List<string>, List<bool>和long[], decimal[], string[], bool[])
- 文件会保存为:程序目录/configs//.json
-
-
- 新建一个配置文件,文件会保存为:程序目录/configs//.json
-
-
-
-
-
-
- 插件的名称
-
-
-
-
- 配置文件的名称(后缀将是.json)
-
-
-
-
- 使用索引器给指定key赋值,不存在key会新增
-
-
-
-
-
-
- 如果保存了对象,请使用此方法转换
-
-
-
-
-
-
- 获取指定key的value
-
-
-
-
-
-
- 使用泛型获取指定key的value
-
-
-
-
-
-
-
- 添加一个配置,如果已存在key会覆盖
-
-
-
-
-
-
- 从配置文件中读取配置。
- 注意:所有保存时为数组的对象都会变成对象,并且不支持类型
-
-
-
-
- 将配置保存到配置文件。调用此方法会覆盖原有的.json,请注意备份
-
-
-
-
- Json反序列化的方法
-
-
-
-
-
-
- Json数组反序列化的方法。不支持数组。
-
-
-
-
-
-
- 已读取的插件列表
- key 是
-
-
-
-
- 构建一个插件读取器并读取插件
-
- 用于构建
- 其他需要传入给插件初始化的对象
-
-
-
-
- 单例表:表中的对象以类名作为Key保存,并以Key获取该对象,Key具有唯一约束
- 用于储存单例对象使用
-
-
-
-
- 查询目标的类是否已经有实例
-
- 单例对象
-
-
-
-
- 将目标和目标的类添加至单例表
-
- 单例对象
-
- 添加单例到单例表时遇到错误
-
-
-
- 将目标和目标的类从单例表中移除
-
- 单例对象
-
-
-
-
- 获取单例对象
-
- 目标类
-
- 不能从单例表中获取到指定的单例
-
-
-
- 获取单例对象
-
- 目标类
-
- 不能从单例表中获取到指定的单例
-
-
-
- 默认的配置文件名称
-
-
-
-
- 写入ini文件
-
- Section
- 键
- 值
- 文件名,缺省为FunGame.ini
-
-
-
- 读取ini文件
-
- Section
- 键
- 文件名,缺省为FunGame.ini
- 读取到的值
-
-
-
- 查询ini文件是否存在
-
- 文件名,缺省为FunGame.ini
- 是否存在
-
-
-
- 初始化ini模板文件
-
-
-
-
- 读取TXT文件内容
-
- 文件名
- 相对路径
- 内容
-
-
-
- 写入TXT文件内容(如不存在文件会创建,反之新起一行追加)
-
-
- 文件名
- 相对路径
- 内容
-
-
-
- 追加错误日志 默认写入logs文件夹下的当日日期.log文件
-
-
-
-
-
- Aka. 2FA 双重认证 双因素身份验证
-
-
-
-
- SQLHelper 允许为空
-
-
-
-
- 不使用SQL模式
-
-
-
-
- 使用SQL模式 记录对应账号的密文到数据库中
-
-
-
-
-
- 检查账号是否需要2FA
-
-
-
-
-
-
- 2FA验证
-
-
-
-
-
-
-
- 每30秒刷新
-
-
-
-
- 6位数字2FA验证码
-
-
-
-
- ----- PUBLIC KEY -----
-
-
-
-
- ----- SECRET SIGN -----
-
-
-
-
- 创键私钥,用于绑定账号,并生成两个文件,需要用户保存
-
-
-
-
- 生成随机秘钥字符串
-
-
-
-
-
-
- 生成基于当前时间戳的6位数字2FA验证码
-
-
-
-
-
-
- 获取当前时间节点
-
-
-
-
-
- 生成验证码
-
-
-
-
-
-
-
- 拆分字符串中的密文和私钥
-
-
-
-
-
-
-
- 这个控制器在Base的基础上添加了DataRequest
-
-
-
-
-
- 基于本地已连接的Socket创建新的数据请求
-
-
-
-
- 基于本地已连接的Socket创建长时间运行的数据请求
-
-
-
-
- 基于本地已连接的Socket创建新的局内数据请求
-
-
-
-
- 基于本地已连接的Socket创建长时间运行的局内数据请求
-
-
-
-
- 基于本地已连接的Socket创建新的数据请求
- 此方法只允许插件调用,如果是模组和模组服务器调用此方法将抛出异常
-
-
-
-
-
-
-
- 基于本地已连接的Socket创建长时间运行的数据请求
- 此方法只允许插件调用,如果是模组和模组服务器调用此方法将抛出异常
-
-
-
-
-
-
-
- 基于本地已连接的Socket创建新的局内()数据请求
- 此方法是给 提供的,但是 也能调用
- 模组服务器调用此方法将抛出异常
-
-
-
-
-
-
-
-
- 基于本地已连接的Socket创建长时间运行的局内()数据请求
- 此方法是给 提供的,但是 也能调用
- 模组服务器调用此方法将抛出异常
-
-
-
-
-
-
-
-
- 新建一个AddonController
-
-
-
-
-
-
- 这是通用的控制器,仅提供基本功能
-
- Addon的类型,如或者
-
-
-
- 控制器的本体
-
-
-
-
- 输出系统消息
-
-
-
-
- 输出错误消息
-
-
-
-
- 输出系统消息
-
-
-
-
-
-
- 输出错误消息
-
-
-
-
-
-
- 新建一个BaseAddonController
-
-
-
-
-
-
- 默认的输出错误消息方法
-
-
-
-
-
-
- 输出错误消息
-
-
-
-
-
-
- 此类实现服务器连接、断开连接、心跳检测、创建数据请求等功能
- -- 需要继承并实现部分方法 --
-
-
-
-
- 与服务器的连接套接字实例
-
-
-
-
- 套接字是否已经连接
-
-
-
-
- 接收服务器信息的线程
-
-
-
-
- 用于类内赋值
-
-
-
-
- 是否正在接收服务器信息
-
-
-
-
- 断开服务器连接
-
-
-
-
-
- 发送结束游戏反馈
-
-
-
-
-
- 连接服务器
-
-
-
-
-
-
-
- 获取服务器地址
-
- string:IP地址;int:端口号
-
-
-
-
- 此方法将在连接服务器前触发
- 客户端可以重写此方法
-
- 服务器IP
- 服务器端口
- 重写时可以提供额外的连接参数
- false:中止连接
-
-
-
- 此方法将在连接服务器后触发(Connect结果返回前)
- 客户端可以重写此方法
-
- 连接服务器后返回的一些数据,可以使用也可以修改它们
-
-
-
-
- 客户端需要自行实现自动登录的事务
-
-
-
-
- 关闭所有连接
-
-
-
-
-
- 输出消息
-
-
-
-
-
- 自定处理异常的方法
- -- 一般放在catch中 --
-
-
-
-
-
- 基于本地已连接的Socket创建新的数据请求
-
-
-
-
-
-
-
- 基于本地已连接的Socket创建长时间运行的数据请求
-
-
-
-
-
-
-
- 基于本地已连接的Socket创建新的数据请求
- 加载项专用( / )
-
-
-
-
-
-
-
- 基于本地已连接的Socket创建长时间运行的数据请求
- 加载项专用( / )
-
-
-
-
-
-
-
- 基于本地已连接的Socket创建新的局内()数据请求
- 加载项专用:此方法是给 提供的
-
-
-
-
-
-
-
- 基于本地已连接的Socket创建长时间运行的局内()数据请求
- 加载项专用:此方法是给 提供的
-
-
-
-
-
-
-
- 开始接收服务器信息
-
-
-
-
- 获取服务器已发送的信息为SocketObject数组
-
-
-
-
-
- 具体接收服务器信息以及处理信息的方法
-
-
-
-
-
- 客户端接收服务器断开连接的通知
-
-
-
-
-
- 客户端接收并处理服务器系统消息
-
-
-
-
-
- 客户端接收并处理服务器心跳
-
-
-
-
-
- 客户端接收强制退出登录的通知
-
-
-
-
-
- 客户端接收并处理聊天信息
-
-
-
-
-
- 客户端接收并处理更换房主信息
-
-
-
-
-
- 客户端接收并处理匹配房间成功信息
-
-
-
-
-
- 客户端接收并处理开始游戏信息
-
-
-
-
-
- 客户端接收并处理游戏结束信息
-
-
-
-
-
- 客户端接收并处理局内消息
-
-
-
-
-
- 继承 AsyncAwaiter 用法:
- 1、调用Socket.Send()前,请设置为等待状态:SetWorking();
- 2、调用Socket.Send() == Success后,请等待任务完成:WaitForWorkDone();
- 3、在其他任何地方修改Working状态,均会使任务终止。
-
-
-
-
- 接收到的SocketObject实例
-
-
-
-
- Socket
-
-
-
-
- WebSocket
-
-
-
-
- 继承请调用base构造
-
- Socket
-
-
-
- 继承请调用base构造
-
- Socket
-
-
-
- 继承请重写此方法
-
- SocketObject
-
-
-
- 判断是否已经Disposed
-
-
-
-
- 公开的Dispose方法
-
-
-
-
- 关闭时
-
-
-
-
-
- 关闭事件
-
-
-
-
- Controller关闭时事件
- 不建议new Dispose()方法,建议使用事件
- 事件会在base.Dispose()执行前触发
-
-
-
-
- 触发关闭事件
-
-
-
-
- 实体的数字ID
-
-
-
-
- 实体的唯一ID
-
-
-
-
- 实体的名称
-
-
-
-
- 角色的名字
-
-
-
-
- 角色的昵称
-
-
-
-
- 角色所属的玩家
-
-
-
-
- 角色统计数据
-
-
-
-
- 魔法属性
-
-
-
-
- 角色定位1
-
-
-
-
- 角色定位2
-
-
-
-
- 角色定位3
-
-
-
-
- 角色评级
-
-
-
-
- 晋升点数
-
-
-
-
- 等级
-
-
-
-
- 经验值
-
-
-
-
- 基础生命值
-
-
-
-
- 生命值
-
-
-
-
- 基础魔法值
-
-
-
-
- 魔法值
-
-
-
-
- 能量
-
-
-
-
- 基础攻击力
-
-
-
-
- 攻击力
-
-
-
-
- 基础物理护甲
-
-
-
-
- 物理护甲
-
-
-
-
- 物理伤害减免(%)
-
-
-
-
- 魔法抗性(%)
-
-
-
-
- 物理穿透(%)
-
-
-
-
- 魔法穿透(%)
-
-
-
-
- 生命回复力
-
-
-
-
- 魔法回复力
-
-
-
-
- 能量回复力
-
-
-
-
- 基础力量
-
-
-
-
- 基础敏捷
-
-
-
-
- 基础智力
-
-
-
-
- 力量
-
-
-
-
- 敏捷
-
-
-
-
- 智力
-
-
-
-
- 力量成长值
-
-
-
-
- 敏捷成长值
-
-
-
-
- 智力成长值
-
-
-
-
- 速度
-
-
-
-
- 行动系数(%)
-
-
-
-
- 加速系数(%)
-
-
-
-
- 攻击距离
-
-
-
-
- 暴击率(%)
-
-
-
-
- 暴击伤害
-
-
-
-
- 闪避率(%)
-
-
-
-
- 角色的技能组
-
-
-
-
- 角色携带的物品
-
-
-
-
- 记录 的生涯、赛季统计数据
- Key为赛季(long),每个key代表第key赛季,key = 0时为生涯数据。
-
-
-
-
- 服务器实例是否在运行
-
-
-
-
- 客户端的套接字实例
-
-
-
-
- 客户端的用户实例,在用户登录后有效
-
-
-
-
- 客户端的名称,默认是客户端的IP地址
-
-
-
-
- 客户端是否启动了开发者模式
-
-
-
-
- 向客户端发送消息
-
-
-
-
-
-
-
-
- 向客户端发送系统消息
-
-
-
-
-
-
-
-
-
- 获取客户端的名称,通常未登录时显示为客户端的IP地址,登录后显示为账号名
-
-
-
-
-
- 开始接收客户端消息
- 请勿在 中调用此方法
-
-
-
-
-
-
- 启动对客户端的监听
- 请勿在 中调用此方法
-
-
-
-
- 窗体继承这些接口便能实现事件,或为插件预留。
-
-
-
-
- 局内事件的接口,与 配套使用
-
-
-
-
- 这是最基本的接口,要求客户端实现
-
-
-
-
- 服务器需要实现此接口
-
-
-
-
- 模组名称
-
-
-
-
- 模组描述
-
-
-
-
- 模组版本
-
-
-
-
- 模组作者
-
-
-
-
- 此模组中包含的角色
-
-
-
-
- 加载标记
-
-
-
-
- 加载模组
-
-
-
-
- 模组加载后需要做的事
-
-
-
-
- 允许返回false来阻止加载此模组
-
-
-
-
-
- 建议使用一个类来存储常量,方便重用
-
-
-
-
- 模组:必须继承基类:
- 继承事件接口并实现其方法来使模组生效。例如继承:
-
-
-
-
- 模组服务器:必须继承基类:
- 使用switch块分类处理 。
-
-
-
-
- 注意:服务器模组的名称必须和模组名称相同。除非你指定了 和
-
-
-
-
- 地图:必须继承基类:
-
-
-
-
- 角色:必须继承基类:
-
-
-
-
- 技能:必须继承基类:
-
-
-
-
- 物品:必须继承基类:
-
-
-
-
- 必须继承基类:
- 继承事件接口并实现其方法来使插件生效。例如继承:
-
-
-
-
- 地图名称
-
-
-
-
- 地图描述
-
-
-
-
- 地图版本
-
-
-
-
- 地图作者
-
-
-
-
- 长度
-
-
-
-
- 宽度
-
-
-
-
- 高度
-
-
-
-
- 格子大小
-
-
-
-
- 格子集
-
-
-
-
- 使用坐标获取格子,0号格子的坐标是(0, 0),如果你还有高度的话,则是(0, 0, 0)
-
-
-
-
-
-
-
-
- 使用坐标获取格子,从0号开始
-
-
-
-
-
-
- 加载标记
-
-
-
-
- 加载地图
-
-
-
-
-
-
- 加载后需要做的事
-
-
-
-
- 允许返回false来阻止加载此地图
-
-
-
-
-
- 模组名称
-
-
-
-
- 模组描述
-
-
-
-
- 模组版本
-
-
-
-
- 模组作者
-
-
-
-
- 默认地图
-
-
-
-
- 模组的依赖集合
-
-
-
-
- 适用的房间模式
-
-
-
-
- 是否连接其他的服务器模组
-
-
-
-
- 如果将 设置为true,那么此属性必须指定一个存在的服务器模组的 名称。
-
-
-
-
- 包含了一些常用方法的控制器
-
-
-
-
- base控制器,没有DataRequest
-
-
-
-
- 控制器内部变量
-
-
-
-
- 必须重写此方法,游戏的主要逻辑写在这里面
- 此方法会在 时调用
-
-
-
-
-
-
-
- 如模组有界面,请重写此方法
-
-
-
-
-
-
- 加载标记
-
-
-
-
- 加载模组
-
-
-
-
- 模组加载后需要做的事
-
-
-
-
- 允许返回false来阻止加载此模组
-
-
-
-
-
- 传递委托以便让模组调用
-
-
-
-
- Session对象
-
-
-
-
- Config对象
-
-
-
-
- 关联的服务器模组名称
-
-
-
-
- 绑定事件。在后触发
-
-
-
-
- 模组的依赖集合
- (地图名称()的数组)
- (角色模组名称()的数组)
- (技能模组名称()的数组)
- (物品模组名称()的数组)
-
-
-
-
- 模组的依赖集合
- (地图名称()的数组)
- (角色模组名称()的数组)
- (技能模组名称()的数组)
- (物品模组名称()的数组)
-
-
-
-
- 模组所使用的地图组
-
-
-
-
- 模组所使用的角色组
-
-
-
-
- 模组所使用的技能组
-
-
-
-
- 模组所使用的物品组
-
-
-
-
- 实际使用的地图组对象
- 请使用 自动填充,不要自己添加
-
-
-
-
- 实际使用的角色组对象
- 请使用 自动填充,不要自己添加
-
-
-
-
- 实际使用的技能组对象
- 请使用 自动填充,不要自己添加
-
-
-
-
- 实际使用的物品组对象
- 请使用 自动填充,不要自己添加
-
-
-
-
- 获得所有的依赖项
- 此方法会自动填充
-
-
-
-
- 服务器模组的名称
- 如果服务器模组配合一个相关联的模组使用,那么它们的 名称必须相同。
-
-
-
-
- 模组描述
-
-
-
-
- 模组版本
-
-
-
-
- 模组作者
-
-
-
-
- 默认地图
-
-
-
-
- 模组的依赖集合
-
-
-
-
- 包含了一些常用方法的控制器
-
-
-
-
- 控制器内部变量
-
-
-
-
- 启动服务器监听 请在此处实现服务器逻辑
-
-
-
-
-
-
-
-
-
-
-
- 接收并处理GamingMessage
-
- 发送此消息的账号
- 消息类型
- 消息参数
- 底层会将哈希表中的数据发送给客户端
-
-
-
- 加载标记
-
-
-
-
- 加载模组
-
-
-
-
- 模组加载后需要做的事
-
-
-
-
- 允许返回false来阻止加载此模组
-
-
-
-
-
- 格子编号
-
-
-
-
- 格子在地图中的x坐标
-
-
-
-
- 格子在地图中的y坐标
-
-
-
-
- 格子在地图中的z坐标
-
-
-
-
- 是谁站在这格子上?
-
-
-
-
- 此格子目前受到了什么影响?或者它有什么技能…
-
-
-
-
- 此格子呈现的颜色(默认为 )
-
-
-
-
- 模组名称
-
-
-
-
- 模组描述
-
-
-
-
- 模组版本
-
-
-
-
- 模组作者
-
-
-
-
- 此模组中包含的物品
-
-
-
-
- 加载标记
-
-
-
-
- 加载模组
-
-
-
-
- 模组加载后需要做的事
-
-
-
-
- 允许返回false来阻止加载此模组
-
-
-
-
-
- 插件名称
-
-
-
-
- 插件描述
-
-
-
-
- 插件版本
-
-
-
-
- 插件作者
-
-
-
-
- 包含了一些常用方法的控制器
-
-
-
-
- base控制器,没有DataRequest
-
-
-
-
- 控制器内部变量
-
-
-
-
- 加载标记
-
-
-
-
- 加载插件
-
-
-
-
- 插件加载后需要做的事
-
-
-
-
- 允许返回false来阻止加载此插件
-
-
-
-
-
- 传递委托以便让插件调用
-
-
-
-
- Session对象
-
-
-
-
- Config对象
-
-
-
-
- 绑定事件。在后触发
-
-
-
-
- 模组名称
-
-
-
-
- 模组描述
-
-
-
-
- 模组版本
-
-
-
-
- 模组作者
-
-
-
-
- 此模组中包含的技能
-
-
-
-
- 加载标记
-
-
-
-
- 加载模组
-
-
-
-
- 模组加载后需要做的事
-
-
-
-
- 允许返回false来阻止加载此模组
-
-
-
-
-
- 继承这个类可以获得异步等待的功能
- 参考实现
-
-
-
-
- 接收到的实例
-
-
-
-
- 是否处于等待的状态
-
-
-
-
- 异步操作前,请设置为等待状态
-
-
-
-
- 等待任务完成(需要自己异步)
-
-
-
-
- 异步等待任务完成
-
-
-
-
- 任务的等待器,可以设置在任务完成后需要的操作
-
-
-
-
- 任务是否完成
-
-
-
-
- 捕获到的异常
-
-
-
-
- 内部实现类
- 实现参见
-
-
-
-
- 构造一个等待器
-
-
-
-
-
- 返回TaskAwaiter可以连续的调用方法
- 但是意义不大,前一个OnCompleted方法并不会等待下一个方法
- 可以理解为并行广播
-
-
-
-
-
-
- 在捕获到异常时,将触发Error事件
-
-
-
-
-
-
- 发件人邮箱
-
-
-
-
- 发件人名称
-
-
-
-
- 邮件主题
-
-
-
-
- 邮件内容
-
-
-
-
- 邮件优先级
-
-
-
-
- 内容是否支持HTML
-
-
-
-
- 收件人列表
-
-
-
-
- 抄送列表
-
-
-
-
- 密送列表
-
-
-
-
- 使用MailSender工具类创建邮件对象
-
-
-
-
-
- 使用地址和名称创建邮件对象
-
-
-
-
-
-
- 使用地址和名称创建邮件对象,同时写主题、内容、单个收件人
-
-
-
-
-
-
-
-
- 使用地址和名称创建邮件对象,同时写主题、内容、单个收件人、单个抄送
-
-
-
-
-
-
-
-
-
- 完整的创建邮件对象
-
-
-
-
-
-
-
-
-
-
-
-
- 发送邮件
- -- 适合创建一次性邮件并发送 --
-
-
-
-
-
-
- 添加收件人
-
-
-
-
-
- 添加多个收件人
-
-
-
-
-
- 添加抄送
-
-
-
-
-
- 添加多个抄送
-
-
-
-
-
- 添加密送
-
-
-
-
-
- 添加多个密送
-
-
-
-
-
- 从参数列表中获取指定类型和索引的参数
-
- 类型
- 索引
- 类型的参数
- 索引超过数组上限
-
-
-
- 配合 使用,也别忘了修改
-
-
-
-
- 需要同步更新
-
-
-
-
- 将通信类型的枚举转换为字符串
-
- 通信类型
- 等效字符串
-
-
-
- 需要同步更新
-
-
-
- RunTime
-
-
- Main
-
-
- Register
-
-
- Login
-
-
- Room
-
-
- Gaming
-
-
-
- 获取Type的等效字符串
-
-
-
-
-
-
- 获取Type的等效字符串
-
-
-
-
-
-
- 获取Type的等效字符串
-
-
-
-
-
-
- 获取字符串对应的枚举
-
-
-
-
-
-
- 添加-debug启动项将开启DebugMode(仅适用于Desktop或Console)
- 目前支持禁用心跳检测功能
-
-
-
-
- 此类保存常用的对象常量
-
-
-
-
- 空的实体类 用于object返回
-
-
-
-
- 默认的未知用户
-
-
-
-
- 游客用户
-
-
-
-
- 本地用户
-
-
-
-
- 大厅(空房间)实例
-
-
-
-
- 默认的字符编码
-
-
-
-
- 默认的时间格式
-
-
-
-
- 默认的时间值(1970年8月1日8点0分0秒)
-
-
-
-
- 最多自动重试连接次数
-
-
-
-
- 1C2G推荐的任务数量
-
-
-
-
- 2C2G推荐的任务数量
-
-
-
-
- 4C4G推荐的任务数量
-
-
-
-
- 默认Socket数据包大小
-
-
-
-
- 默认Stream传输大小
-
-
-
-
- 配合 使用,也别忘了修改
-
-
-
-
- 配合 使用,也别忘了修改
-
-
-
-
- 配合 使用
-
-
-
-
- 需要同步更新
-
-
-
-
- 需要同步更新
-
-
-
-
- 需要同步更新
-
-
-
- Commands
-
-
-
- 是否自动连接服务器
-
-
-
-
- 是否自动登录
-
-
-
-
- 是否在匹配中
-
-
-
-
- 是否连接上服务器
-
-
-
-
- 是否正在重连
-
-
-
-
- 是否自动重连
-
-
-
-
- 是否在房间中
-
-
-
-
- 当前所处的房间类型
-
-
-
-
- 服务器名称
-
-
-
-
- 公告
-
-
-
-
- 自动登录的账号
-
-
-
-
- 自动登录的密码
-
-
-
-
- 自动登录的秘钥
-
-
-
-
- 游戏局内类
- 客户端需要使用创建此类单例
-
-
-
-
- 使用的模组实例
-
-
-
-
- 游戏的参数
-
-
-
-
- 此实例所属的玩家
-
-
-
-
- 传入游戏所需的参数,构造一个Gaming实例
-
-
-
-
-
-
-
-
-
-
-
- 需在RunTimeController的SocketHandler_Gaming方法中调用此方法
- 客户端也可以参照此方法自行实现
- 此方法目的是为了触发 的局内事件实现
-
- 消息类型
- 接收到的数据
-
-
-
- 服务器地址
-
-
-
-
- 服务器端口号
-
-
-
-
- SocketToken
-
-
-
-
- LoginKey
-
-
-
-
- 已登录的用户
-
-
-
-
- 已登录用户名
-
-
-
-
- 所处的房间
-
-
-
-
- 从plugins目录加载所有插件
-
-
-
-
-
-
-
-
- 从modules目录加载所有模组
-
-
-
-
-
-
-
-
-
-
-
- 从modules目录加载所有适用于服务器的模组
-
-
-
-
-
-
-
-
-
-
-
-
- 从maps目录加载所有地图
-
-
-
-
-
-
-
- 添加构造好的模组类实例到字典中
-
- 加载的类型
- 循环程序集的类型
- 实例的字典
- 加载时触发的检查方法,返回false不添加
-
-
-
- 默认的序列化选项
-
-
-
-
- 获取Json字符串
-
-
-
-
-
-
-
- 获取Json字符串
-
-
-
-
-
-
-
-
- 反序列化Json对象
-
-
-
-
-
-
-
- 反序列化Json对象
-
-
-
-
-
-
-
-
- 反序列化Json对象,此方法可能无法返回正确的类型,请注意辨别
-
-
-
-
-
-
- 反序列化Json对象,此方法可能无法返回正确的类型,请注意辨别
-
-
-
-
-
-
-
- 反序列化SocketObject中索引为index的Json对象
-
-
-
-
-
-
-
-
-
- 反序列化Hashtable中Key对应的Json对象
-
-
-
-
-
-
-
-
- 反序列化IEnumerable中的Json对象
-
-
-
-
-
-
-
-
- 反序列化IEnumerable中的Json对象
-
-
-
-
-
-
-
-
-
- 反序列化Hashtable中Key对应的Json对象
-
-
-
-
-
-
-
-
-
- 反序列化多个Json对象
- 注意必须是相同的Json对象才可以使用此方法解析
-
-
-
-
-
-
-
- 反序列化多个Json对象
- 注意必须是相同的Json对象才可以使用此方法解析
-
-
-
-
-
-
-
-
- 检查字符串是否为完整的JSON对象
-
-
-
-
-
-
- 用于保存Smtp客户端
- 一个邮件服务对应一个Smtp客户端
-
-
-
-
- 用于保存邮件服务
- 允许服务器同时存在多个服务
-
-
-
-
- 获取某个已经保存过的邮件服务
-
-
-
-
-
-
- 统一调用此方法发送邮件
-
-
-
-
-
-
-
-
- 关闭邮件服务
-
-
-
-
-
-
- 目前的Model数量
-
-
-
-
- 最大接受的Model数量
-
-
-
-
- 可参与高并发的字典,但添加效率较低
-
-
-
-
- Init ModelManager
-
- MaxModel
-
-
-
- 获取Model对象
-
- Model的Key
- Model对象
-
-
-
- 向Model管理器中添加Model
-
- Model的Key
- Model对象
- True:操作成功
-
-
-
- 从Model管理器中移除Model
-
- Model的Key
- True:操作成功
-
-
-
- 将Model移除,并取得这个Model
-
- Model的Key
- Model对象
- 被移除的Model
-
-
-
- 将Model移除,并取得这个Model
-
- Model的Key
- 被移除的Model
-
-
-
- 清空Model管理器
-
-
-
-
- 获取Model对象的列表
-
-
-
-
- 客户端专用Socket
-
-
-
-
- 服务器端专用Socket
-
-
-
-
- 创建服务器监听Socket
-
- 监听端口号
- 最大连接数量
- 服务器端专用Socket
-
-
-
- 创建一个监听到客户端Socket
-
- 客户端IP地址[0]和客户端Socket[1]
-
-
-
- 创建客户端Socket
-
- 服务器IP地址
- 服务器监听端口
- 客户端专用Socket
-
-
-
- 用于服务器端向客户端Socket发送信息
-
- 客户端Socket
- Socket信息容器
- 通信结果
-
-
-
- 用于客户端向服务器Socket发送信息
-
- Socket信息容器
- 通信结果
-
-
-
- 接收数据流中的信息
- 如果是服务器接收信息需要传入客户端Socket
-
- 如果是服务器接收信息需要传入客户端Socket
- SocketObjects
-
-
-
- 监听事件的委托
-
- SocketObject
-
-
-
- 监听事件
-
-
-
-
- 触发异步监听事件
-
- SocketObject
-
-
-
- 开启一个任务:调用返回对象的OnCompleted()方法可以执行后续操作,支持异步
-
-
-
-
-
-
- 开启一个任务:调用返回对象的OnCompleted()方法可以执行后续操作,支持异步
-
-
-
-
-
-
- 内部实现类
-
-
-
-
- 返回ITaskAwaiter可以进一步调用方法
- 但是意义不大,前一个OnCompleted方法并不会等待下一个方法
- 可以理解为并行广播
-
-
-
-
-
-
- 在捕获到异常时,将触发Error事件
-
-
-
-
-
-
diff --git a/FunGame.Core.csproj b/FunGame.Core.csproj
index 5d7445a..832f0b0 100644
--- a/FunGame.Core.csproj
+++ b/FunGame.Core.csproj
@@ -16,7 +16,7 @@
true
$(MSBuildProjectName)
True
- Docs\FunGame.Core.xml
+
diff --git a/Interface/General/IServer.cs b/Interface/General/IServer.cs
index d235185..f942319 100644
--- a/Interface/General/IServer.cs
+++ b/Interface/General/IServer.cs
@@ -5,7 +5,9 @@
///
public interface IServer
{
- public string[] GameModuleList { get; }
- public string[] GameMapList { get; }
+ ///
+ /// 一个服务器标识秘钥
+ ///
+ public string SecretKey { get; }
}
}