#include "stdafx.h"
#include "Mouse.h"

using namespace std;

int main()
{
	// ===== НУЖНОЕ =====
  sf::RenderWindow window(sf::VideoMode(640, 480), "kychka-pc.ru/legozaur");
	float time = 0;
	sf::Clock clock;

	// Почему вектор?
	// Когда создаёшь класс Game и пытаешься использовать
	// Mouse* mouse;
	// Возникают какие-то проблемы с обращением к mouse
	// Поэтому я использую вектор, пусть даже для 1 объекта

	std::vector<Mouse*> vecMouse;
	vecMouse.reserve(1);
	Mouse* mouse = new Mouse();
	mouse->setWindow(&window);
	vecMouse.push_back(mouse);
	// ===== НУЖНОЕ =====

  while (window.isOpen())
  {
		time = clock.getElapsedTime().asSeconds();
		clock.restart();

	  sf::Event event;
	  while (window.pollEvent(event))
	  {
	    if (event.type == sf::Event::Closed) 
				window.close();
	  }
	  window.clear(sf::Color(255,255,255));


	  // ===== =====
		vecMouse[0]->behavior();
		// Отслеживание событий кнопок мыши
		// vecMouse[0]->getEventButtonLeft();
		// getEventButtonLeft() - Левая Кнопка Мыши (ЛКМ)
		// getEventButtonRight() - Правая Кнопка Мыши (ПКМ)
		// getEventButtonMiddle() - Колесо Кнопка Мыши... :)
		switch(vecMouse[0]->getEventButtonLeft())
		{
		case 0:
			//cout << "_";
			break;
		case 1:
			cout << "Mouse pressed" << endl;
			break;
		case 2:
			//cout << ".";
			cout << vecMouse[0]->getX() << ":" << vecMouse[0]->getY() << endl;
			break;
		case 3:
			cout << "Mouse released" << endl;
			break;
		}
		// ===== =====


	  window.display();
  }
	// ===== ===== ===== =====
	// Удаляем то что создали сами
	// ===== ===== ===== =====
  for(std::vector<Mouse*>::const_iterator it = vecMouse.begin(); it != vecMouse.end(); it++)
		delete(*it);
	vecMouse.shrink_to_fit(); 
  // ===== ===== ===== =====

  //std::cout << endl;
  //system("PAUSE");
  return 0;
}