Skip to content

Commit

Permalink
change Game to singleton, there is still an error
Browse files Browse the repository at this point in the history
  • Loading branch information
Ipagaxi committed Apr 28, 2024
1 parent 4a22318 commit 5f94e6b
Show file tree
Hide file tree
Showing 41 changed files with 414 additions and 389 deletions.
4 changes: 2 additions & 2 deletions src/include/Activities/Activity.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ class Game;

class Activity {
public:
Activity(Game &game);
Activity();
virtual ~Activity();
virtual ActivityEnum executeActivity(Game &game);
virtual ActivityEnum executeActivity();

private:

Expand Down
4 changes: 2 additions & 2 deletions src/include/Activities/CharacterActivity.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@

class CharacterActivity : public Activity {
public :
CharacterActivity(Game &game);
CharacterActivity();

ActivityEnum executeActivity(Game &game) override;
ActivityEnum executeActivity() override;


private :
Expand Down
12 changes: 6 additions & 6 deletions src/include/Activities/FightActivity.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@

class FightActivity: public Activity {
public:
FightActivity(Game &game);
FightActivity();
~FightActivity();

ActivityEnum executeActivity(Game &game) override;
ActivityEnum executeActivity() override;
void runCurrentState(Game &game);

private:
Expand All @@ -46,10 +46,10 @@ class FightActivity: public Activity {
std::unique_ptr<FightState> currentFightState;

Enemy initEnemy();
void runPlayersTurn(Game &game);
void runEnemiesTurn(Game &game);
void runDefeat(Game &game);
void runVictory(Game &game);
void runPlayersTurn();
void runEnemiesTurn();
void runDefeat();
void runVictory();
};

#endif
4 changes: 2 additions & 2 deletions src/include/Activities/MenuActivity.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@

class MenuActivity: public Activity {
public:
MenuActivity(Game &game);
MenuActivity();
~MenuActivity();

ActivityEnum executeActivity(Game &game) override;
ActivityEnum executeActivity() override;

private:
sf::Texture backgroundTX;
Expand Down
10 changes: 5 additions & 5 deletions src/include/Animations/IncomingBanner.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@

class IncomingBanner {
public:
IncomingBanner(Game &game);
IncomingBanner(Game &game, std::string label);
IncomingBanner();
IncomingBanner(std::string label);

void setNewLabel(std::string newLabel);
bool runAnimation(Game &game);
void drawAnimation(sf::RenderWindow* gameWindow);
bool runAnimation();
void drawAnimation();

private:
int pastTimeInMillSec = 0;
Expand All @@ -23,7 +23,7 @@ class IncomingBanner {

sf::RectangleShape banner;
sf::Text bannerText;
void init(Game &game);
void init();
};

#endif
6 changes: 3 additions & 3 deletions src/include/Animations/TextFadingManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class TextFading {
float initPosY;
float initPosX;

void draw(sf::RenderWindow* gameWindow);
void draw();
float computeParabel(float value);
void setNewParabelPos();

Expand All @@ -43,9 +43,9 @@ class TextFading {

class TextFadingManager: Animation {
public:
void run(sf::RenderWindow* gameWindow, GameStatus &gameStatus);
void run();
void startAnimation(std::string text, sf::Vector2f pos, sf::Color textColor, int textSize, AnimationPath animationPath, int millSecToLive);
void updateAnimationState(GameStatus &gameStatus);
void updateAnimationState();
TextFading fadingText;
bool isRunning = false;
};
Expand Down
2 changes: 1 addition & 1 deletion src/include/FightEnv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

class FightEnv {
public:
FightEnv(Game &game);
FightEnv();

sf::Texture backgroundTX;
sf::Sprite backgroundSP;
Expand Down
2 changes: 1 addition & 1 deletion src/include/FightStates/EnemiesTurn.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
class EnemiesTurn: public FightState {
public:
~EnemiesTurn();
FightStateEnum run(Game &game, FightEnv &fightEnv) override;
FightStateEnum run(FightEnv &fightEnv) override;

private:
};
Expand Down
2 changes: 1 addition & 1 deletion src/include/FightStates/FightState.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
class FightState {
public:
virtual ~FightState();
virtual FightStateEnum run(Game &game, FightEnv &fightEnv);
virtual FightStateEnum run(FightEnv &fightEnv);
};

#endif
6 changes: 3 additions & 3 deletions src/include/FightStates/PlayersTurn.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class PlayersTurn: public FightState {
public:
PlayersTurn(FightEnv &fightEnv);
~PlayersTurn();
FightStateEnum run(Game &game, FightEnv &fightEnv) override;
FightStateEnum run(FightEnv &fightEnv) override;

private:
PlayerPhase playerPhase = PlayerPhase::PICK_COLOR;
Expand All @@ -31,8 +31,8 @@ class PlayersTurn: public FightState {
bool newColorImageSet = false;
float passedMillSec = 0.0;

void processAttack(FightEnv &fightEnv, Game &game);
void changeColoPickerImage(Game &game, FightEnv &fightEnv);
void processAttack(FightEnv &fightEnv);
void changeColoPickerImage(FightEnv &fightEnv);
double computeCurrentPixel(double formerPixel, double newPixel, float elapsedRatio);

// Compute damage multiplier
Expand Down
4 changes: 2 additions & 2 deletions src/include/FightStates/TurnChangeState.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

class TurnChangeState: public FightState {
public:
TurnChangeState(Game &gam, FightEnv &fightEnv);
TurnChangeState(FightEnv &fightEnv);
~TurnChangeState();
FightStateEnum run(Game &game, FightEnv &fightEnv) override;
FightStateEnum run(FightEnv &fightEnv) override;

private:
IncomingBanner turnChangeBanner;
Expand Down
8 changes: 5 additions & 3 deletions src/include/Game.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,16 @@
class Game {
public:
sf::Font mainFont;
//sf::Music backgroundMusic;
GameEvents gameEvents;
RenderEngine renderEngine;
GameStatus gameStatus;
sf::RenderWindow& gameWindow;

Player player = Player("Ipagaxi", 100, 12, {100, 100, 100}, "default_actor_quer.png");

Game(sf::RenderWindow &window, ActivityEnum activity);
static Game& getInstance();
private:
Game();
static Game* instance;
};

#endif
4 changes: 3 additions & 1 deletion src/include/UIElements/UIBorderedImage.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
#include <SFML/Graphics.hpp>
#include <string>
#include <iostream>

#include "Game.hpp"
#include "UIElements/UIElement.hpp"
#include "Defines.hpp"

Expand All @@ -12,7 +14,7 @@ class UIBorderedImage: public UIElement {
UIBorderedImage(std::string imageFilePath, std::string borderFilePath);

void setImage(std::string imagePath);
void draw(sf::RenderWindow* gameWindow) override;
void draw() override;
void setPosition(float x, float y) override;
sf::Vector2f getPosition() override;
sf::FloatRect getSize() override;
Expand Down
25 changes: 13 additions & 12 deletions src/include/UIElements/UIBox.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,23 @@

#include "UIElements/UIElement.hpp"
#include "Defines.hpp"
#include "Game.hpp"

class UIBox : UIElement {
public:
UIBox(sf::Color fillColor, std::string borderFilePath);
public:
UIBox(sf::Color fillColor, std::string borderFilePath);

void draw(sf::RenderWindow* window) override;
void setPosition(float x, float y) override;
sf::Vector2f getPosition() override;
sf::FloatRect getSize() override;
void scale(float x, float y) override;
void setBackgroundMargin(float x, float y);
void draw() override;
void setPosition(float x, float y) override;
sf::Vector2f getPosition() override;
sf::FloatRect getSize() override;
void scale(float x, float y) override;
void setBackgroundMargin(float x, float y);

private:
sf::RectangleShape backgroundREC;
sf::Texture borderTX;
sf::Sprite borderSP;
private:
sf::RectangleShape backgroundREC;
sf::Texture borderTX;
sf::Sprite borderSP;

};

Expand Down
8 changes: 4 additions & 4 deletions src/include/UIElements/UIButton.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ class UIButton: public UIElement {
sf::Sound releaseSound;

void init(std::string fileName);
void hoverListener(sf::RenderWindow* gameWindow, GameEvents &gameEvents);
bool buttonContainsMouse(sf::RenderWindow* gameWindow);
void hoverListener();
bool buttonContainsMouse();

public:
sf::Font font;
Expand All @@ -38,13 +38,13 @@ class UIButton: public UIElement {
UIButton(std::string labelText, std::string fileName);
UIButton(std::string fileName);

bool clickListener(sf::RenderWindow* gameWindow, GameEvents &gameEvents);
bool clickListener();

void setPosition(float x, float y) override;
sf::Vector2f getPosition() override;
sf::FloatRect getSize() override;

void draw(sf::RenderWindow* window) override;
void draw() override;

void scale(float x, float y) override;
};
Expand Down
4 changes: 2 additions & 2 deletions src/include/UIElements/UIColorPicker.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ class UIColorPicker: public UIElement {
sf::Image colorIMG;
sf::Sound releaseSound;

void draw(sf::RenderWindow* window) override;
void draw() override;
void setPosition(float x, float y) override;
sf::Vector2f getPosition() override;
sf::FloatRect getSize() override;
void scale(float x, float y) override;

bool clickListener(GameEvents &gameEvents, sf::Vector2f &clickedPos);
bool clickListener(sf::Vector2f &clickedPos);
sf::Color getPixelColor(sf::Vector2f pos);
void setColorBox(std::string picPath, std::string borderPath);
void setColorImage(std::string picPath);
Expand Down
2 changes: 1 addition & 1 deletion src/include/UIElements/UIElement.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

class UIElement {
public:
virtual void draw(sf::RenderWindow* window);
virtual void draw();
virtual void setPosition(float x, float y);
virtual sf::Vector2f getPosition();
virtual sf::FloatRect getSize();
Expand Down
4 changes: 2 additions & 2 deletions src/include/UIElements/UIStats.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@

class UIStats: public UIElement {
public:
UIStats(Game &game, Actor actor);
UIStats(Actor actor);

void setActor(Actor actor);
void draw(sf::RenderWindow* gameWindow) override;
void draw() override;
sf::Vector2f getPosition() override;
void setPosition(float x, float y) override;
sf::FloatRect getSize() override;
Expand Down
6 changes: 3 additions & 3 deletions src/include/UIObjects/UIEnemyOverview.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

class UIEnemyOverview {
public:
UIEnemyOverview(Game &game, Enemy enemy);
UIEnemyOverview(Game &game);
UIEnemyOverview(Enemy enemy);
UIEnemyOverview();

Enemy creature;
UIColorPicker colorPicker = UIColorPicker("colorPIC_default.png", "color_picker_border.png");
Expand All @@ -23,7 +23,7 @@ class UIEnemyOverview {
void setEnemy(Enemy enemy);
void changeHealth(int value);
void updatePickedColorText(std::string newText, sf::Color pickedColor);
void draw(sf::RenderWindow* gameWindow);
void draw();

private:
UIBox backgroundBox = UIBox(sf::Color(51, 25, 0, 150), "borders/metal_border_900x900.png");
Expand Down
4 changes: 2 additions & 2 deletions src/include/UIObjects/UIPlayerOverview.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@

class UIPlayerOverview {
public:
UIPlayerOverview(Game &game);
UIPlayerOverview();

UIBorderedImage playerFrame;
Player player;

void changeHealth(int value);
void draw(sf::RenderWindow* gameWindow);
void draw();

private:
UIBox backgroundBox = UIBox(sf::Color(51, 25, 0, 150), "borders/metal_border_900x900.png");
Expand Down
7 changes: 4 additions & 3 deletions src/main/Activities/Activity.cpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
#include "Activities/Activity.hpp"

Activity::Activity(Game &game) {
sf::Vector2u windowSize = game.renderEngine.gameWindow->getSize();
Activity::Activity() {
Game game = Game::getInstance();
sf::Vector2u windowSize = game.gameWindow.getSize();
sf::FloatRect buttonSize = this->exitButton.getSize();
this->exitButton.setPosition(windowSize.x * 0.99 - buttonSize.width, windowSize.x * 0.01);
}

Activity::~Activity() {
}

ActivityEnum Activity::executeActivity(Game &game) {
ActivityEnum Activity::executeActivity() {
return ActivityEnum::Menu;
}
13 changes: 6 additions & 7 deletions src/main/Activities/CharacterActivity.cpp
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
#include "Activities/CharacterActivity.hpp"

CharacterActivity::CharacterActivity(Game &game): Activity(game) {
CharacterActivity::CharacterActivity(): Activity() {
this->backgroundTX.loadFromFile(RESOURCE_PATH "backgrounds/backgroundMenu.png");
this->backgroundSP.setTexture(this->backgroundTX);
}

ActivityEnum CharacterActivity::executeActivity(Game &game) {
ActivityEnum CharacterActivity::executeActivity() {
Game game = Game::getInstance();
ActivityEnum currentActivity = ActivityEnum::Character;

sf::RenderWindow *gameWindow = game.renderEngine.gameWindow;
gameWindow->draw(this->backgroundSP);
this->exitButton.draw(gameWindow);
if (this->exitButton.clickListener(gameWindow, game.gameEvents)) {
game.gameWindow.draw(this->backgroundSP);
this->exitButton.draw();
if (this->exitButton.clickListener()) {
currentActivity = ActivityEnum::Menu;
}
return currentActivity;
Expand Down
Loading

0 comments on commit 5f94e6b

Please sign in to comment.