Example #1
0
    private Transform FindBestSpotInCover(Cover cover, ref float minAngle)
    {
        Transform[] availiableSpot = cover.GetCoverSpot();
        Transform   best           = null;

        for (int i = 0; i < covers.Length; i++)
        {
            Vector3 dir = player.transform.position - availiableSpot[i].position;

            if (Check(availiableSpot[i]))
            {
                float angle = Vector3.Angle(availiableSpot[i].forward, dir);
                if (angle < minAngle)
                {
                    minAngle = angle;
                    best     = availiableSpot[i];
                }
            }
        }
        return(best);
    }