# GameObject
# 说明
GameObject 是游戏中所有对象的基类,提供了访问游戏对象基本属性和状态的方法。
# 如何使用
auto gameObj = GameObject::GetByIndex(0);
if (gameObj && gameObj->IsValid() && gameObj->IsEnemy()) {
Console::Add("发现敌方对象:%s", gameObj->Name());
}
# Flags
int Flags()
获取游戏对象的标志位。
int flags = gameObject->Flags();
# IsValid
bool IsValid()
检查游戏对象是否有效。
if (gameObject->IsValid()) {
// 对象有效,执行操作
}
# IsMe
bool IsMe()
检查游戏对象是否是本地玩家。
if (gameObject->IsMe()) {
// 这是本地玩家
}
# IsDead
bool IsDead()
检查游戏对象是否已死亡。
if (!gameObject->IsDead()) {
// 对象还活着,执行操作
}
# IsAlly
bool IsAlly()
检查游戏对象是否是友方单位。
if (gameObject->IsAlly()) {
// 这是友方单位
}
# IsEnemy
bool IsEnemy()
检查游戏对象是否是敌方单位。
if (gameObject->IsEnemy()) {
// 这是敌方单位
}
# BoundingRadius
float BoundingRadius()
获取游戏对象的边界半径。
float radius = gameObject->BoundingRadius();
# Type
eGameObjectType Type()
获取游戏对象的类型。
if (gameObject->Type() == eGameObjectType::Hero) {
// 这是英雄单位
}
# Name
const char* Name()
获取游戏对象的名称。
const char* name = gameObject->Name();
Console::Add("对象名称: %s", name);
# Position
Vector const& Position()
获取游戏对象的位置。
Vector position = gameObject->Position();
Console::Add("对象位置: %.1f, %.1f, %.1f", position.X, position.Y, position.Z);
# Index
short Index()
获取游戏对象的索引。
short idx = gameObject->Index();
# IsVisible
bool IsVisible()
检查游戏对象是否可见。
if (gameObject->IsVisible()) {
// 对象可见,执行操作
}
# Team
eGameObjectTeam Team()
获取游戏对象所属的队伍。
if (gameObject->Team() == eGameObjectTeam::Order) {
// 这是秩序方的单位
}
# NetworkId
int NetworkId()
获取游戏对象的网络ID。
int netId = gameObject->NetworkId();
# IsNeutral
bool IsNeutral()
检查游戏对象是否是中立单位。
if (gameObject->IsNeutral()) {
// 这是中立单位
}
# IsAIBase
bool IsAIBase()
检查对象是否继承自 AIBase(如 AIMinion、AIHero、AITurret 等)。
if (gameObject->IsAIBase()) {
// 这是 AI 控制的单位
}
# IsAIMinion
bool IsAIMinion()
检查对象是否是 AI 小兵(包括野怪、兵线小兵、守卫等)。
if (gameObject->IsAIMinion()) {
// 这是小兵单位
}
# IsAIHero
bool IsAIHero()
检查对象是否是 AI 英雄。
if (gameObject->IsAIHero()) {
// 这是英雄单位
}
# IsAITurret
bool IsAITurret()
检查对象是否是 AI 防御塔。
if (gameObject->IsAITurret()) {
// 这是防御塔
}
# IsMissile
bool IsMissile()
检查对象是否是投射物。
if (gameObject->IsMissile()) {
// 这是投射物
}