--- sidebarDepth: 1 --- # 自定义数据 ## CleanExtraData 服务端 method in mod.server.component.exDataCompServer.ExDataCompServer - 描述 清除实体的自定义数据或者世界的自定义数据,清除实体数据时使用对应实体id创建组件,清除世界数据时使用levelId创建组件 - 参数 | 参数名 |
数据类型
| 说明 | | :--- | :--- | :--- | | key | str | 自定义key | - 返回值 |
数据类型
| 说明 | | :--- | :--- | | bool | 设置结果 | - 示例 ```python import mod.server.extraServerApi as serverApi # 清除实体数据 entitycomp = serverApi.GetEngineCompFactory().CreateExtraData(entityId) suc = entitycomp.CleanExtraData("nickname") print "CleanExtraData entity=%s suc=%s" % (entityId, suc) # 清除全局数据 levelcomp = serverApi.GetEngineCompFactory().CreateExtraData(levelId) suc = levelcomp.CleanExtraData("globalMsg") print "CleanExtraData for level suc=%s" % suc ``` ## GetExtraData 服务端 method in mod.server.component.exDataCompServer.ExDataCompServer - 描述 获取实体的自定义数据或者世界的自定义数据,某个键所对应的值。获取实体数据时使用对应实体id创建组件,获取世界数据时使用levelId创建组件 - 参数 | 参数名 |
数据类型
| 说明 | | :--- | :--- | :--- | | key | str | 自定义key | - 返回值 |
数据类型
| 说明 | | :--- | :--- | | any | key对应的值 | - 示例 ```python # 获取全局数据 import mod.server.extraServerApi as serverApi comp = serverApi.GetEngineCompFactory().CreateExtraData(levelId) levelExData = comp.GetExtraData("globalMsg") # 获取 import mod.server.extraServerApi as serverApi comp = serverApi.GetEngineCompFactory().CreateExtraData(entityId) nickName = comp.GetExtraData("nickName") ``` ## GetWholeExtraData 服务端 method in mod.server.component.exDataCompServer.ExDataCompServer - 描述 获取完整的实体的自定义数据或者世界的自定义数据,获取实体数据时使用对应实体id创建组件,获取世界数据时使用levelId创建组件 - 参数 无 - 返回值 |
数据类型
| 说明 | | :--- | :--- | | dict或None | 获取指定实体或者全局的额外存储数据字典,假如没有任何额外存储数据,那么返回None或者空字典 | - 示例 ```python #获取实体数据字典 import mod.server.extraServerApi as serverApi comp = serverApi.GetEngineCompFactory().CreateExtraData(entityId) dataDict = comp.GetWholeExtraData() if dataDict: for key, value in dataDict.iteritems(): print "key=%s value=%s" % (key, str(value)) #获取全局数据字典 import mod.server.extraServerApi as serverApi comp = serverApi.GetEngineCompFactory().CreateExtraData(levelId) dataDict = comp.GetWholeExtraData() if dataDict: for key, value in dataDict.iteritems(): print "key=%s value=%s" % (key, str(value)) ``` ## SaveExtraData 服务端 method in mod.server.component.exDataCompServer.ExDataCompServer - 描述 用于保存实体的自定义数据或者世界的自定义数据 - 参数 无 - 返回值 |
数据类型
| 说明 | | :--- | :--- | | bool | 保存结果 | - 示例 ```python import mod.server.extraServerApi as serverApi # 设置实体的自定义数据 entitycomp = serverApi.GetEngineCompFactory().CreateExtraData(entityId) entitycomp.SetExtraData("nickname", "steve", False) entitycomp.SetExtraData("score", 256, False) # more data to set entitycomp.SaveExtraData() ``` ## SetExtraData 服务端 method in mod.server.component.exDataCompServer.ExDataCompServer - 描述 用于设置实体的自定义数据或者世界的自定义数据,数据以键值对的形式保存。设置实体数据时使用对应实体id创建组件,设置世界数据时使用levelId创建组件 - 参数 | 参数名 |
数据类型
| 说明 | | :--- | :--- | :--- | | key | str | 自定义key | | value | any | key对应的值,支持python基本数据类型 | | autoSave | bool | 默认自动保存,默认为True,如果批量设置数据,请将该参数设置为False,同时在设置数据完毕时调用SaveExtraData接口 | - 返回值 |
数据类型
| 说明 | | :--- | :--- | | bool | 设置结果 | - 示例 ```python import mod.server.extraServerApi as serverApi # 设置实体的自定义数据 entitycomp = serverApi.GetEngineCompFactory().CreateExtraData(entityId) entitycomp.SetExtraData("nickname","steve") entitycomp.SetExtraData("score",256) # 设置世界的自定义数据 levelcomp = serverApi.GetEngineCompFactory().CreateExtraData(levelId) levelcomp.SetExtraData("globalMsg","helloWorld") ```