meta data for this page
  •  

📚 差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:world:prop [2025/07/31 03:51] bibiboxsscripting:world:prop [2025/08/03 02:06] (当前版本) bibiboxs
行 2: 行 2:
 # World/Prop # World/Prop
  
-`Prop`类是一个抽象数据,主要用于**Prop背包物品及[游戏道具](extend/prop)**相关功能使用。+`Prop`类是一个抽象**数据结构**,主要用于**Prop背包物品及[游戏道具](extend/prop)**相关功能使用。
  
 此类下所有的属性均是以**抽象概念**为基础的,具体物品的**逻辑实现**由开发者自行编写(例如物品磨损、武器子弹数量等)。 此类下所有的属性均是以**抽象概念**为基础的,具体物品的**逻辑实现**由开发者自行编写(例如物品磨损、武器子弹数量等)。
 +
 +> 修改`Prop`数据结构时需要注意,其本身是一个引用的结构类型,因此直接修改属性将无法生效,应该使用以下方法:
 +>
 +> ```javascript
 +> let tempProp = XXX; //source
 +> tempProp.Speed = 2;
 +> XXX = tempProp; //set source to new
 +> ```
  
  
行 261: 行 269:
 ```javascript ```javascript
 function Prop.Create( id: int, amount: int = 1, level: int = 0, data: any = null ): Prop function Prop.Create( id: int, amount: int = 1, level: int = 0, data: any = null ): Prop
 +```
 +
 +
 +
 +### Prop.SetSourceData()
 +
 +> 设置**指定游戏道具**默认原始数据(重写),建议**场景初始化**时使用。
 +>
 +> 注意:此方法**不会更新**已生成的对象,除非手动运行`prop.ResetData()`。
 +
 +```javascript
 +function Prop.SetSourceData( prop: int, keyPath: string, value: any )
 +```
 +
 +```javascript
 +SetSourceData(277, "Stack", 100); //set prop 277 stack to 100
 +```
 +
 +
 +
 +### Prop.GetSourceData()
 +
 +> 获取**指定游戏道具**最新数据,如果未被`SetSourceData`重写过,则返回原始数据。
 +
 +```javascript
 +function Prop.GetSourceData( prop: int, keyPath: string ): any
 +```
 +
 +
 +
 +### Prop.ResetSourceData()
 +
 +> 重置**指定游戏道具**修改数据,恢复使用原始数据。
 +>
 +> 注意:此方法**不会更新**已生成的对象,除非手动运行`prop.ResetData()`。
 +
 +```javascript
 +function Prop.ResetSourceData( prop: int )
 +```
 +
 +
 +
 +### Prop.ResetAllSourceData()
 +
 +> 重置**全部游戏道具**修改数据,恢复使用原始数据。
 +>
 +> 注意:此方法**不会更新**已生成的对象,除非手动运行`prop.ResetData()`。
 +
 +```javascript
 +function Prop.ResetAllSourceData()
 ``` ```
  
行 308: 行 366:
 function prop.Equals( other: Prop ) function prop.Equals( other: Prop )
 ``` ```
 +
 +
 +
 +### prop.ResetData()
 +
 +> 重置当前物品的**默认属性**,通常用于`SetSourceData()`方法使用后的**立即更新**。
 +
 +```javascript
 +function prop.ResetData()
 +```
 +