2 #ifndef WORLDSIM_MENU_CHARACTER_HPP 3 #define WORLDSIM_MENU_CHARACTER_HPP 17 #include <Graphics/GUI/GUI_Table.hpp> 18 #include <Container/Table/Table.hpp> 58 guiManager.setFont(_font);
59 menuCharacterDetails.
setFont(_font);
68 cNormal.set(220,220,220);
69 cSelected.set(180,180,180);
70 cDropPanel.set(170,170,170);
71 cHighlight.set(255,160,160);
74 buttonClose.setColours(cNormal,cHighlight,0);
75 buttonClose.active=
true;
77 buttonCharacterDetails.text=
"Character Sheet";
78 buttonCharacterDetails.setColours(cNormal,cHighlight,0);
79 buttonCharacterDetails.active=
true;
81 guiTableCharacters.clear();
83 guiTableCharacters.alpha=0;
84 guiTableCharacters.active=
true;
85 guiTableCharacters.addColumn(
"First name",
"firstname",120);
86 guiTableCharacters.addColumn(
"Last name",
"lastname",120);
87 guiTableCharacters.addColumn(
"Age",
"age",60);
88 guiTableCharacters.addColumn(
"Sex",
"sex",60);
89 guiTableCharacters.addColumn(
"Race",
"race",100);
90 guiTableCharacters.addColumn(
"Strength",
"strength",100);
91 guiTableCharacters.addColumn(
"Kills",
"kills",60);
92 guiTableCharacters.addColumn(
"Smithing",
"skillMetalsmithing",120);
93 guiTableCharacters.addColumn(
"Favourite",
"favourite",120);
94 guiTableCharacters.setColours(cNormal,cSelected);
103 for (
int i2=0;i2<
world.
vTribe(i)->vCharacter.size();++i2)
105 tCharacters.addRow(
world.
vTribe(i)->vCharacter(i2));
111 for (
int i2=0;i2<
world.
vCiv(i)->vCharacter.size();++i2)
113 if (
world.
vCiv(i)->vCharacter(i2)->isAlive)
115 tCharacters.addRow(
world.
vCiv(i)->vCharacter(i2));
121 guiManager.add(&buttonClose);
122 guiManager.add(&buttonCharacterDetails);
123 guiManager.add(&guiTableCharacters);
125 menuCharacterDetails.
init();
126 menuCharacterDetails.active=
false;
134 if ( menuCharacterDetails.active )
136 menuCharacterDetails.
render();
141 Renderer::placeColour4a(150,150,150,200,panelX1,panelY1,panelX2,panelY2);
142 font8x8.drawText(
"Character List Menu",panelX1,panelY2-20,panelX2,panelY2-5,
true,
true);
149 if ( menuCharacterDetails.active )
155 return guiManager.keyboardEvent(_keyboard);
164 if ( menuCharacterDetails.active )
171 if(guiManager.mouseEvent(_mouse)==
true)
176 if (buttonClose.clicked==
true)
178 std::cout<<
"CLOSE\n";
180 buttonClose.unclick();
183 if (buttonCharacterDetails.clicked==
true)
185 if ( selectedCharacter != 0 )
187 std::cout<<
"Character details\n";
190 menuCharacterDetails.
init(selectedCharacter);
192 menuCharacterDetails.active=
true;
197 std::cout<<
"Known:\n";
198 for (
int i=0;i<vKnown.size();++i)
200 std::cout<<vKnown(i)->getFullName()<<
"\n";
205 std::cout<<
"Select a character first.\n";
208 buttonCharacterDetails.unclick();
213 if ( guiTableCharacters.lastClickedIndex != -1 )
215 lastRowClicked=guiTableCharacters.lastClickedIndex;
220 for (
int i2=0;i2<
world.
vTribe(i)->vCharacter.size();++i2)
223 if ( totalIndex == lastRowClicked )
225 selectedCharacter =
world.
vTribe(i)->vCharacter(i2);
232 for (
int j=0;j<
world.
vCiv(i)->vCharacter.size();++j)
234 if ( totalIndex == lastRowClicked )
236 selectedCharacter =
world.
vCiv(i)->vCharacter(j);
245 guiTableCharacters.lastClickedIndex = -1;
255 guiTableCharacters.setPanel(panelX1,panelY1,panelX2,panelY2-30);
256 buttonClose.setPanel(panelX2-40, panelY2-40, panelX2-20, panelY2-20);
257 buttonCharacterDetails.setPanel(panelX2-150, panelY1+40, panelX2-20, panelY1+20);
258 menuCharacterDetails.setPanel(panelX1,panelY1,panelX2,panelY2);
Vector< Civ * > vCiv
Definition: World.hpp:136
World world
Definition: Driver.cpp:45
Wildcat::Font font8x8
Definition: Driver_GlobalObjects.hpp:55
Vector< Character * > getAllKnownCharacters()
Definition: Character.cpp:252
Definition: Character.hpp:38
Vector< Tribe * > vTribe
Definition: World.hpp:135