#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>
#include "SFML/Network.hpp"
#include "GUI_virtual.h"
#include <string>
#include "city_world_map_1_1.h"
class SFML_graphical : virtual GUI_virtual {
//public:
//virtual SFML_graphical*

private:
int x,y;
std::string title;
float thick=2.0; //cursor
int contatore=0;
int count1=2;//35;
int count2=2;//35; 
double x_vector=10.0, y_vector=10.0;
int x_position=300, y_position=690;//cursor


unsigned int x_screen,y_screen;
sf::Vector2f screen_pixel;  //last size 1360 768// 768 1024
sf::VideoMode video_pixel;
void MoveUp();
void MoveDown();
void MoveLeft();
void MoveRight();
void plot_map(sf::RenderWindow &window);

protected:
sf::RenderWindow door;//(sf::VideoMode,const sf::String, sf::Uint32);//Fullscreen
sf::Event event_;
sf::Window win_;
sf::RectangleShape world_zone[ELEMENTS][ELEMENTS];	



public:
SFML_graphical(){};
SFML_graphical(std::string tag);//: screen_pixel(1390,768), video_pixel(screen_pixel.x,screen_pixel.y), door(video_pixel,"PIXEL",sf::Style::Default){}; //lancia qualcosa
SFML_graphical(int x, int y, const std::string z): screen_pixel(x,y), video_pixel(screen_pixel.x,screen_pixel.y), door(video_pixel,z,sf::Style::Default){};
//~SFML_graphical()=delete;
//SFML_graphical(int x, int y, std::string z): x_screen(x),y_screen(y), title(z) {   
//	screen_pixel(x_screen,y_screen), video_pixel(screen_pixel.x,screen_pixel.y), door(video_pixel,"x",sf::Style::Default)	
 //         };
//SFML_graphical(int x, int y, std::string title): screen_pixel(x,y), video_pixel(x.x,y.y), door(video_pixel,std::title,sf::Style::Default){};
//void window(int x, int y);
//void window(sf::RectangleShape* world_zone);
void window() override;
void cursor(int x) override;
void menu() override;
void mouse() override;



//friend class SFML_map_server;
};
