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; } } }
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); }
public static bool PointInCircle(Vector3 center, float radius, Vector3 pos) { return(MathUtility.CalcDistance2D(pos, center) < radius); }