meta data for this page
  •  

📚 差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:native:core [2025/08/27 14:10] bibiboxsscripting: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, 0, 0), Vector(0, 0, 0)); //Center, Size 
 +``` 
 + 
 +- `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 == true && Entity == null`,可能表示检测到世界地形) +- `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/instances)(位操作),默认`0`表示检测全部。 > 如果只希望获取`Entity`部分类型,可使用`layer`参数进行[实体类型层(位)](reference/instances)(位操作),默认`0`表示检测全部。
 > >
-> **注意:此方法会检测世界地形(除非参数`includeTerrain = false`),如果`IsHit == true && Entity == null`,表示最终检测到地形**。+> **注意:此方法会检测世界地形(除非参数`includeTerrain = false`),如果`IsHit = true && Entity = null`,表示最终检测到地形**。
  
 ```javascript ```javascript
行 802: 行 822:
 ``` ```
  
--  `start`起始点 +-  `start`起始点 
--  `over`结束点 +-  `over`结束点 
--  `layer`筛选layer层,默认为`0`,可用于筛选判断[实体类型层(位)](reference/instances) +-  `layer`筛选layer层,默认为`0`,可用于筛选判断[实体类型层(位)](reference/instances) 
--  `RayTraceResult`返回值([类型参考](scripting/native/main))+-  `RayTraceResult`返回值([类型参考](scripting/native/main))
  
 ```javascript ```javascript
行 1005: 行 1025:
 RemoveVectorPoint("HomePos"); RemoveVectorPoint("HomePos");
 ``` ```
 +
 +
 +
 +### 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: bool = true )+function FormatDefineText( text: string, includeColor: bool = true ): string
 ``` ```
  
行 1081: 行 1113:
  
 - `sampleAll`是否采样所有静态对象,否则仅采样地面对象(陆地)。 - `sampleAll`是否采样所有静态对象,否则仅采样地面对象(陆地)。
 +
 +
 +
 +