コード例 #1
0
    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);
    }
コード例 #2
0
    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);
    }
コード例 #3
0
    float distFromPlayer()
    {
        OpenWorldBird player = (OpenWorldBird)Object.FindObjectOfType(typeof(OpenWorldBird));

        if (player == null)
        {
            return(-1);
        }
        return(Vector2.Distance(transform.position, player.transform.position));
    }
コード例 #4
0
 // Update is called once per frame
 void Update()
 {
     if (touched())
     {
         OpenWorldBird bird = (OpenWorldBird)Object.FindObjectOfType(typeof(OpenWorldBird));
         if (bird != null)
         {
             bird.setPerch(this);
         }
     }
 }