public PlayerCombatController(PlayerUnit unit) : base(unit)
    {
        Instance = this;
        PlayerWeapon weapon = new PlayerWeapon(unit, PlayerStateController.Instance.EquippedWeapon, PlayerStateController.Instance.StartingAmmo);

        EquippedWeapon = weapon;
        OnEquippedWeaponUpdated?.Invoke();
    }
 private void UpdateEquippedWeapon(PlayerWeapon weapon)
 {
     if (EquippedWeapon != null)
     {
         UnsubscribeToWeaponEvents();
     }
     EquippedWeapon = weapon;
     SubscribeToWeaponEvents();
     OnEquippedWeaponUpdated?.Invoke();
 }