Advertisement
Danicron

enum fings

Jul 4th, 2019
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.73 KB | None | 0 0
  1. struct GameStates
  2. {
  3.     enum gameState
  4.     {
  5.         MainMenu = 0,
  6.         ThroneRoom = 1,
  7.         GameScreen = 2,
  8.         QuestScreen = 3,
  9.         CharacterScreen = 4
  10.     };
  11.  
  12.     GameStates();
  13.     ~GameStates();
  14.  
  15.     sf::View updateView(sf::View& view1, sf::Sprite sprite1);
  16.  
  17.     void GameLoop(Input& input, sf::Sprite& sprite1, sf::RenderWindow& window, TileMap& map, sf::Font font1, AnimationManager& animMan, sf::View& defview, int height, int width);
  18.  
  19.     void DrawState(sf::Sprite& sprite1, Input& input, sf::RenderWindow& window, TileMap map, sf::Font font1, sf::View view1, sf::View defview);
  20.  
  21.  
  22.     float pCameraWidth;
  23.     float pCameraHeight;
  24.  
  25.     int GameState;
  26.    
  27.     Input input;
  28.  
  29.     sf::View defview;
  30.    
  31. };
  32.  
  33.  
  34. void GameStates::DrawState(sf::Sprite& sprite1, Input& input, sf::RenderWindow& window, TileMap map, sf::Font font1, sf::View view1, sf::View defview)
  35. {
  36.  
  37.  
  38.     switch (GameState)
  39.     {
  40.  
  41.         case MainMenu:
  42.         {
  43.        
  44.  
  45.             sf::RectangleShape menuRect(sf::Vector2f(1200.f, 650.f));
  46.             menuRect.setFillColor(sf::Color(160, 160, 160));
  47.             menuRect.setPosition(175.f, 80.f);
  48.  
  49.             sf::RectangleShape startButton(sf::Vector2f(500.f, 100.f));
  50.             startButton.setFillColor(sf::Color(100, 100, 100));
  51.             startButton.setOutlineColor(sf::Color(sf::Color::Green));
  52.             startButton.setOutlineThickness(3.f);
  53.             startButton.setPosition(500.f, 200.f);
  54.  
  55.             sf::Text start;
  56.             start.setFont(font1);
  57.             start.setString("Start");
  58.             start.setCharacterSize(60);
  59.             start.setFillColor(sf::Color::Black);
  60.             start.setPosition(700.f, 210.f);
  61.  
  62.             sf::RectangleShape loadButton(sf::Vector2f(500.f, 100.f));
  63.             loadButton.setFillColor(sf::Color(100, 100, 100));
  64.             loadButton.setOutlineColor(sf::Color(sf::Color::Green));
  65.             loadButton.setPosition(500.f, 350.f);
  66.  
  67.             sf::Text load;
  68.             load.setFont(font1);
  69.             load.setString("Load");
  70.             load.setCharacterSize(60);
  71.             load.setFillColor(sf::Color::Black);
  72.             load.setPosition(700.f, 360.f);
  73.  
  74.             sf::RectangleShape optionsButton(sf::Vector2f(500.f, 100.f));
  75.             optionsButton.setFillColor(sf::Color(100, 100, 100));
  76.             optionsButton.setOutlineColor(sf::Color(sf::Color::Green));
  77.             optionsButton.setPosition(500.f, 500.f);
  78.  
  79.             sf::Text options;
  80.             options.setFont(font1);
  81.             options.setString("Options");
  82.             options.setCharacterSize(60);
  83.             options.setFillColor(sf::Color::Black);
  84.             options.setPosition(685.f, 510.f);
  85.  
  86.            
  87.             if (input.startSelected)
  88.             {
  89.                 startButton.setOutlineThickness(3.f);
  90.             }
  91.             else if (input.loadSelected)
  92.             {
  93.                 startButton.setOutlineThickness(0);
  94.                 loadButton.setOutlineThickness(3.f);
  95.             }
  96.             else if (input.optionsSelected)
  97.             {
  98.                 startButton.setOutlineThickness(0);
  99.                 loadButton.setOutlineThickness(0);
  100.                 optionsButton.setOutlineThickness(3.f);
  101.             }
  102.            
  103.  
  104.  
  105.  
  106.             window.clear();
  107.             window.draw(menuRect);
  108.             window.draw(startButton);
  109.             window.draw(loadButton);
  110.             window.draw(optionsButton);
  111.             window.draw(start);
  112.             window.draw(load);
  113.             window.draw(options);
  114.  
  115.             break;
  116.         }
  117.  
  118.         case ThroneRoom:
  119.         {
  120.  
  121.         }
  122.  
  123.         case GameScreen:
  124.         {
  125.            
  126.  
  127.            
  128.             window.setView(view1);
  129.             window.clear();
  130.             window.draw(map);
  131.             window.draw(sprite1);
  132.            
  133.             break;
  134.         }
  135.  
  136.         case QuestScreen:
  137.         {
  138.             sf::Text quest;
  139.             quest.setFont(font1);
  140.             quest.setFillColor(sf::Color(sf::Color(212, 175, 55)));
  141.             quest.setString("Quest Log");
  142.             quest.setCharacterSize(70);
  143.             quest.setPosition(600.f, 10.f);
  144.  
  145.             sf::Text inprog;
  146.             inprog.setFont(font1);
  147.             inprog.setFillColor(sf::Color(sf::Color(0, 100, 0)));
  148.             inprog.setString("In Progress");
  149.             inprog.setCharacterSize(50);
  150.             inprog.setPosition(100.f, 100.f);
  151.             inprog.setStyle(sf::Text::Underlined);
  152.  
  153.  
  154.             window.clear(sf::Color(sf::Color(220, 220, 220)));
  155.             window.setView(defview);
  156.             window.draw(quest);
  157.             window.draw(inprog);
  158.  
  159. break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement