#from __future__ import unicode_literals
# -*- coding: utf-8 -*-
from __future__ import division
import os

from PyQt4.QtCore import *
from PyQt4.QtGui import *

from Pion import Pion
from Forme import Forme
from outilsSvg import *
import regles

class Combattant(Pion):
    """combattant sur un plateau de combat"""
    def __init__(self, parent=None):
        super(Combattant, self).__init__()
        #caracs
        self.id = None

        self.taille = 2
        self.depMarche = regles.valeurDefaut("depMarche")
        self.depNage = regles.valeurDefaut("depNage")
        self.depEscalade = regles.valeurDefaut("depEscalade")
        self.depVol = regles.valeurDefaut("depVol")
        self.saut = regles.valeurDefaut("saut")
        
        self.attaques = []   #liste des attaques pre-parametrees du pion
        self.listeAttributs = regles.listeAttributs()
        self.inventaire = []
        self.details = {}
        self.notes = ""        

        #caracs liees au combat:
        self.etat = ""
        self.deplacementRestant = 0        

##    def listeAttributs(self):
##        return self.listeAttributs

    def listeAttaques(self):
        return self.attaques
    
    def ajouterAuPlateau(self, plateau):
        self.plateau = plateau
        super(Combattant, self).ajouterAuPlateau(self.plateau)
        self.majEtiquette()
        
    def hoverEnterEvent(self, event):
        """evenement lors du survol de la souris (en entree)"""
        if (self.plateau.pionSelectionne() == None and self.plateau.modeActif == "standard") or self.plateau.modeActif == "pionSupprimer":
            self.surbrillance(True, 0.4)    
        self.plateau.combattantSurvol(self.numero)
        event.ignore()

    def hoverLeaveEvent(self, event):
        """evenement lors du survol de la souris (en entree)"""
        self.surbrillance(False)
        self.plateau.combattantSurvol(None)

    def mousePressEvent(self, event):
        """evenement lors du clic souris"""
        super(Pion, self).mousePressEvent(event)
        if event.button() == 1: #sur clic gauche
           accepte = self.plateau.pionClique(self.numero)
           if accepte: event.accept()
        else:
           event.ignore()

    def mouseDoubleClickEvent(self, event):
        """evenement lors du clic souris"""
        super(Pion, self).mouseDoubleClickEvent(event)
        if event.button() == 1: #sur clic gauche
           accepte = self.plateau.pionDoubleClic(self.numero)
           if accepte: event.accept()
        else:
           event.ignore()











           
