#ifndef WEAPON_INVENTORY_H #define WEAPON_INVENTORY_H #include "scene/main/node.h" #include "scene/resources/packed_scene.h" class PlayerBody; class WeaponBase; class WeaponInventory : public Node { GDCLASS(WeaponInventory, Node); static void _bind_methods(); void on_switch_input(); void ready(); void select_weapon(WeaponBase *next); protected: void _notification(int what); public: void set_fallback_weapon(Ref scene); Ref get_fallback_weapon() const; WeaponBase *get_current_weapon() const; private: unsigned current{ 0 }; LocalVector weapons{ nullptr, nullptr }; WeaponBase *current_weapon{ nullptr }; WeaponBase *fallback_weapon{ nullptr }; Ref default_weapon_scene{}; }; #endif // !WEAPON_INVENTORY_H