LCOV - code coverage report
Current view: top level - core/entities - Weapon.hpp (source / functions) Coverage Total Hit
Test: coverage-src.info Lines: 16.7 % 6 1
Test Date: 2025-05-27 23:26:07 Functions: 25.0 % 4 1

            Line data    Source code
       1              : #ifndef __WEAPON_HPP__
       2              : #define __WEAPON_HPP__
       3              : 
       4              : #include "core/types/WeaponType.hpp"
       5              : #include "core/entities/WeaponParameters.hpp"
       6              : 
       7              : #include <vector>
       8              : #include <cstdint>
       9              : 
      10              : namespace Soldank
      11              : {
      12              : class Weapon
      13              : {
      14              : public:
      15              :     Weapon(const WeaponParameters& weapon_parameters);
      16              : 
      17              :     bool IsAny(const std::vector<WeaponType>& weapons) const;
      18              :     const WeaponParameters& GetWeaponParameters() const;
      19              : 
      20            0 :     void ResetStartUpTimeCount() { start_up_time_count_ = weapon_parameters_.start_up_time; };
      21            0 :     void SetReloadTimePrev(std::uint16_t reload_time_prev)
      22              :     {
      23            0 :         reload_time_prev_ = reload_time_prev;
      24            0 :     };
      25            0 :     std::uint16_t GetReloadTimeCount() const { return reload_time_count_; };
      26              : 
      27            2 :     std::uint8_t GetAmmoCount() const { return ammo_count_; }
      28              :     std::uint16_t GetClipInTime() const { return clip_in_time_; }
      29              :     std::uint16_t GetClipOutTime() const { return clip_out_time_; }
      30              : 
      31              : private:
      32              :     WeaponParameters weapon_parameters_;
      33              : 
      34              :     std::uint8_t ammo_count_;
      35              :     std::uint16_t fire_interval_prev_;
      36              :     std::uint16_t fire_interval_count_;
      37              :     float fire_interval_real_;
      38              :     std::uint16_t start_up_time_count_;
      39              :     std::uint16_t reload_time_prev_;
      40              :     std::uint16_t reload_time_count_;
      41              :     float reload_time_real_;
      42              :     std::uint16_t clip_in_time_;
      43              :     std::uint16_t clip_out_time_;
      44              : };
      45              : } // namespace Soldank
      46              : 
      47              : #endif
        

Generated by: LCOV version 2.0-1