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; }
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); }