private void OnStandaHealthChanged(FloatStat healthStat, float oldVal, float newVal) { if (newVal <= 0) { // player Death ChangeGameState(eGameState.Death); } }
private void HealthStatOnOnValueChanged(FloatStat stat, float oldVal, float newVal) { if (Mathf.Approximately(newVal, 0)) { Die(); } else { RefreshCracks(); } }
private void OnStatChanged(FloatStat stat, float oldValue, float newValue) { if (!enabled || !gameObject.activeSelf) { return; } barImage.fillAmount = newValue / stat.MaxValue; if (newValue > oldValue) { return; } if (_refreshMissedHealthImageCor != null) { StopCoroutine(_refreshMissedHealthImageCor); } _refreshMissedHealthImageCor = StartCoroutine(RefreshMissedHealthImage()); }
private IEnumerator Start() { _standaHealthStat = standa.GetComponent <HaveStats>().GetFloatStat(eStatType.Health); _standaHealthStat.OnValueChanged += OnStandaHealthChanged; ChangeGameState(_startingGameState.startingGameState); _allMeteors = new List <GameObject>(Resources.FindObjectsOfTypeAll <Destroyable>().Select(d => d.gameObject) .Where(go => go.hideFlags != HideFlags.NotEditable && go.hideFlags != HideFlags.HideAndDontSave)); foreach (var meteor in _allMeteors) { for (int i = 0; i < meteor.transform.childCount; i++) { var child = meteor.transform.GetChild(i); if (child.CompareTag("EnergySpirit")) { _energySpirits.Add(child.GetComponent <ParticleSystem>()); } } } yield return(null); // yield return new WaitForSeconds(1.0f); // ChangeGameState(eGameState.Win); }
private void Start() { _energyStat = GetComponent <HaveStats>().GetFloatStat(eStatType.Energy); }
private void Start() { _healthStat = GetComponent <HaveStats>().GetFloatStat(eStatType.Health); _healthStat.OnValueChanged += HealthStatOnOnValueChanged; }
private void Start() { _stat = haveStats.GetFloatStat(stat); _stat.OnValueChanged += OnStatChanged; }