Skip to content

零件PartBase

概述

  • 继承关系
  • 描述

    PartBase(零件基类)是可以与零件进行绑定,而零件可以挂接在预设下,以实现带逻辑的预设的组装。所有的自定义零件都需要继承PartBase,预设系统下的大部分代码都需要写在自定义零件中。注意,自定义零件只有挂接到预设,并且在游戏中实例化才能生效。

  • 成员变量

    变量名
    数据类型
    说明
    tickEnablestr是否启用零件tick
    replicatedlist启用网络复制的字段列表

索引

接口
描述
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

  • 描述

    判断零件是否可以挂接到指定的父节点上

  • 参数

    参数名
    数据类型
    说明
    parentPresetBase即将挂接的父预设
  • 返回值

    数据类型
    说明
    str不允许挂接时,返回对应的错误提示

GetTickCount

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    获取当前帧数

  • 参数

  • 返回值

    数据类型
    说明
    int当前帧数

LogDebug

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    打印msg % args调试日志,仅PC开发包有效

  • 参数

    参数名
    数据类型
    说明
    msgstr要打印的格式化字符串
    *argslist(object)格式化参数列表
  • 返回值

  • 示例

python
self.LogDebug(“self.isClient: %s”, self.isClient)

LogInfo

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    打印msg % args消息日志

  • 参数

    参数名
    数据类型
    说明
    msgstr要打印的格式化字符串
    *argslist(object)格式化参数列表
  • 返回值

  • 示例

python
self.LogInfo(“self.isClient: %s”, self.isClient)

LogError

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    打印msg % args错误日志

  • 参数

    参数名
    数据类型
    说明
    msgstr要打印的格式化字符串
    *argslist(object)格式化参数列表
  • 返回值

  • 示例

python
self.LogError(“self.isClient: %s”, self.isClient)

GetGameObjectById

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    获取指定对象ID的游戏对象

  • 参数

    参数名
    数据类型
    说明
    idint指定的对象ID
  • 返回值

    数据类型
    说明
    TransformObject成功返回游戏对象,失败返回None
  • 示例

python
obj = self.GetGameObjectById(0)

GetGameObjectByEntityId

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    获取指定实体ID的游戏对象

  • 参数

    参数名
    数据类型
    说明
    entityIdstr指定的实体ID
  • 返回值

    数据类型
    说明
    TransformObject成功返回游戏对象,失败返回None
  • 示例

python
obj = self.GetGameObjectByEntityId(0)

GetLoadedPlayers

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    获取服务器所有玩家的ID列表

  • 参数

  • 返回值

    数据类型
    说明
    list(str)所有玩家的ID列表

GetPlayerObject

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    获取玩家对象

  • 参数

    参数名
    数据类型
    说明
    playerIdstr玩家ID
  • 返回值

    数据类型
    说明
    PlayerObject成功返回玩家对象,失败返回None
  • 示例

python
player = self.GetPlayerObject(playerId)

GetEntityObject

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    获取实体对象

  • 参数

    参数名
    数据类型
    说明
    entityIdstr指定的实体ID
  • 返回值

    数据类型
    说明
    EntityObject成功返回实体对象,失败返回None
  • 示例

python
entity = self.GetEntityObject(entityId)

GetEffectObject

客户端

method in Preset.Model.PartBase.PartBase

  • 描述

    获取特效对象

  • 参数

    参数名
    数据类型
    说明
    effectIdint特效ID
  • 返回值

    数据类型
    说明
    EffectObject成功返回特效对象,失败返回None
  • 示例

python
effect = self.GetEffectObject(effectId)

CreateEffectPreset

客户端

method in Preset.Model.PartBase.PartBase

  • 描述

    创建特效对象

  • 参数

    参数名
    数据类型
    说明
    resourcestr特效资源json
    postuple(float,float,float)特效位置
    rotationtuple(float,float,float)特效旋转
    scaletuple(float,float,float)特效缩放
  • 返回值

    数据类型
    说明
    EffectPreset成功返回特效对象,失败返回None
  • 示例

python
# 在某个实体位置播放指定特效
effect = self.CreateEffectPreset("effects/xxx", self.GetEntityPos(entityId))

CreateTextboardPreset

客户端

method in Preset.Model.PartBase.PartBase

  • 描述

    创建文字面板预设对象

  • 参数

    参数名
    数据类型
    说明
    textstr文字显示内容
    textColortuple(float,float,float,float)文字颜色的RGBA值,范围0-1
    boardColortuple(float,float,float,float)可选参数,默认None,设置为黑色,面板颜色的RGBA值,范围0-1
    postuple(float,float,float)可选参数,默认(0, 0, 0) 生成文字面板位置
    faceCamerabool是否始终朝向相机, 默认为True
  • 返回值

    数据类型
    说明
    TextboardPreset成功返回文字面板对象,失败返回None
  • 示例

