1 #ifndef GAME_STATES_PEOPLEMONINFO_HPP
2 #define GAME_STATES_PEOPLEMONINFO_HPP
4 #include <BLIB/Graphics.hpp>
5 #include <BLIB/Interfaces/Menu.hpp>
6 #include <BLIB/Resources.hpp>
20 ,
public bl::input::Listener {
40 virtual const char*
name()
const override;
47 virtual void activate(bl::engine::Engine& engine)
override;
54 virtual void deactivate(bl::engine::Engine& engine)
override;
62 virtual void update(bl::engine::Engine& engine,
float dt,
float)
override;
65 enum ActivePage { Basics, Moves };
67 ActivePage activePage;
71 bl::rc::res::TextureRef bgndTxtr;
72 bl::gfx::Sprite background;
74 bl::rc::res::TextureRef leftTxtr;
75 bl::gfx::Sprite leftArrow;
76 bl::rc::res::TextureRef rightTxtr;
77 bl::gfx::Sprite rightArrow;
78 bl::gfx::Text pageLabel;
80 bl::rc::res::TextureRef thumbTxtr;
81 bl::gfx::Sprite thumbnail;
82 bl::gfx::Text nameLabel;
83 bl::gfx::Text idLabel;
84 bl::gfx::Text levelLabel;
85 bl::gfx::Text itemLabel;
86 bl::gfx::Text curXpLabel;
87 bl::gfx::Text nextXpLabel;
88 bl::gfx::Text ailLabel;
90 bl::rc::res::TextureRef basicsTxtr;
91 bl::gfx::Sprite basicsBox;
92 bl::gfx::Text speciesLabel;
93 bl::gfx::Text typeLabel;
94 bl::gfx::Text hpLabel;
95 bl::gfx::Text atkLabel;
96 bl::gfx::Text defLabel;
97 bl::gfx::Text spdLabel;
98 bl::gfx::Text spAtkLabel;
99 bl::gfx::Text spDefLabel;
100 bl::gfx::Text descLabel;
101 bl::gfx::Text abilityLabel;
102 bl::gfx::Text abilityDescLabel;
104 bl::menu::Menu moveMenu;
105 bl::rc::res::TextureRef moveTxtr;
106 bl::gfx::Sprite moveBox;
107 bl::gfx::Text movePwrLabel;
108 bl::gfx::Text moveAccLabel;
109 bl::gfx::Text moveTypeLabel;
110 bl::gfx::Text moveDescLabel;
113 virtual bool observe(
const bl::input::Actor&,
unsigned int activatedControl,
114 bl::input::DispatchType,
bool eventTriggered)
override;
116 void setPage(ActivePage page);
Parent namespace for all functionality unique to the game.
Represents an instance of a peoplemon. Can be a wild peoplemon, trainer, or player peoplemon....
Owns all primary systems and a reference to the engine.
Menu for displaying information about a specific peoplemon the player owns.
virtual void activate(bl::engine::Engine &engine) override
Activates the state.
virtual const char * name() const override
Returns "Peopledex".
virtual ~PeoplemonInfo()=default
Destroy the Peoplemon Info object.
virtual void update(bl::engine::Engine &engine, float dt, float) override
Updates the state and menus and whatnot.
static bl::engine::State::Ptr create(core::system::Systems &systems, const core::pplmn::OwnedPeoplemon &ppl)
Create a new PeoplemonInfo engine state.
virtual void deactivate(bl::engine::Engine &engine) override
Deactivates the state.
Parent to all game states. Provides some commonly required data like core game systems.
core::system::Systems & systems