public override void Display() { base.Display(); PlayerUnit.Instance.Damageable.OnCurrentHealthChanged += OnHealthChanged; PlayerOutfitController.Instance.OnOutfitChangeComplete += OnOutfitChangeComplete; PlayerOutfitController.Instance.OnOutfitChangeStarted += OnOutfitChangeStart; PlayerCombatController.Instance.OnAmmoUpdated += OnAmmoUpdated; PlayerCombatController.Instance.OnReloadStarted += OnReloadStarted; PlayerCombatController.Instance.OnReloadFinished += OnReloadFinished; _currentHealth = PlayerUnit.Instance.Damageable.Health; _maxHealth = PlayerUnit.Instance.Damageable.MaxHealth; _healthBar.UpdateValueInstant((float)_currentHealth / _maxHealth); _ammo = PlayerCombatController.Instance.EquippedWeapon.CurrentClip; _fullClip = PlayerCombatController.Instance.EquippedWeapon.Data.ClipSize; _ammoBar.UpdateValueInstant((float)_ammo / _fullClip); // OnHealthChanged(PlayerUnit.Instance.Damageable.Health); // OnAmmoUpdated(PlayerCombatController.Instance.EquippedWeapon.CurrentClip); OnOutfitChangeComplete(); gameObject.SetActive(true); }
private void SetDetectionDisplayValue() { bool showDisplay = false; if (_targetManager.CurrentDetectable != null) { _fillBar.gameObject.SetActive(showDisplay); return; } DetectedTarget highest = _targetManager.HighestDetectedTarget; showDisplay = highest != null && highest.DetectionValue > 0f; _fillBar.gameObject.SetActive(showDisplay); if (!showDisplay) { return; } float value = highest.DetectionValue / NPCTargetManager.DetectionThreshold; _fillBar.UpdateValueInstant(value); }
private void OnMaxHealthChanged(int maxHealth) { _healthBar.UpdateValueInstant((float)_unit.Damageable.Health / maxHealth); }
private void OnReloadFinished() { _ammo = PlayerCombatController.Instance.EquippedWeapon.CurrentClip; _ammoBar.UpdateValueInstant((float)_ammo / _fullClip); }