#ifndef WEAPONS_REVOLVER_H #define WEAPONS_REVOLVER_H #include "wave_survival/hitscan_muzzle.h" #include "wave_survival/weapon_base.h" class Revolver : public WeaponBase { GDCLASS(Revolver, WeaponBase); static void _bind_methods(); void play_equip_anim(); void shoot(); void on_primary_fire(bool pressed); void on_alt_mode(bool pressed); void ready(); void process(double delta); protected: void _notification(int what); virtual void notify_selected() override; private: bool alt_requested{ false }; bool alt_active{ false }; HitscanMuzzle *muzzle{ nullptr }; float recoil_force{ 2.f }; float recoil_time{ 0.06f }; }; #endif // !WEAPONS_REVOLVER_H