Peoplemon  0.1.0
Peoplemon 3 game source documentation
PeoplemonEditorWindow.hpp
Go to the documentation of this file.
1 #ifndef EDITOR_COMPONENTS_PEOPLEMONEDITORWINDOW_HPP
2 #define EDITOR_COMPONENTS_PEOPLEMONEDITORWINDOW_HPP
3 
4 #include <BLIB/Interfaces/GUI.hpp>
11 #include <functional>
12 
13 namespace editor
14 {
15 namespace component
16 {
18 public:
19  using OnChange = std::function<void()>;
20 
22 
23  void open(bl::gui::GUI* parent, core::pplmn::Id ppl);
24 
25 private:
26  core::file::PeoplemonDB& peoplemonDb;
27  const OnChange onChange;
28  bool doingNewPeoplemon;
29 
30  bl::gui::Window::Ptr window;
31  bl::gui::TextEntry::Ptr idEntry;
32  bl::gui::TextEntry::Ptr nameEntry;
33  bl::gui::TextEntry::Ptr descEntry;
34  TypeSelector::Ptr type1Select;
35  TypeSelector::Ptr type2Select;
36  StatBox statEntry;
37 
38  std::vector<core::pplmn::MoveId> movePool;
39  bl::gui::SelectBox::Ptr movePoolEntry;
40  MoveSelector::Ptr movePoolSelect;
41 
42  std::vector<std::pair<unsigned int, core::pplmn::MoveId>> learnMoves;
43  bl::gui::SelectBox::Ptr learnMoveEntry;
44  bl::gui::TextEntry::Ptr moveLevelEntry;
45  MoveSelector::Ptr moveLearnSelect;
46 
47  bl::gui::TextEntry::Ptr evolveLevelEntry;
48  PeoplemonSelector::Ptr evolveIdSelect;
49 
50  bl::gui::ComboBox::Ptr abilitySelect;
51  bl::gui::ComboBox::Ptr xpGroupSelect;
52  bl::gui::TextEntry::Ptr xpRewardMultEntry;
53  StatBox evAwardEntry;
54  bl::gui::TextEntry::Ptr catchRateEntry;
55 
56  bl::gui::Image::Ptr thumbImg;
57  bl::gui::Image::Ptr playerImg;
58  bl::gui::Image::Ptr opImg;
59 
60  core::pplmn::Id openId;
61  bool dirty;
62  bl::gui::Button::Ptr applyBut;
63 
64  void reloadImages();
65  void makeDirty();
66  void onCancel();
67  void onSave();
68  void close();
69 
70  void onMovePoolAdd();
71  void onMovePoolDelete();
72 
73  void onLearnMoveAdd();
74  void onLearnMoveDelete();
75 };
76 
77 } // namespace component
78 } // namespace editor
79 
80 #endif
Id
The id of a peoplemon.
Definition: Id.hpp:16
All classes and functionality used for implementing the game editor.
Definition: Tile.hpp:11
Data structure that holds the underlaying data for all the peoplemon.
Definition: PeoplemonDB.hpp:26
std::shared_ptr< MoveSelector > Ptr
Pointer to this component.
void open(bl::gui::GUI *parent, core::pplmn::Id ppl)
PeoplemonEditorWindow(core::file::PeoplemonDB &db, const OnChange &onChange)
std::shared_ptr< PeoplemonSelector > Ptr
Provides an inline GUI entry for stats in either EV mode or IV mode.
Definition: StatBox.hpp:17
std::shared_ptr< TypeSelector > Ptr
Pointer to a TypeSelector component.