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