Appearance
什么是道具实例
道具实例是存在于格子上的道具数据,它是从道具模板创建的。每个道具实例都有自己的属性,这些属性可以在游戏中被修改或更新。
目前暂时只有模型组件和枪械组件支持道具实例的相关功能。使用创建道具实例的接口来创建,道具实例会带有模型组件相关属性;使用创建枪械道具实例的接口来创建,道具实例会带有模型组件和枪械组件的相关属性。
使用道具实例功能,可以制作出枪械修改等玩法。
创建道具实例
序号 | 函数名 | 函数描述 |
---|---|---|
1 | CreateItemInstInBackpack(...) | 在玩家的背包内创建一个道具实例 |
2 | CreateGunInBackpack(...) | 在玩家的背包内创建一把实例化的枪械 |
3 | CreateItemInstInWorld(...) | 在位置上创建道具实例的掉落物 |
4 | CreateGunInWorld(...) | 在位置上创建枪械道具实例的掉落物 |
获取道具实例或ID
序号 | 函数名 | 函数描述 |
---|---|---|
1 | GetDropItemInstanceId(...) | 根据掉落物objid获取道具实例id |
2 | GetItemIdByInstanceId(...) | 根据道具实例ID获取道具ID |
3 | GetResIdByInstanceId(...) | 根据道具实例ID获取预制ID |
4 | GetAllBackPackInstanceIds(...) | 获取指定背包中所有道具实例 |
5 | GetInstIdByGridIndex(...) | 根据背包索引获取道具实例id |
6 | GetGunInstIdInBackpack(...) | 获取背包所有实例化的枪械 |
7 | GetAllStorageItemInstanceIds(...) | 获取储物箱里所有的道具实例(只取通过接口创建的道具实例) |
8 | GetStorageItemInstanceId(...) | 获取储物箱内指定格子的道具实例ID |
获取和修改道具实例属性
序号 | 函数名 | 函数描述 |
---|---|---|
1 | ModifyGunAttribute(...) | 修改枪械道具实例的属性 |
2 | GetGunAttribute(...) | 获取枪械道具实例的属性 |
3 | GetGunPrefabAttribute(...) | 获取枪预制的属性 |
4 | GetItemIdByInstanceId(...) | 根据道具实例ID获取道具ID |
5 | GetResIdByInstanceId(...) | 根据道具实例ID获取预制ID |
6 | AddSubModelPart(...) | 给道具实例添加一个模型子部件 |
7 | DeleteSubModelPart(...) | 删除一个道具实例的模型子部件 |
8 | ReplaceSubModelPart(...) | 修改一个道具实例的模型子部件 |
9 | SetStringCustomData(...) | 设置道具实例的自定义数据string |
10 | SetBoolCustomData(...) | 设置道具实例的自定义数据bool |
11 | SetNumberCustomData(...) | 设置道具实例的自定义数据number |
12 | SetObjCustomData(...) | 设置道具实例的自定义数据Object |
13 | SetArrayCustomData(...) | 设置道具实例的自定义数据Array |
14 | GetStringCustomData(...) | 获取道具实例的自定义数据string |
15 | GetBoolCustomData(...) | 获取道具实例的自定义数据bool |
16 | GetNumberCustomData(...) | 获取道具实例的自定义数据number |
17 | GetObjCustomData(...) | 获取道具实例的自定义数据Object |
18 | GetArrayCustomData(...) | 获取道具实例的自定义数据Array |
在界面模型装载器上显示道具实例的模型
SetLoaderModel
- 参数及类型:
- 返回值及类型:
- ret:
bool
是否成功
- ret:
- 该方法的主要作用: 设置装载器的模型(调用道具实例的模型:模型名称填ItemInstance_道具实例id)
- 具体使用案例如下:
local isSuccess = CustomUI:SetLoaderModel(Player:GetHostUin(),"7482986899365911542-22886","7482986899365911542-22886_5", "ItemInstance_15864891562")
注意
格子数据同步问题:道具实例的数据是存在于背包格子上的,修改了格子数据后,会按照一定的时间间隔同步。如果修改格子数据后立刻通知客机刷新界面,则会出现客机还没收到同步数据就刷新的情况,会导致客机显示模型没变化。解决办法是修改格子数据后等待一小会,例如0.5秒,再通知客机刷新界面。