Beispiel #1
0
    void Update()
    {
        if (!GameManager.GameIsPaused && !GameManager.GameIsOver)
        {
            if (buffDisappearCountdown <= 0f)
            {
                willBuffDisappear = true;
                Destroy(gameObject);
                buffDisappearCountdown = 15f;
            }
            buffDisappearCountdown -= Time.deltaTime;

            GameObject player = GameObject.FindGameObjectWithTag("Player");

            direction = (player.transform.position - transform.position);
            transform.Translate(direction.normalized * buffSpeed * Time.deltaTime, Space.World);

            if (!willBuffDisappear)
            {
                if (Vector3.Distance(transform.position, player.transform.position) <= 0.6f)
                {
                    if (buffName == "Health")
                    {
                        if (PlayerStats.Lives < 10)
                        {
                            PlayerStats.Lives++;
                        }
                        Destroy(gameObject);
                    }
                    else if (buffName == "FireRate")
                    {
                        if (player.GetComponent <Player>().fireRate > 0.1f)
                        {
                            player.GetComponent <Player>().fireRate -= 0.05f;
                            buffSpawner.ChangeBulletSpeed();
                            Destroy(gameObject);
                        }
                        else
                        {
                            player.GetComponent <Player>().fireRate = 0.1f;
                            buffSpawner.ChangeBulletSpeed();
                            Destroy(gameObject);
                        }
                    }

                    AudioSource.PlayClipAtPoint(getHitAudio, transform.position);
                }
            }
        }
    }