CCTTree.c
class CCTTree : CCTBase
{
protected float m_MaximalActionDistanceSq;
void CCTTree ( float maximal_target_distance )
{
m_MaximalActionDistanceSq = maximal_target_distance * maximal_target_distance;
}
override bool Can( PlayerBase player, ActionTarget target )
{
if( !target )
return false;
Object targetObject = target.GetObject();
if ( !player || !targetObject || targetObject.IsDamageDestroyed() )
return false;
if ( g_Game.IsServer() && g_Game.IsMultiplayer() )
return true;
return ( vector.DistanceSq(target.GetCursorHitPos(), player.GetPosition()) <= m_MaximalActionDistanceSq );
}
};