diff --git a/CHANGELOG.md b/CHANGELOG.md index 627b739..9d7fe10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [0.3.4] - 2025-04-23 + +增加了文本格式包裹器。 + ## [0.3.3] - 2025-04-17 增加了版本发布仓库,插件可以在library里享受缓存待遇了,真舒服啊。 diff --git a/README.md b/README.md index 5ad9800..302bfd0 100644 --- a/README.md +++ b/README.md @@ -141,17 +141,9 @@ XericLibrary 部分由两个dll组成,一个是 Xeric Library,另一个是 X 主要作用是提供属性标签查找功能。 #### 协程宏 ----- - #### 调试宏 ----- - #### 模型网格宏 ----- - #### 机器标识宏 ----- - #### 摄像机宏 #### 颜色宏 #### 常数宏 @@ -182,7 +174,31 @@ XericLibrary 部分由两个dll组成,一个是 Xeric Library,另一个是 X #### 材质宏 #### 平滑宏 #### 排序宏 + +c#自带的排序很好用,但是选择何种排序模式是自动进行的,排序宏中提供了可以手动选择的排序算法。 +注:没有猴子排序。 + #### 文本宏 + +提供: +* StringBuilderPool: 文本构建池 +* join: 文本序列拼接。 +* 文本判断:空判断,空格判断,相等判断,字符集判断 +* 格式包裹:支持TMP的26个富文本标签,或者自行扩展更多包裹器。 + 包裹器可以依靠多态模型来构建文本,而不依赖字面量构建。下面是一个示例: + ``` + _blockBuilder = new TextBlockBuilder( + new ColorBlock(Color.white, "重量"), + new DelegateBlock(() => value.ToString()), + new SizeBlock(20, "kg"))); + ``` + TextBlockBuilder 是所有blocker的基类,使用它包裹所有文本将起到单纯拼接文本的作用;TextBlockBuilder 里的三个block的作用是使用相应的富文本标签包裹,根据标签的类型,包裹器会自动决定标签格式。 + DelegateBlock的作用是通过委托来实时获取一个变量,示例中直接获取value的文本值,拼接到结果中。 + TextBlockBuilder 可以不依靠如DelegateBlock这样的包裹器,可以直接将返回字符串类型的方法委托传入,blocker 会自动识别;前提是开启对应 blocker 里的compatibility兼容性检查,但这会带来额外的性能开销,如果没有特别的需求,建议还是使用DelegateBlock进行多态封装,这样也会更安全。 +* 文本转换:自动值转换为文本。 +* NumberToChinese:将数值转为中文大写。 +* 沃格纳费舍尔拼写检查器:检查一对或多对文本是否相似,返回最相似的文本序列,及相似度。 + #### 时间宏 #### 轴变换宏 #### 类型扩展 diff --git a/Runtime/XericLibrary.dll b/Runtime/XericLibrary.dll index 439d58d..fb7164b 100644 Binary files a/Runtime/XericLibrary.dll and b/Runtime/XericLibrary.dll differ diff --git a/package.json b/package.json index 89e3c8a..36b5f10 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "com.lrss3.deconstruction", "displayName": "Deconstruction Tool Library", - "version": "0.3.3", + "version": "0.3.4", "unity": "2021.3", - "description": "包含20+个囊括各种方面的方法库,提供日常编程支持,包括但不限于:数学计算、参数平滑、工业控制、曲线绘制、对象控制、扩展迭代、空间变换、独特结构、文本语义、类型转换、机器编码、开发调试、动态生成、几何创建、快速池化、导航寻路、隔离控制、隔离输入、语义化委托、反射超驰、数学常数、单位换算、排序算法、程序调用、网络连接等。\r\n还有多种特殊类型,包括但不限于:多维布尔、样条曲线、超级单例、多例系统、邻居网络、四叉树、字典树、软引用封装器等等。\n以及包含多个开箱即用的常用脚本,如瞄准看向、界面自适应,玩家控制器等。\r\n\r\n需要注意:插件内与平台API相关的指令默认使用windows平台,在使用这部分内容时无法兼容其他平台。\n\n如果发现任何问题,包括版本兼容性,计算错误,调用错误,使用问题,请与我联系。", + "description": "包含20+个囊括各种方面的方法库,提供日常编程支持,包括但不限于:数学计算、参数平滑、工业控制、曲线绘制、对象控制、扩展迭代、空间变换、独特结构、文本格式、类型转换、机器编码、开发调试、动态生成、几何创建、快速池化、导航寻路、隔离控制、隔离输入、语义化委托、反射超驰、数学常数、单位换算、排序算法、程序调用、网络连接等。\r\n还有多种特殊类型,包括但不限于:多维布尔、样条曲线、超级单例、多例系统、邻居网络、四叉树、字典树、软引用封装器等等。\r\n包含多个开箱即用的常用脚本,如瞄准看向、界面自适应,玩家控制器等。\r\n以及包含多个编辑器界面,AI对话界面、脚本蓝图系统(需要XericBlueprint)、蓝图UI搭建系统(需要XericUI)\r\n\r\n需要注意:插件内与平台API相关的指令默认使用windows平台,在使用这部分内容时无法兼容其他平台。\n\n如果发现任何问题,包括版本兼容性,计算错误,调用错误,使用问题,请与我联系。", "type": "library", "samples": [ {