| 1472 | } |
| 1473 | |
| 1474 | F32 AIPlayer::getTargetDistance(GameBase* target, bool _checkEnabled) |
| 1475 | { |
| 1476 | if (!isServerObject()) return false; |
| 1477 | if (!target) |
| 1478 | { |
| 1479 | target = mAimObject.getPointer(); |
| 1480 | if (!target) |
| 1481 | return F32_MAX; |
| 1482 | } |
| 1483 | |
| 1484 | if (_checkEnabled) |
| 1485 | { |
| 1486 | if (target->getTypeMask() & ShapeBaseObjectType) |
| 1487 | { |
| 1488 | ShapeBase *shapeBaseCheck = static_cast<ShapeBase *>(target); |
| 1489 | if (shapeBaseCheck) |
| 1490 | if (shapeBaseCheck->getDamageState() != Enabled) return false; |
| 1491 | } |
| 1492 | else |
| 1493 | return F32_MAX; |
| 1494 | } |
| 1495 | |
| 1496 | return (getPosition() - target->getPosition()).len(); |
| 1497 | } |
| 1498 | |
| 1499 | DefineEngineMethod(AIPlayer, getTargetDistance, F32, (ShapeBase* obj, bool checkEnabled), (nullAsType<ShapeBase*>(), false), |
| 1500 | "@brief The distance to a given object.\n" |
no test coverage detected