meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| scripting:native:core [2025/08/27 14:10] – bibiboxs | scripting:native:core [2025/08/29 20:30] (当前版本) – bibiboxs | ||
|---|---|---|---|
| 行 41: | 行 41: | ||
| ``` | ``` | ||
| - | - `x`:X轴数值(左右) | + | - `x`X轴数值(左右) |
| - | - `y`:Y轴数值(上下) | + | - `y`Y轴数值(上下) |
| - | - `z`:Z轴数值(前后) | + | - `z`Z轴数值(前后) |
| 行 57: | 行 57: | ||
| ``` | ``` | ||
| - | - `x`:X轴数值 | + | - `x`X轴数值 |
| - | - `y`:Y轴数值 | + | - `y`Y轴数值 |
| + | |||
| + | |||
| + | |||
| + | ### Bounds() | ||
| + | |||
| + | > 包围盒结构类型,通常用于AABB数据存储。 | ||
| + | > | ||
| + | > **==此方法必须使用`Equals()`判断相等。==** | ||
| + | |||
| + | ```javascript | ||
| + | let bounds = Bounds(Vector(0, | ||
| + | ``` | ||
| + | |||
| + | - `center`中心位置 | ||
| + | - `size`尺寸 | ||
| + | - `extents`尺寸(一半) | ||
| + | - `min`最小点 | ||
| + | - `max`最大点 | ||
| 行 73: | 行 91: | ||
| ``` | ``` | ||
| - | - `r`:颜色数值 | + | - `r`颜色数值 |
| - | - `g`:颜色数值 | + | - `g`颜色数值 |
| - | - `b`:颜色数值 | + | - `b`颜色数值 |
| - | - `a`:透明度数值 | + | - `a`透明度数值 |
| 行 84: | 行 102: | ||
| > (只读)Array检测函数的返回值,属性可获取数组(封装)信息。 | > (只读)Array检测函数的返回值,属性可获取数组(封装)信息。 | ||
| - | - `GetCount()`:获取数组长度 | + | - `GetCount()`获取数组长度 |
| - | - `Get(index: int)`:获取指定索引的内容 | + | - `Get(index: int)`获取指定索引的内容 |
| 行 93: | 行 111: | ||
| > (只读)射线检测函数的返回值,属性可获取射线检测结果(是否碰撞、最终坐标、检测实体等)。 | > (只读)射线检测函数的返回值,属性可获取射线检测结果(是否碰撞、最终坐标、检测实体等)。 | ||
| - | - `IsHit`:是否碰撞射线(如果`IsHit | + | - `IsHit`是否碰撞射线(如果`IsHit = true && Entity = null`,可能表示检测到世界地形) |
| - | - `Point`:射线检测坐标(如没有产生碰撞,则坐标即是默认终点) | + | - `Point`射线检测坐标(如没有产生碰撞,则坐标即是默认终点) |
| - | - `Entity`:射线碰撞实体(如果对象不是标准的`Entity`实体,或对象为**静态模型(本地静态模型)**,则返回为`null`) | + | - `Entity`射线碰撞实体(如果对象不是标准的`Entity`实体,或对象为**静态模型(本地静态模型)**,则返回为`null`) |
| + | - `Distance`射线实际产生距离 | ||
| + | - `Normal`射线检测表面角度 | ||
| 行 109: | 行 129: | ||
| > **注意:结构内的三种Vector类型虽然命名不同,但均是以`Vector`作为属性类型,因此在某些情况下可以忽略命名问题。** | > **注意:结构内的三种Vector类型虽然命名不同,但均是以`Vector`作为属性类型,因此在某些情况下可以忽略命名问题。** | ||
| - | - `Tag`:筛选标签(可空`"" | + | - `Tag`筛选标签(可空`"" |
| - | - `Pos`:坐标(Vector,不可空,至少要有一个) | + | - `Pos`坐标(Vector,不可空,至少要有一个) |
| - | - `Angle`:旋转角度(Vector,可空) | + | - `Angle`旋转角度(Vector,可空) |
| - | - `Scale`:缩放(Vector,可空) | + | - `Scale`缩放(Vector,可空) |
| 行 122: | 行 142: | ||
| > 当游戏配置(通过`SetGameOption`被绑定过的)发生主动更新时触发(或有数值被改变)。 | > 当游戏配置(通过`SetGameOption`被绑定过的)发生主动更新时触发(或有数值被改变)。 | ||
| > | > | ||
| - | > 每次客户端脚本加载完成时,都会自动触发一次(`optionKey==null`)。 | + | > 每次客户端脚本加载完成时,都会自动触发一次(`optionKey = null`)。 |
| ```javascript | ```javascript | ||
| 行 295: | 行 315: | ||
| ``` | ``` | ||
| - | - `eventName`:希望监听的`function`名称,通常用于监听引擎原生事件,但也支持自定义事件 | + | - `eventName`希望监听的`function`名称,通常用于监听引擎原生事件,但也支持自定义事件 |
| - | - `action`:当事件触发时执行的`function`,支持`Lambda`表达式 | + | - `action`当事件触发时执行的`function`,支持`Lambda`表达式 |
| - | - `sort`:监听方法的执行顺序,**数值越小越靠前**,默认顺序为`1`(在原方法执行后执行),原方法Sort默认保持为`0`(唯一) | + | - `sort`监听方法的执行顺序,**数值越小越靠前**,默认顺序为`1`(在原方法执行后执行),原方法Sort默认保持为`0`(唯一) |
| - | - `return`:监听事件的Hash值,可用于取消监听 | + | - `return`监听事件的Hash值,可用于取消监听 |
| ```javascript | ```javascript | ||
| 行 340: | 行 360: | ||
| ``` | ``` | ||
| - | - `eventHash`:希望取消监听的`eventHash`,通过`AddListener()`返回值获取 | + | - `eventHash`希望取消监听的`eventHash`,通过`AddListener()`返回值获取 |
| ```javascript | ```javascript | ||
| 行 360: | 行 380: | ||
| ``` | ``` | ||
| - | - `functionName`:触发的函数\事件名称 | + | - `functionName`触发的函数\事件名称 |
| - | - `params`:附带参数(如存在) | + | - `params`附带参数(如存在) |
| ```javascript | ```javascript | ||
| 行 377: | 行 397: | ||
| > **补充:如果不填写任何参数,则表示加载到初始入口世界(`Main`世界)。** | > **补充:如果不填写任何参数,则表示加载到初始入口世界(`Main`世界)。** | ||
| > | > | ||
| - | > **==注意:我们建议不指定固定的端口号,而是使用`Mod.json -> NetworkPort`机制设定模组端口,并设置当前方法参数`Port=0`(自动识别模组`NetworkPort`)。==** | + | > 通常**不建议**指定**固定**的端口号,而是使用`Mod.json -> NetworkPort`机制设定模组端口,并设置当前方法参数`Port=0`(自动识别模组`NetworkPort`)。 |
| ```javascript | ```javascript | ||
| 行 796: | 行 816: | ||
| > 如果只希望获取`Entity`部分类型,可使用`layer`参数进行[实体类型层(位)](reference/ | > 如果只希望获取`Entity`部分类型,可使用`layer`参数进行[实体类型层(位)](reference/ | ||
| > | > | ||
| - | > **注意:此方法会检测世界地形(除非参数`includeTerrain = false`),如果`IsHit | + | > **注意:此方法会检测世界地形(除非参数`includeTerrain = false`),如果`IsHit = true && Entity = null`,表示最终检测到地形**。 |
| ```javascript | ```javascript | ||
| 行 802: | 行 822: | ||
| ``` | ``` | ||
| - | - `start`:起始点 | + | - `start`起始点 |
| - | - `over`:结束点 | + | - `over`结束点 |
| - | - `layer`:筛选layer层,默认为`0`,可用于筛选判断[实体类型层(位)](reference/ | + | - `layer`筛选layer层,默认为`0`,可用于筛选判断[实体类型层(位)](reference/ |
| - | - `RayTraceResult`:返回值([类型参考](scripting/ | + | - `RayTraceResult`返回值([类型参考](scripting/ |
| ```javascript | ```javascript | ||
| 行 1005: | 行 1025: | ||
| RemoveVectorPoint(" | RemoveVectorPoint(" | ||
| ``` | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### FormatPlainText() | ||
| + | |||
| + | > 格式化指定文本为纯文本(去除`HTML|UBB`),可用于获取除表情外等真实文本及长度。 | ||
| + | |||
| + | ```javascript | ||
| + | function FormatPlainText( text: string, includeUBB: bool = true ): string | ||
| + | ``` | ||
| + | |||
| + | - `includeUBB`:如果设置为`true`,则允许包含`UBB`(忽略处理)。 | ||
| 行 1015: | 行 1047: | ||
| ```javascript | ```javascript | ||
| - | function FormatRichText( text: string, onlyEmoji: bool = false ) | + | function FormatRichText( text: string, onlyEmoji: bool = false ): string |
| ``` | ``` | ||
| 行 1032: | 行 1064: | ||
| ```javascript | ```javascript | ||
| - | function FormatDefineText( text: string, includeColor: | + | function FormatDefineText( text: string, includeColor: |
| ``` | ``` | ||
| 行 1081: | 行 1113: | ||
| - `sampleAll`是否采样所有静态对象,否则仅采样地面对象(陆地)。 | - `sampleAll`是否采样所有静态对象,否则仅采样地面对象(陆地)。 | ||
| + | |||
| + | |||
| + | |||
| + | |||