cctnonruined.c 623 B

123456789101112131415161718192021
  1. class CCTNonRuined : CCTBase
  2. {
  3. protected float m_MaximalActionDistanceSq;
  4. void CCTNonRuined ( float maximal_target_distance = UAMaxDistances.DEFAULT )
  5. {
  6. m_MaximalActionDistanceSq = maximal_target_distance * maximal_target_distance;
  7. }
  8. override bool Can( PlayerBase player, ActionTarget target )
  9. {
  10. if( !target )
  11. return false;
  12. Object targetObject = target.GetObject();
  13. if ( !player || !targetObject || targetObject.IsMan() || targetObject.IsDamageDestroyed() )
  14. return false;
  15. return ( vector.DistanceSq(targetObject.GetPosition(), player.GetPosition()) <= m_MaximalActionDistanceSq );
  16. }
  17. };