Esempio n. 1
0
        private Vector3 BirdSpawnPoint()
        {
            BoxCollider birdCollider = birdsArea.GetComponent <BoxCollider>();
            Bounds      birdBounds   = birdCollider.bounds;

            //Choose upper quadrant of bounding box for spawn:
            SpawnQuadrant spQuad = GetRandowmSpawnQuadrant();

            return(GetSpawnPoint(birdBounds, spQuad));
        }
Esempio n. 2
0
        private Vector3 GetSpawnPoint(Bounds bounds, SpawnQuadrant spQ)
        {
            Vector3 spPoint   = Vector3.zero;
            Vector3 addVector = spPoint;
            int     extX      = Mathf.RoundToInt(bounds.extents.x);
            int     extY      = Mathf.RoundToInt(bounds.extents.y);
            int     extZ      = Mathf.RoundToInt(bounds.extents.z);

            switch (spQ)
            {
            case SpawnQuadrant.One:
                addVector.y += Random.Range(1, extY);
                addVector.x -= Random.Range(1, extX);
                addVector.z += Random.Range(1, extZ);

                break;

            case SpawnQuadrant.Two:
                addVector.y += Random.Range(1, extY);
                addVector.x -= Random.Range(1, extX);
                addVector.z -= Random.Range(1, extZ);
                break;

            case SpawnQuadrant.Three:
                addVector.y += Random.Range(1, extY);
                addVector.x += Random.Range(1, extX);
                addVector.z -= Random.Range(1, extZ);
                break;

            case SpawnQuadrant.Four:
                addVector.y += Random.Range(1, extY);
                addVector.x += Random.Range(1, extX);
                addVector.z += Random.Range(1, extZ);
                break;

            default:
                break;
            }
            spPoint = bounds.center + addVector;

            return(spPoint);
        }