/*Copyright (C) 2010 Deveaux Duncan

This file is part of Hikou no mizu.

Hikou no mizu is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Hikou no mizu is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Hikou no mizu.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef DEF_INTERFACE_COMBAT
#define DEF_INTERFACE_COMBAT

#include <SFML/Graphics.hpp>
#include <sstream>
#include <vector>
#include "Moteurs/Graphique/MoteurGraphique.hpp"
#include "Joueur/Joueur.hpp"

class InterfaceCombat
{	
	public:
		InterfaceCombat();
		void ajouteJoueur(Joueur *pJoueurAjoute);
		void supprimeJoueur(Joueur *pJoueurSupprime, MoteurGraphique &pMoteurRendu);
		
		void demarreAffichage(MoteurGraphique &pMoteurRendu);
		void supprimeAffichage(MoteurGraphique &pMoteurRendu);
		
		void updateNom(Joueur *pJoueurMisAJour);
		void updateVies(Joueur *pJoueurMisAJour);
		void updateEnergie(Joueur *pJoueurMisAJour);
		
		void setPositionX(float pPosition);
		float getPositionX() const;
		void setPositionY(float pPosition);
		float getPositionY() const;
	
	private:
		void dessine(int pIndexJoueur);
		std::vector<Joueur*>::iterator rechercheJoueur(Joueur *pJoueurRecherche);
		
		std::vector<Joueur*> listeJoueurs;
		
		//Noms
		std::vector<sf::Text> listeTextesNoms;
		
		//Vies
		std::vector<sf::Text> listeTextesVies;
		std::vector<sf::Shape> listeBarresVies;
		
		//Energie
		std::vector<sf::Text> listeTextesEnergie;
		std::vector<sf::Shape> listeBarresEnergie;
		
		float positionX;
		float positionY;
};

#endif