public bool GetIsTarget(IntVector3 p)
{
if (p.X != 0 && p.Y != 0 && p.X != m_terrain.Width - 1 && p.Y != m_terrain.Height - 1)
return false;
return
(m_sourceSide == SideEdge.Left && p.X > m_terrain.Width / 2) ||
(m_sourceSide == SideEdge.Top && p.Y > m_terrain.Height / 2) ||
(m_sourceSide == SideEdge.Right && p.X < m_terrain.Width / 2) ||
(m_sourceSide == SideEdge.Bottom && p.Y < m_terrain.Height / 2);
}