Ejemplo n.º 1
0
    private void Start()
    {
        health      = INITIALVITALITY / 2;
        beardLength = INITIALVITALITY / 2;

        //getting health ui
        var slider = GameObject.Find("Canvas/HealthBar");

        healthBeardUI = slider.GetComponent <SliderState>();

        healthBeardUI.InitializeSegments();
        healthBeardUI.UpdateSlider(health, beardLength);

        animator = transform.GetComponentInChildren <Animator>();
        animator.SetFloat("Health", health);

        //Audio things
        var beardman = GameObject.Find("Beard Man/MusicMaker");

        var b2 = GameObject.Find("Beard Man/BackgroundMusicSource");

        musicSource      = beardman.GetComponents <AudioSource>()[0];
        backgroundSource = b2.GetComponents <AudioSource>()[0];


        AudioClip[] beardSounds    = Resources.LoadAll <AudioClip>("Sound/BeardNoise");
        AudioClip[] beardManSounds = Resources.LoadAll <AudioClip>("Sound/BeardManSounds");

        beardGrow   = beardSounds[4];
        beardShrink = beardSounds[3];

        beardManDeath = beardManSounds[1];
        beardManHurt  = beardManSounds[0];
    }
Ejemplo n.º 2
0
    public void TakeDamage(int amount)
    {
        if (amount > 0 && !animator.GetBool("Shielded"))
        {
            animator.SetTrigger("Damage");
        }

        if (MovementController.Shielding() && amount < 1000)
        {
            ;//Take no damage if shielding
        }
        else if (health - amount <= 0)
        {
            health = 0;
            //gameObject.SetActive (false);
            StartCoroutine(playerDie());
            /* despawn need to add in some kind of animation with it */
        }
        else
        {
            health -= amount;
            if (amount > 0)
            {
                musicSource.PlayOneShot(beardManHurt);
            }
        }

        animator.SetFloat("Health", health);
        // the only time vitality increases is here, so cap it at the max vitality
        if (vitality > MAXIMUMVITALITY)
        {
            Debug.Log(vitality);
            // if we can take the extra off beard length, do it, otherwise just undo the additional health
            if (beardLength > 1)
            {
                beardLength += MAXIMUMVITALITY - vitality;
                Debug.Log("capping beard length");
            }
            else
            {
                health += MAXIMUMVITALITY - vitality;
                Debug.Log("capping health");
            }
        }
        healthBeardUI.UpdateSlider(health, beardLength);
    }