29 KiB
sidebarDepth
| sidebarDepth |
|---|
| 1 |
零件PartBase
概述
- 继承关系
classDiagram
SdkInterface <|-- PartBase
link SdkInterface "../../../../mcdocs/3-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
TransformObject <|-- PartBase
link TransformObject "../../../../mcdocs/3-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
GameObject <|-- TransformObject
link GameObject "../../../../mcdocs/3-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
PartBase: 零件
SdkInterface: SDK接口封装
SdkInterface: (点击跳转)
TransformObject: 变换对象
TransformObject: (点击跳转)
GameObject: 游戏对象
GameObject: (点击跳转)
-
描述
PartBase(零件基类)是可以与零件进行绑定,而零件可以挂接在预设下,以实现带逻辑的预设的组装。所有的自定义零件都需要继承PartBase,预设系统下的大部分代码都需要写在自定义零件中。注意,自定义零件只有挂接到预设,并且在游戏中实例化才能生效。
-
成员变量
变量名 数据类型说明 tickEnable str 是否启用零件tick replicated list 启用网络复制的字段列表
索引
| 接口 | 描述 | |
|---|---|---|
| InitClient | 客户端 | 客户端的零件对象初始化入口 |
| InitServer | 服务端 | 服务端的零件对象初始化入口 |
| TickClient | 客户端 | 客户端的零件对象逻辑驱动入口 |
| TickServer | 服务端 | 服务端的零件对象逻辑驱动入口 |
| UnloadClient | 客户端 | 客户端的零件对象卸载逻辑入口 |
| UnloadServer | 服务端 | 服务端的零件对象卸载逻辑入口 |
| DestroyClient | 客户端 | 客户端的零件对象销毁逻辑入口 |
| DestroyServer | 服务端 | 服务端的零件对象销毁逻辑入口 |
| CanAdd | 客户端/服务端 | 判断零件是否可以挂接到指定的父节点上 |
| GetTickCount | 客户端/服务端 | 获取当前帧数 |
| LogDebug | 客户端/服务端 | 打印msg % args调试日志,仅PC开发包有效 |
| LogInfo | 客户端/服务端 | 打印msg % args消息日志 |
| LogError | 客户端/服务端 | 打印msg % args错误日志 |
| GetGameObjectById | 客户端/服务端 | 获取指定对象ID的游戏对象 |
| GetGameObjectByEntityId | 客户端/服务端 | 获取指定实体ID的游戏对象 |
| GetLoadedPlayers | 客户端/服务端 | 获取服务器所有玩家的ID列表 |
| GetPlayerObject | 客户端/服务端 | 获取玩家对象 |
| GetEntityObject | 客户端/服务端 | 获取实体对象 |
| GetEffectObject | 客户端 | 获取特效对象 |
| CreateEffectPreset | 客户端 | 创建特效对象 |
| CreateTextboardPreset | 客户端 | 创建文字面板预设对象 |
| ListenForEvent | 客户端/服务端 | 监听指定的事件 |
| UnListenForEvent | 客户端/服务端 | 反监听指定的事件 |
| ListenForEngineEvent | 客户端/服务端 | 监听指定的引擎事件 |
| UnListenForEngineEvent | 客户端/服务端 | 反监听指定的引擎事件 |
| CreateEventData | 客户端/服务端 | 创建自定义事件的数据,eventData用于发送事件。创建的eventData可以理解为一个dict,可以嵌套赋值dict,list和基本数据类型,但不支持tuple |
| BroadcastEvent | 客户端/服务端 | 广播事件,双端通用 |
| BroadcastPresetSystemEvent | 客户端/服务端 | 广播给预设系统 |
| NotifyToServer | 客户端 | 通知服务端触发事件 |
| NotifyToClient | 服务端 | 通知指定客户端触发事件 |
| BroadcastToAllClient | 服务端 | 通知指所有客户端触发事件 |
| ListenSelfEvent | 客户端/服务端 | 监听来自自己的事件 |
| UnListenSelfEvent | 客户端/服务端 | 反监听来自自己的事件 |
| ListenPartEvent | 客户端/服务端 | 监听来自指定零件的事件 |
| UnListenPartEvent | 客户端/服务端 | 反监听来自指定零件的事件 |
| ListenPresetSystemEvent | 客户端/服务端 | 监听来自预设系统的事件 |
| UnListenPresetSystemEvent | 客户端/服务端 | 反监听来自预设系统的事件 |
| DestroyStoryLines | 客户端/服务端 | 手动销毁零件蓝图 |
| GetSelf | 客户端/服务端 | 获取零件自身 |
| GetApi | 客户端/服务端 | 返回当前对象可使用的SDK API模块 |
| IsPlayerSneaking | 服务端 | 是否潜行 |
| GetPlayerHunger | 服务端 | 获取玩家饥饿度,展示在UI饥饿度进度条上,初始值为20,即每一个鸡腿代表2个饥饿度。 饱和度(saturation) :玩家当前饱和度,初始值为5,最大值始终为玩家当前饥饿度(hunger),该值直接影响玩家饥饿度(hunger)。 1)增加方法:吃食物。 2)减少方法:每触发一次消耗事件,该值减少1,如果该值不大于0,直接把玩家 饥饿度(hunger) 减少1。 |
| SetPlayerHunger | 服务端 | 设置玩家饥饿度。 |
InitClient
客户端
method in Preset.Model.PartBase.PartBase
-
描述
客户端的零件对象初始化入口
-
参数
无
-
返回值
无
InitServer
服务端
method in Preset.Model.PartBase.PartBase
-
描述
服务端的零件对象初始化入口
-
参数
无
-
返回值
无
TickClient
客户端
method in Preset.Model.PartBase.PartBase
-
描述
客户端的零件对象逻辑驱动入口
-
参数
无
-
返回值
无
TickServer
服务端
method in Preset.Model.PartBase.PartBase
-
描述
服务端的零件对象逻辑驱动入口
-
参数
无
-
返回值
无
UnloadClient
客户端
method in Preset.Model.PartBase.PartBase
-
描述
客户端的零件对象卸载逻辑入口
-
参数
无
-
返回值
无
UnloadServer
服务端
method in Preset.Model.PartBase.PartBase
-
描述
服务端的零件对象卸载逻辑入口
-
参数
无
-
返回值
无
DestroyClient
客户端
method in Preset.Model.PartBase.PartBase
-
描述
客户端的零件对象销毁逻辑入口
-
参数
无
-
返回值
无
DestroyServer
服务端
method in Preset.Model.PartBase.PartBase
-
描述
服务端的零件对象销毁逻辑入口
-
参数
无
-
返回值
无
CanAdd
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
判断零件是否可以挂接到指定的父节点上
-
参数
参数名 数据类型说明 parent PresetBase 即将挂接的父预设 -
返回值
数据类型说明 str 不允许挂接时,返回对应的错误提示
GetTickCount
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
获取当前帧数
-
参数
无
-
返回值
数据类型说明 int 当前帧数
LogDebug
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
打印msg % args调试日志,仅PC开发包有效
-
参数
参数名 数据类型说明 msg str 要打印的格式化字符串 *args list(object) 格式化参数列表 -
返回值
无
-
示例
self.LogDebug(“self.isClient: %s”, self.isClient)
LogInfo
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
打印msg % args消息日志
-
参数
参数名 数据类型说明 msg str 要打印的格式化字符串 *args list(object) 格式化参数列表 -
返回值
无
-
示例
self.LogInfo(“self.isClient: %s”, self.isClient)
LogError
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
打印msg % args错误日志
-
参数
参数名 数据类型说明 msg str 要打印的格式化字符串 *args list(object) 格式化参数列表 -
返回值
无
-
示例
self.LogError(“self.isClient: %s”, self.isClient)
GetGameObjectById
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
获取指定对象ID的游戏对象
-
参数
参数名 数据类型说明 id int 指定的对象ID -
返回值
数据类型说明 TransformObject 成功返回游戏对象,失败返回None -
示例
obj = self.GetGameObjectById(0)
GetGameObjectByEntityId
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
获取指定实体ID的游戏对象
-
参数
参数名 数据类型说明 entityId str 指定的实体ID -
返回值
数据类型说明 TransformObject 成功返回游戏对象,失败返回None -
示例
obj = self.GetGameObjectByEntityId(0)
GetLoadedPlayers
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
获取服务器所有玩家的ID列表
-
参数
无
-
返回值
数据类型说明 list(str) 所有玩家的ID列表
GetPlayerObject
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
获取玩家对象
-
参数
参数名 数据类型说明 playerId str 玩家ID -
返回值
数据类型说明 PlayerObject 成功返回玩家对象,失败返回None -
示例
player = self.GetPlayerObject(playerId)
GetEntityObject
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
获取实体对象
-
参数
参数名 数据类型说明 entityId str 指定的实体ID -
返回值
数据类型说明 EntityObject 成功返回实体对象,失败返回None -
示例
entity = self.GetEntityObject(entityId)
GetEffectObject
客户端
method in Preset.Model.PartBase.PartBase
-
描述
获取特效对象
-
参数
参数名 数据类型说明 effectId int 特效ID -
返回值
数据类型说明 EffectObject 成功返回特效对象,失败返回None -
示例
effect = self.GetEffectObject(effectId)
CreateEffectPreset
客户端
method in Preset.Model.PartBase.PartBase
-
描述
创建特效对象
-
参数
参数名 数据类型说明 resource str 特效资源json pos tuple(float,float,float) 特效位置 rotation tuple(float,float,float) 特效旋转 scale tuple(float,float,float) 特效缩放 -
返回值
数据类型说明 EffectPreset 成功返回特效对象,失败返回None -
示例
# 在某个实体位置播放指定特效
effect = self.CreateEffectPreset("effects/xxx", self.GetEntityPos(entityId))
CreateTextboardPreset
客户端
method in Preset.Model.PartBase.PartBase
-
描述
创建文字面板预设对象
-
参数
参数名 数据类型说明 text str 文字显示内容 textColor tuple(float,float,float,float) 文字颜色的RGBA值,范围0-1 boardColor tuple(float,float,float,float) 可选参数,默认None,设置为黑色,面板颜色的RGBA值,范围0-1 pos tuple(float,float,float) 可选参数,默认(0, 0, 0) 生成文字面板位置 faceCamera bool 是否始终朝向相机, 默认为True -
返回值
数据类型说明 TextboardPreset 成功返回文字面板对象,失败返回None -
示例
# 在某个位置生成文字面板预设
textboard = self.CreateTextboardPreset('Hello', (0.5, 0.4, 0.3, 0.8))
ListenForEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
监听指定的事件
-
参数
参数名 数据类型说明 namespace str 命名空间 systemName str 事件系统名称 eventName str 事件名称 instance object 实例 func object 函数 priority str 优先级 -
返回值
无
UnListenForEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
反监听指定的事件
-
参数
参数名 数据类型说明 namespace str 命名空间 systemName str 事件系统名称 eventName str 事件名称 instance object 实例 func object 函数 priority str 优先级 -
返回值
无
ListenForEngineEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
监听指定的引擎事件
-
参数
参数名 数据类型说明 eventName str 事件名称 instance object 实例 func object 函数 priority str 优先级 -
返回值
无
UnListenForEngineEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
反监听指定的引擎事件
-
参数
参数名 数据类型说明 eventName str 事件名称 instance object 实例 func object 函数 priority str 优先级 -
返回值
无
CreateEventData
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
创建自定义事件的数据,eventData用于发送事件。创建的eventData可以理解为一个dict,可以嵌套赋值dict,list和基本数据类型,但不支持tuple
-
参数
无
-
返回值
数据类型说明 dict 事件数据
BroadcastEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
广播事件,双端通用
-
参数
参数名 数据类型说明 eventName str 事件名称 eventData object 事件数据 -
返回值
无
BroadcastPresetSystemEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
广播给预设系统
-
参数
参数名 数据类型说明 eventName str 事件名称 eventData object 事件数据 -
返回值
无
NotifyToServer
客户端
method in Preset.Model.PartBase.PartBase
-
描述
通知服务端触发事件
-
参数
参数名 数据类型说明 eventName str 事件名称 eventData object 事件数据 -
返回值
无
NotifyToClient
服务端
method in Preset.Model.PartBase.PartBase
-
描述
通知指定客户端触发事件
-
参数
参数名 数据类型说明 playerId str 玩家ID eventName str 事件名称 eventData object 事件数据 -
返回值
无
BroadcastToAllClient
服务端
method in Preset.Model.PartBase.PartBase
-
描述
通知指所有客户端触发事件
-
参数
参数名 数据类型说明 eventName str 事件名称 eventData object 事件数据 -
返回值
无
ListenSelfEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
监听来自自己的事件
-
参数
参数名 数据类型说明 eventName str 事件名称 target object 目标 func object 回调函数 -
返回值
无
UnListenSelfEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
反监听来自自己的事件
-
参数
参数名 数据类型说明 eventName str 事件名称 target object 目标 func object 回调函数 -
返回值
无
ListenPartEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
监听来自指定零件的事件
-
参数
参数名 数据类型说明 partId int 指定零件的ID eventName str 事件名称 target object 目标 func object 回调函数 -
返回值
无
UnListenPartEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
反监听来自指定零件的事件
-
参数
参数名 数据类型说明 partId int 指定零件的ID eventName str 事件名称 target object 目标 func object 回调函数 -
返回值
无
ListenPresetSystemEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
监听来自预设系统的事件
-
参数
参数名 数据类型说明 eventName str 事件名称 target object 目标 func object 回调函数 -
返回值
无
UnListenPresetSystemEvent
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
反监听来自预设系统的事件
-
参数
参数名 数据类型说明 eventName str 事件名称 target object 目标 func object 回调函数 -
返回值
无
DestroyStoryLines
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
手动销毁零件蓝图
-
参数
无
-
返回值
无
GetSelf
客户端/服务端
method in Preset.Model.PartBase.PartBase
-
描述
获取零件自身
-
参数
无
-
返回值
数据类型说明 PartBase 零件自身
GetApi
客户端/服务端
method in Preset.Model.SdkInterface.SdkInterface
-
描述
返回当前对象可使用的SDK API模块
-
参数
无
-
返回值
数据类型说明 extraClientApi或extraServerApi 返回当前对象可使用的SDK API模块
IsPlayerSneaking
服务端
method in Preset.Model.SdkInterface.SdkInterface
-
描述
是否潜行
-
参数
参数名 数据类型说明 playerId str或int 实体id -
返回值
数据类型说明 bool 是否潜行 -
示例
self.IsPlayerSneaking(playerId)
GetPlayerHunger
服务端
method in Preset.Model.SdkInterface.SdkInterface
-
描述
获取玩家饥饿度,展示在UI饥饿度进度条上,初始值为20,即每一个鸡腿代表2个饥饿度。 饱和度(saturation) :玩家当前饱和度,初始值为5,最大值始终为玩家当前饥饿度(hunger),该值直接影响玩家饥饿度(hunger)。
1)增加方法:吃食物。
2)减少方法:每触发一次消耗事件,该值减少1,如果该值不大于0,直接把玩家 饥饿度(hunger) 减少1。 -
参数
参数名 数据类型说明 playerId str或int 玩家id -
返回值
数据类型说明 float 玩家饥饿度 -
示例
self.GetPlayerHunger(playerId)
SetPlayerHunger
服务端
method in Preset.Model.SdkInterface.SdkInterface
-
描述
设置玩家饥饿度。
-
参数
参数名 数据类型说明 playerId str或int 玩家id value float 饥饿度 -
返回值
数据类型说明 bool 是否设置成功 -
示例
self.SetPlayerHunger(playerId, 10)