commit e502dbe7
Moved the local player into global. Makes it a bit easier for now.
Changed files
| M | src/saland/Game.cpp before |
| M | src/saland/GameShop.cpp before |
| M | src/saland/globals.hpp before |
| M | src/saland/model/Player.hpp before |
diff --git a/src/saland/Game.cpp b/src/saland/Game.cpp
index b570692..5210205 100644
--- a/src/saland/Game.cpp
+++ b/src/saland/Game.cpp
@@ -131,8 +131,6 @@ static GotoConsoleCommand gcc;
static ResetRegionConsoleCommand rrcc;
static ShopCommand sc;
-static Player player;
-
struct Game::GameImpl {
GameRegion gameRegion;
std::shared_ptr<Human> human;
@@ -198,11 +196,11 @@ Game::Game() {
data->human.reset(new Human());
data->lastUpdate = SDL_GetTicks();
ResetWorld(0, 0, false);
- data->human->pants = player.get_visible_bottom();
- data->human->hair = player.get_visible_hair();
+ data->human->pants = globalData.player.get_visible_bottom();
+ data->human->hair = globalData.player.get_visible_hair();
- data->human->race = player.get_visible_race();
- data->human->top = player.get_visible_top();
+ data->human->race = globalData.player.get_visible_race();
+ data->human->top = globalData.player.get_visible_top();
data->bottomField.SetHolder(globalData.dataHolder);
data->bottomField.SetFontSize(20);
diff --git a/src/saland/GameShop.cpp b/src/saland/GameShop.cpp
index cfffd4e..e5b033a 100644
--- a/src/saland/GameShop.cpp
+++ b/src/saland/GameShop.cpp
@@ -25,9 +25,10 @@ https://github.com/sago007/saland
#include "GameShop.hpp"
struct GameShop::GameShopImpl {
- bool active = true;
- std::string name = "Shop!!";
- sago::SagoTextField headerField;
+ bool active = true;
+ std::string name = "Shop!!";
+ sago::SagoTextField headerField;
+ sago::SagoTextField goldField;
};
@@ -36,6 +37,8 @@ GameShop::GameShop() {
data->headerField.SetHolder(globalData.dataHolder);
data->headerField.SetFontSize(20);
data->headerField.SetText(data->name);
+ data->goldField.SetHolder(globalData.dataHolder);
+ data->goldField.SetFontSize(16);
}
bool GameShop::IsActive() {
@@ -44,6 +47,8 @@ bool GameShop::IsActive() {
void GameShop::Draw(SDL_Renderer* target) {
data->headerField.Draw(target, globalData.xsize/2, 4, sago::SagoTextField::Alignment::center);
+ data->goldField.SetText(std::string("Gold: ")+std::to_string(globalData.player.item_inventory["gold"]));
+ data->goldField.Draw(target, globalData.xsize-1, globalData.ysize-1, sago::SagoTextField::Alignment::right, sago::SagoTextField::VerticalAlignment::bottom);
}
void GameShop::ProcessInput(const SDL_Event& event, bool &) {
diff --git a/src/saland/globals.hpp b/src/saland/globals.hpp
index 7e586f3..6c192a7 100644
--- a/src/saland/globals.hpp
+++ b/src/saland/globals.hpp
@@ -26,6 +26,7 @@ https://github.com/sago007/saland
#include "../sago/SagoSpriteHolder.hpp"
#include <memory>
+#include "model/Player.hpp"
struct PlayerControls {
SDL_Scancode move_up = SDL_SCANCODE_W;
@@ -50,6 +51,7 @@ struct GlobalData {
int xsize = 1024;
int ysize = 768;
PlayerControls playerControls;
+ Player player;
};
extern GlobalData globalData;
diff --git a/src/saland/model/Player.hpp b/src/saland/model/Player.hpp
index 6d5d15b..747ae2a 100644
--- a/src/saland/model/Player.hpp
+++ b/src/saland/model/Player.hpp
@@ -25,6 +25,7 @@ https://github.com/sago007/saland
#define PLAYER_HPP
#include <string>
+#include <map>
struct Player {
Player() {};
@@ -35,6 +36,7 @@ struct Player {
std::string get_visible_top(){return "pirate_shirt_sky";}
std::string get_visibla_hat(){ return "";}
std::string get_visible_shoes(){ return "";}
+ std::map<std::string, int> item_inventory;
};
#endif //PLAYER_HPP
\ No newline at end of file