python
# 在某个位置生成文字面板预设
textboard = self.CreateTextboardPreset('Hello', (0.5, 0.4, 0.3, 0.8))

ListenForEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    监听指定的事件

  • 参数

    参数名
    数据类型
    说明
    namespacestr命名空间
    systemNamestr事件系统名称
    eventNamestr事件名称
    instanceobject实例
    funcobject函数
    prioritystr优先级
  • 返回值

UnListenForEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    反监听指定的事件

  • 参数

    参数名
    数据类型
    说明
    namespacestr命名空间
    systemNamestr事件系统名称
    eventNamestr事件名称
    instanceobject实例
    funcobject函数
    prioritystr优先级
  • 返回值

ListenForEngineEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    监听指定的引擎事件

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    instanceobject实例
    funcobject函数
    prioritystr优先级
  • 返回值

UnListenForEngineEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    反监听指定的引擎事件

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    instanceobject实例
    funcobject函数
    prioritystr优先级
  • 返回值

CreateEventData

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    创建自定义事件的数据,eventData用于发送事件。创建的eventData可以理解为一个dict,可以嵌套赋值dict,list和基本数据类型,但不支持tuple

  • 参数

  • 返回值

    数据类型
    说明
    dict事件数据

BroadcastEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    广播事件,双端通用

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    eventDataobject事件数据
  • 返回值

BroadcastPresetSystemEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    广播给预设系统

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    eventDataobject事件数据
  • 返回值

NotifyToServer

客户端

method in Preset.Model.PartBase.PartBase

  • 描述

    通知服务端触发事件

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    eventDataobject事件数据
  • 返回值

NotifyToClient

服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    通知指定客户端触发事件

  • 参数

    参数名
    数据类型
    说明
    playerIdstr玩家ID
    eventNamestr事件名称
    eventDataobject事件数据
  • 返回值

BroadcastToAllClient

服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    通知指所有客户端触发事件

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    eventDataobject事件数据
  • 返回值

ListenSelfEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    监听来自自己的事件

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    targetobject目标
    funcobject回调函数
  • 返回值

UnListenSelfEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    反监听来自自己的事件

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    targetobject目标
    funcobject回调函数
  • 返回值

ListenPartEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    监听来自指定零件的事件

  • 参数

    参数名
    数据类型
    说明
    partIdint指定零件的ID
    eventNamestr事件名称
    targetobject目标
    funcobject回调函数
  • 返回值

UnListenPartEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    反监听来自指定零件的事件

  • 参数

    参数名
    数据类型
    说明
    partIdint指定零件的ID
    eventNamestr事件名称
    targetobject目标
    funcobject回调函数
  • 返回值

ListenPresetSystemEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    监听来自预设系统的事件

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    targetobject目标
    funcobject回调函数
  • 返回值

UnListenPresetSystemEvent

客户端/服务端

method in Preset.Model.PartBase.PartBase

  • 描述

    反监听来自预设系统的事件

  • 参数

    参数名
    数据类型
    说明
    eventNamestr事件名称
    targetobject目标
    funcobject回调函数
  • 返回值

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

  • 描述

    是否潜行

  • 参数

    参数名
    数据类型
    说明
    playerIdstr或int实体id
  • 返回值

    数据类型
    说明
    bool是否潜行
  • 示例

python
self.IsPlayerSneaking(playerId)

GetPlayerHunger

服务端

method in Preset.Model.SdkInterface.SdkInterface

  • 描述

    获取玩家饥饿度,展示在UI饥饿度进度条上,初始值为20,即每一个鸡腿代表2个饥饿度。 饱和度(saturation) :玩家当前饱和度,初始值为5,最大值始终为玩家当前饥饿度(hunger),该值直接影响玩家饥饿度(hunger)
    1)增加方法:吃食物。
    2)减少方法:每触发一次消耗事件,该值减少1,如果该值不大于0,直接把玩家 饥饿度(hunger) 减少1。

  • 参数

    参数名
    数据类型
    说明
    playerIdstr或int玩家id
  • 返回值

    数据类型
    说明
    float玩家饥饿度
  • 示例

python
self.GetPlayerHunger(playerId)

SetPlayerHunger

服务端

method in Preset.Model.SdkInterface.SdkInterface

  • 描述

    设置玩家饥饿度。

  • 参数

    参数名
    数据类型
    说明
    playerIdstr或int玩家id
    valuefloat饥饿度
  • 返回值

    数据类型
    说明
    bool是否设置成功
  • 示例

python
self.SetPlayerHunger(playerId, 10)