scenery.hpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* License Notice:
  2. **
  3. ** This program is free software: you can redistribute it and/or modify
  4. ** it under the terms of the GNU General Public License as published by
  5. ** the Free Software Foundation, either version 3 of the License, or
  6. ** (at your option) any later version.
  7. ** This program is distributed in the hope that it will be useful,
  8. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. ** GNU General Public License for more details.
  11. ** You should have received a copy of the GNU General Public License
  12. ** along with this program. If not, see <https://www.gnu.org/licenses/>.
  13. */
  14. /**
  15. * @file scenery.hpp
  16. * @author TooOld2Rock'nRoll
  17. * @date 2023/04/12
  18. * @brief Implements a suggestion for what a Scenery supper class could be for the ArcadeFighter library.
  19. */
  20. #ifndef _SCENERY_HPP_
  21. #define _SCENERY_HPP_
  22. /*---- Includes ----*/
  23. #include "resource_manager.hpp"
  24. #include "game_object.hpp"
  25. /*---- Class Declaration ----*/
  26. /**
  27. * @brief Scenery class for the ArcadeFighter library.
  28. * @extends GameObject
  29. *
  30. * Since things like backgrounds are very simple, this is almost just a pure GameObjects, any passive elements of
  31. * a Level would look very much like this.<br>
  32. * It will print all its sprites in order, which, if you are making good use of a image atlas or sprite sheets, would add
  33. * up to just one or two of this classes, making them self contained and well organized.
  34. */
  35. class Scenery : public GameObject
  36. {
  37. private:
  38. protected:
  39. public:
  40. Scenery (DomainID_t domain_id, Shader *sh = nullptr, unsigned sprite_count = 1);
  41. /** @brief Does nothing, most scenarios are static. */
  42. virtual void update (double delta_t) override { }
  43. virtual void draw () override;
  44. };//END Scenery
  45. #endif //_SCENERY_HPP_