# 零件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)

概述

索引

InitClient

InitServer

TickClient

TickServer

UnloadClient

UnloadServer

DestroyClient

DestroyServer

CanAdd

GetTickCount

LogDebug

LogInfo

LogError

GetGameObjectById

GetGameObjectByEntityId

GetLoadedPlayers

GetPlayerObject

GetEntityObject

GetEffectObject

CreateEffectPreset

CreateTextboardPreset

ListenForEvent

UnListenForEvent

ListenForEngineEvent

UnListenForEngineEvent

CreateEventData

BroadcastEvent

BroadcastPresetSystemEvent

NotifyToServer

NotifyToClient

BroadcastToAllClient

ListenSelfEvent

UnListenSelfEvent

ListenPartEvent

UnListenPartEvent

ListenPresetSystemEvent

UnListenPresetSystemEvent

DestroyStoryLines

GetSelf

GetApi

IsPlayerSneaking

GetPlayerHunger

SetPlayerHunger