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