# MecCircle
# 说明
表示最小包围圆(Minimum Enclosing Circle)的结构体,用于计算能够包围一组点的最小圆形区域。
# 如何使用
// 获取敌方英雄位置
std::vector<Vector> enemyPositions;
auto enemies = ObjectManager::Get_EnemyHeroes();
for (auto enemy : enemies)
{
if (enemy->IsValid() && enemy->IsVisible() && enemy->IsTargetable() &&
enemy->Position().Distance(ObjectManager::Player()->Position()) <= 1500.f)
{
enemyPositions.push_back(enemy->Position());
}
}
// 如果有多个敌人,计算最小包围圆
if (enemyPositions.size() >= 2)
{
// 获取包围所有敌人的最小圆
MecCircle circle = MEC::GetMec(enemyPositions);
// 使用最小包围圆信息
Vector circleCenter = circle.Center;
float circleRadius = circle.Radius;
// 检查是否有足够多的敌人在圆内并且圆半径适中
if (enemyPositions.size() >= 3 && circleRadius < 350.f)
{
// 适合使用AOE技能,如安妮的W,提比尔的蘑菇等
ObjectManager::Player()->CastSpell(eSpellSlot::R, circleCenter);
}
// 绘制最小包围圆用于调试
Geometry::Circle(circleCenter, circleRadius).Draw(MAKE_COLOR(255, 0, 0, 255), 2.f);
}
# Properties
属性名 | 类型 | 描述 |
---|---|---|
Center | Vector | 圆心位置 |
Radius | float | 圆的半径 |