# 自定义数据
# CleanExtraData
服务端
method in mod.server.component.exDataCompServer.ExDataCompServer
描述
清除实体的自定义数据或者世界的自定义数据,清除实体数据时使用对应实体id创建组件,清除世界数据时使用levelId创建组件
参数
参数名 数据类型说明 key str 自定义key 返回值
数据类型说明 bool 设置结果 示例
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对应的值 示例
# 获取全局数据
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或者空字典 示例
#获取实体数据字典
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 保存结果 示例
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 设置结果 示例
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")