Ejemplo n.º 1
0
        public void PushTurtle(Turtle turtle)
        {
            float      maxY      = transform.position.y;
            GameObject maxObject = this.gameObject;

            foreach (var towerTurtle in turtles.ToList <Turtle>())
            {
                if (towerTurtle.transform.position.y + towerTurtle.GetComponent <Renderer>().bounds.size.y / 2 > maxY)
                {
                    maxY      = towerTurtle.transform.position.y + towerTurtle.GetComponent <Renderer>().bounds.size.y / 2;
                    maxObject = towerTurtle.gameObject;
                }
            }

            Vector3 newPosition = transform.position;

            if (gameObject != maxObject && turtle.gameObject != maxObject)
            {
                newPosition.y = maxObject.transform.position.y +
                                3 * (turtle.GetComponent <Renderer>().bounds.size.y +
                                     maxObject.GetComponent <Renderer>().bounds.size.y) / 10;
            }
            else
            {
                newPosition.y = transform.position.y +
                                3 * (turtle.GetComponent <Renderer>().bounds.size.y) / 8;
            }

            turtle.transform.parent   = transform;
            turtle.transform.position = newPosition;
        }
Ejemplo n.º 2
0
        public bool Intersects(Turtle turtle)
        {
            foreach (var towerTurtle in turtles.ToArray <Turtle>())
            {
                if (towerTurtle.GetComponent <SpriteRenderer>().bounds.Intersects(turtle.GetComponent <SpriteRenderer>().bounds))
                {
                    return(true);
                }
            }

            if (GetComponent <SpriteRenderer>().bounds.Intersects(turtle.GetComponent <SpriteRenderer>().bounds))
            {
                return(true);
            }

            return(false);
        }