Esempio n. 1
0
    protected override void SelfUpdate()
    {
        base.SelfUpdate();

        if (m_isMoving)
        {
            float dist = MathUtility.CalcDistance2D(m_navMeshAgent.destination, this.GetPosition());
            if (dist < ObjectDefines.maxStopDistance)
            {
                OnStopMove();
                m_isMoving = false;
            }
        }
    }
Esempio n. 2
0
    public static bool PointInSector(Vector3 point, Vector3 center, Vector3 dir, float radius, float angle)
    {
        angle *= Mathf.PI / 180f;
        Vector3 dis = point - center;
        float   s   = MathUtility.CalcDistance2D(point, center);

        if (s < radius)
        {
            float cosAngle = Vector3.Dot(dir, dis) / (s * s);
            if (cosAngle > Mathf.Cos(angle))
            {
                return(true);
            }
        }

        return(false);
    }
Esempio n. 3
0
 public static bool PointInCircle(Vector3 center, float radius, Vector3 pos)
 {
     return(MathUtility.CalcDistance2D(pos, center) < radius);
 }