Skip to content

Commit

Permalink
Update 0.0.009 -> 0.0.010
Browse files Browse the repository at this point in the history
Add Menu_Civs, table of all Civs in the game.
Add table interface for Civ.
Add Race entry for tribe table.
  • Loading branch information
RyanBabij committed Jul 12, 2018
1 parent ace65fe commit 3063af5
Show file tree
Hide file tree
Showing 11 changed files with 303 additions and 21 deletions.
48 changes: 48 additions & 0 deletions Civ.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -886,4 +886,52 @@ void Civ::setColour( const int r, const int g, const int b)

// int Civ::getPopulation() { return vCitizen.size(); }







/* TABLE INTERFACE */

std::string Civ::getColumn(std::string _column)
{
if ( _column=="name" )
{
return name;
}
if ( _column=="food" )
{
//return DataTools::toString(nFood);
}
if ( _column=="population" )
{
//return DataTools::toString(vCharacter.size());
}
if ( _column=="coordinates" )
{
//return DataTools::toString(worldX)+","+DataTools::toString(worldY);
}
if ( _column=="territory" )
{
//return DataTools::toString(vTerritory.size());
}
// else if ( _column=="id" )
// {
// return DataTools::toString(id);
// }

return "?";
}
std::string Civ::getColumnType(std::string _column)
{
if ( _column == "population" || _column == "territory" || _column == "food" )
{
return "number";
}
return "string";
}



#endif
6 changes: 5 additions & 1 deletion Civ.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class CivManager
};
CivManager civManager;

class Civ
class Civ: public TableInterface
{
private:

Expand Down Expand Up @@ -115,6 +115,10 @@ class Civ

// RETURN TRUE IF THE TILE IS NOT FOGGY.
bool canSee(const int _x, const int _y);

/* TABLE INTERFACE */
std::string getColumn(std::string _column);
std::string getColumnType(std::string _column);

};

Expand Down
2 changes: 1 addition & 1 deletion CompileCount.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
*/
#include <string>

const std::string COMPILE_COUNT = "4364";
const std::string COMPILE_COUNT = "4400";
#endif
208 changes: 208 additions & 0 deletions Menu_Civs.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
#pragma once
#ifndef WORLDSIM_MENU_CIVS_HPP
#define WORLDSIM_MENU_CIVS_HPP

/* WorldSim: Menu_Civs.cpp
This menu shows a database of all civs in the world. The player can click a civ to get a detailed view of the civ.
*/

#include <GUI/GUI_Table.hpp>
#include <Container/Table/Table.hpp>

//#include "Menu_TribeDetails.cpp"

class Menu_Civs: public GUI_Interface
{
public:
GUI_Manager guiManager;

/* Colours / theme. */
Colour cNormal;
Colour cSelected;
Colour cDropPanel;
Colour cHighlight;

Wildcat::Font* font;

GUI_Button buttonClose;

/* Menu for investigating an individual civ */
GUI_Button buttonCivDetails;

// TABLE FOR CIVS
Table2 tCivs;
GUI_Table guiTableCivs;

int lastRowClicked;
Civ* selectedCiv;

//Menu_TribeDetails menuTribeDetails;

Menu_Civs()
{
lastRowClicked=-1;
selectedCiv=0;
}

void setFont(Wildcat::Font* _font)
{
font = _font;
guiManager.setFont(_font);
//menuTribeDetails.setFont(_font);
}

void init()
{
lastRowClicked=-1;
selectedCiv=0;
active = false;

/* Initialise theme. */
cNormal.set(220,220,220);
cSelected.set(180,180,180);
cDropPanel.set(170,170,170);
cHighlight.set(255,160,160);

buttonClose.text="X";
buttonClose.setColours(&cNormal,&cHighlight,0);
buttonClose.active=true;

buttonCivDetails.text="Details";
buttonCivDetails.setColours(&cNormal,&cHighlight,0);
buttonCivDetails.active=true;

guiTableCivs.clear();
guiTableCivs.table = &tCivs;
guiTableCivs.alpha=0;
guiTableCivs.active=true;
guiTableCivs.addColumn("Name","name",120);
guiTableCivs.addColumn("Food","food",120);
guiTableCivs.addColumn("Population","population",120);
guiTableCivs.addColumn("Coordinates","coordinates",120);
guiTableCivs.addColumn("Territory","territory",120);

tCivs.clear();
for (int i=0;i<world.vCiv.size();++i)
{
tCivs.addRow(world.vCiv(i));
}


guiManager.add(&buttonClose);
guiManager.add(&buttonCivDetails);
guiManager.add(&guiTableCivs);

//menuCivDetails.init();
//menuCivDetails.active=false;

eventResize();
//menuCivDetails.eventResize();
}

void render()
{
// if ( menuCivDetails.active )
// {
// menuCivDetails.render();
// }
//else if ( active )
if ( active )
{
Renderer::placeColour4a(150,150,150,200,panelX1,panelY1,panelX2,panelY2);
font8x8.drawText("CIV LIST MENU",panelX1,panelY2-20,panelX2,panelY2-5, true, true);
guiManager.render();
}
}

bool keyboardEvent (Keyboard* _keyboard)
{
// if ( menuCivDetails.active )
// {
// return menuCivDetails.keyboardEvent(_keyboard);
// }
if ( active )
//else if ( active )
{
return guiManager.keyboardEvent(_keyboard);
}


return false;
}

bool mouseEvent (Mouse* _mouse)
{
// if ( menuCivDetails.active )
// {
// menuCivDetails.mouseEvent(_mouse);
// }
//else if ( active )
if ( active )
{
/* If the guiManager did something with the mouse event. */
if(guiManager.mouseEvent(_mouse)==true)
{

}

if (buttonClose.clicked==true)
{
std::cout<<"CLOSE\n";
active=false;
buttonClose.unclick();
}

if (buttonCivDetails.clicked==true)
{
if ( selectedCiv != 0 )
{
std::cout<<"Civ details\n";
//active=false;
//menuCivDetails.selectedTribe=selectedTribe;
//menuCivDetails.init();
//menuCivDetails.active=true;
//guiTableTribes.active=false;
}
else
{
std::cout<<"Select a tribe first.\n";
}

buttonCivDetails.unclick();
}



if ( guiTableCivs.lastClickedIndex != -1 )
{
//world->worldV
//TableInterface
//worldViewer.setCenterTile();
lastRowClicked=guiTableCivs.lastClickedIndex;
if (world.vCiv.isSafe(lastRowClicked))
{
selectedCiv=world.vCiv(lastRowClicked);
}
guiTableCivs.lastClickedIndex = -1;
}

}

return false;
}

void eventResize()
{

guiTableCivs.setPanel(panelX1,panelY1,panelX2,panelY2-30);
buttonClose.setPanel(panelX2-40, panelY2-40, panelX2-20, panelY2-20);
buttonCivDetails.setPanel(panelX2-100, panelY1+40, panelX2-20, panelY1+20);
//menuTribeDetails.setPanel(panelX1,panelY1,panelX2,panelY2);
//menuTribeDetails.eventResize();
}

};


