public void Start() { stats.birdName = names[Mathf.FloorToInt(Random.value * names.Length)]; findClosestPerch(); Color newColor; if (Random.value < 0.6f) { newColor = colors[Mathf.FloorToInt(Random.value * colors.Length)]; } else { newColor = Color.white; } stats.baseColor[0] = newColor.r; stats.baseColor[1] = newColor.g; stats.baseColor[2] = newColor.b; Color color = new Color(stats.baseColor[0], stats.baseColor[1], stats.baseColor[2]); GetComponent <SpriteRenderer>().material.color = color; OpenWorldBird player = (OpenWorldBird)Object.FindObjectOfType(typeof(OpenWorldBird)); stats.stamina = Mathf.Floor(Random.value * 100 + 50f); stats.maxSpeed = Mathf.Floor(player.stats.maxSpeed + Random.value * 8 - 3.5f); stats.maxAltitude = Mathf.Floor(Random.value * 50 + 25f); }
public void loadOpenWorld() { //TODO get info from the displayed bird and transfer to open world bird GameObject bird = new GameObject("Player"); bird.transform.localScale = new Vector2(10, 10); bird.AddComponent <SpriteRenderer>(); bird.AddComponent <Animator>(); ArboretumBird refBird = (ArboretumBird)UnityEngine.Object.FindObjectOfType(typeof(ArboretumBird)); bird.GetComponent <Animator>().runtimeAnimatorController = (RuntimeAnimatorController)Resources.Load("Animations/" + refBird.stats.type + "Anim"); bird.AddComponent <OpenWorldBird>(); //add attributes! OpenWorldBird b = bird.GetComponent <OpenWorldBird>(); b.stats.baseColor = refBird.stats.baseColor; b.stats.canFreeFly = refBird.stats.canFreeFly; b.stats.stamina = refBird.stats.stamina; b.stats.maxAltitude = refBird.stats.maxAltitude; b.stats.maxSpeed = refBird.stats.maxSpeed; OpenWorldCamera camera = (OpenWorldCamera)UnityEngine.Object.FindObjectOfType(typeof(OpenWorldCamera)); camera.player = bird.GetComponent <OpenWorldBird>(); Destroy(refBird.gameObject); }
float distFromPlayer() { OpenWorldBird player = (OpenWorldBird)Object.FindObjectOfType(typeof(OpenWorldBird)); if (player == null) { return(-1); } return(Vector2.Distance(transform.position, player.transform.position)); }
// Update is called once per frame void Update() { if (touched()) { OpenWorldBird bird = (OpenWorldBird)Object.FindObjectOfType(typeof(OpenWorldBird)); if (bird != null) { bird.setPerch(this); } } }