📚 Client/Entity

World端代码框架相同,Entity同样作为常用类的父类使用。

基于基类和派生类的概念,所有继承自此类的实例均可调用本文属性及方法。

派生类及标准名称 说明
Character 角色类
Vehicle 载具类
Pickup 拾取物类
Checkpoint 检查点类
Model 模型对象类

📒 Property

📘 entity.Data

内置的自定义类型属性(建议使用基础类型),可供开发者自行使用,需要自行做好类型Type和生命周期处理。

entity.Data = null; //any

📒 Function

📘 entity.IsValid()

获取当前实例是否真实存在且有效否则表示实例已经销毁,只是GC没有及时回收垃圾。

对于所有基于Entity的类型,建议判断是否有效时额外判断IsValid(),因为有时可能引用不为null,但实际上对象已经销毁(此时不应该再使用此对象,否则可能会引起异常)。

function entity.IsValid(): bool
let chara = Character.Find(0);
DLog(chara.IsValid());

📘 entity.GetType()

获取当前实例的类型名称(文本),标准文本参考本文顶部表格。

此功能可用来判断当前实例是何种类型(角色、载具等……)。

function entity.GetType(): string

📘 entity.GetInstance()

获取当前实例(当前被继承的实例),通常只在Entity类检测使用,其他派生类返回的是自身实例。

function entity.GetInstance(): Entity //返回:基类或派生类
let myCharacter = Character.Find(0);
myCharacter.GetInstance(); //返回:Character类,举一反三

📘 entity.GetVisualRange()

获取实体相对于本地玩家的可见程度(距离流)。

此方法允许提交一个true参数,可用于立即刷新结果,通常可以忽略。

function entity.GetVisualRange( update: bool = false ): int
Index 说明
-1 不可见(停止渲染和处理复杂计算)
0 可见范围内(完全渲染及计算)
1 可见范围内,但距离较远