#endif
1 change: 1 addition & 0 deletions Menu_Tribes.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ class Menu_Tribes: public GUI_Interface
guiTableTribes.alpha=0;
guiTableTribes.active=true;
guiTableTribes.addColumn("Name","name",120);
guiTableTribes.addColumn("Race","race",120);
guiTableTribes.addColumn("Food","food",120);
guiTableTribes.addColumn("Population","population",120);
guiTableTribes.addColumn("Coordinates","coordinates",120);
Expand Down
24 changes: 9 additions & 15 deletions Menu_WorldSimulator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "World_Viewer.hpp"

#include "Menu_Tribes.hpp"
#include "Menu_Civs.hpp"
#include "Menu_World.hpp"
#include "Menu_Character.hpp"
#include "Menu_Biome.hpp"
Expand Down Expand Up @@ -75,6 +76,7 @@ class Menu_WorldSimulator: public GUI_Interface

/* Submenus */
Menu_Tribes menuTribes;
Menu_Civs menuCivs;
Menu_World menuWorld;
Menu_Characters menuCharacter;
Menu_Biome menuBiome;
Expand Down Expand Up @@ -181,10 +183,12 @@ class Menu_WorldSimulator: public GUI_Interface

/* Submenus */
guiManager.add(&menuTribes);
guiManager.add(&menuCivs);
guiManager.add(&menuWorld);
guiManager.add(&menuCharacter);
guiManager.add(&menuBiome);


textSimulationSpeed.active=true;
cycleSimulationSpeed.active=true;

Expand All @@ -205,6 +209,7 @@ class Menu_WorldSimulator: public GUI_Interface
buttonPauseSimulation.active = false;

menuTribes.init();
menuCivs.init();
menuWorld.init();
menuCharacter.init();
menuBiome.init();
Expand Down Expand Up @@ -347,6 +352,7 @@ class Menu_WorldSimulator: public GUI_Interface
{

menuTribes.active = false;
menuCivs.active = false;
menuWorld.active = false;
menuCharacter.active = false;
menuBiome.active = false;
Expand Down Expand Up @@ -412,19 +418,6 @@ class Menu_WorldSimulator: public GUI_Interface
{
//std::cout<<"Increment decade.\n";
buttonIncrementDecade.unclick();
// world.incrementTicks(31104000);
// //render();
// //GL_idle();
// world.incrementTicks(31104000);
// world.incrementTicks(31104000);
// world.incrementTicks(31104000);
// world.incrementTicks(31104000);
// world.incrementTicks(31104000);
// world.incrementTicks(31104000);
// world.incrementTicks(31104000);
// world.incrementTicks(31104000);
// world.incrementTicks(31104000);

world.ticksBacklog+=311040000;
}

Expand Down Expand Up @@ -453,8 +446,8 @@ class Menu_WorldSimulator: public GUI_Interface
if (buttonCivMenu.clicked==true)
{
std::cout<<"Civ menu\n";
//menuCharacter.init();
//menuCharacter.active=true;
menuCivs.init();
menuCivs.active=true;
buttonCivMenu.unclick();
}

Expand Down Expand Up @@ -542,6 +535,7 @@ class Menu_WorldSimulator: public GUI_Interface
buttonCivMenu.setPanel(panelX2-340, panelY2-40, panelX2-300, panelY2-30);

menuTribes.setPanel(panelX1+20,panelY1+20,panelX2-20,panelY2-20);
menuCivs.setPanel(panelX1+20,panelY1+20,panelX2-20,panelY2-20);
menuWorld.setPanel(panelX1+20,panelY1+20,panelX2-20,panelY2-20);
menuCharacter.setPanel(panelX1+20,panelY1+20,panelX2-20,panelY2-20);
menuBiome.setPanel(panelX1+20,panelY1+20,panelX2-20,panelY2-20);
Expand Down
Loading

0 comments on commit 3063af5

Please sign in to comment.