|
|
@@ -22,12 +22,10 @@ class Case(QGraphicsPolygonItem):
|
|
|
self.terrain = Terrain() #terrain par defaut
|
|
|
self.couleur = None #couleur du fond par defaut
|
|
|
self.bordure = QColor(85, 85, 85, 85) #couleur de la bordure par defaut
|
|
|
- self.estDansChampDeplacement = False #la case est dans le champ de deplacement du pion selectionne
|
|
|
self.centreGraphique = None
|
|
|
|
|
|
self.occupeePar = {} #objet: altitudes occupees (sous forme de tuple, ex: (0,1,2) pour une creature occupant les cases d'altitude 0, 1 et 2)
|
|
|
self.estCache = False #est sous un cache place par le MJ (cache le terrain, les decors, les pions aux joueurs...)
|
|
|
- self.ombre = True #ombre (cache les pions uniquement)
|
|
|
|
|
|
#effet sur la case
|
|
|
self.effetActif = ""
|
|
|
@@ -99,11 +97,6 @@ class Case(QGraphicsPolygonItem):
|
|
|
## text.setPos(QPointF(((self.x*0.866)+0.2886)*self.plateau.hCase, self.y*self.plateau.hCase))
|
|
|
## else:
|
|
|
## text.setPos(QPointF(self.x*self.plateau.hCase, self.y*self.plateau.hCase))
|
|
|
-
|
|
|
- #polygone utilise lorsque dans champ de deplacement
|
|
|
- self.polygoneChampDep = QGraphicsPolygonItem(self.polygone(self.x, self.y), parent=self)
|
|
|
- self.polygoneChampDep.setVisible(False)
|
|
|
- self.polygoneChampDep.setAcceptHoverEvents(False)
|
|
|
|
|
|
self.logoDep = LogoDep(self)
|
|
|
self.logoDep.creer()
|
|
|
@@ -116,25 +109,6 @@ class Case(QGraphicsPolygonItem):
|
|
|
self.polygoneCible.setVisible(False)
|
|
|
self.polygoneCible.setAcceptHoverEvents(False)
|
|
|
|
|
|
- #polygone test (pour capter les evts souris par dessus d'autres objets)
|
|
|
-## self.polygoneTest = QGraphicsPolygonItem(self.polygone(self.x, self.y), parent=self)
|
|
|
-## self.polygoneTest.setVisible(True)
|
|
|
-## self.polygoneTest.setAcceptHoverEvents(True)
|
|
|
-## self.polygoneTest.setFlag(QGraphicsItem.ItemIsFocusable)
|
|
|
-## self.polygoneTest.setBrush(QColor(0,0,0,0))
|
|
|
-## self.polygoneTest.setPen(QPen(QColor(0,0,0,0)))
|
|
|
-## self.polygoneTest.setAcceptedMouseButtons(Qt.NoButton)
|
|
|
-## self.polygoneTest.setZValue(200)
|
|
|
-## self.polygoneTest.setParentItem(self)
|
|
|
-
|
|
|
- def majGraphique(self):
|
|
|
- """met a jour l'aspect graphique de la acse en fonction de son etat"""
|
|
|
- if self.terrain:
|
|
|
- if len(self.terrain.nom) > 0 :
|
|
|
- self.majTerrain(self.terrain)
|
|
|
- self.majAffichageSpecial("")
|
|
|
- self.majEffet(self.effetActif)
|
|
|
-
|
|
|
def recreer(self, plateau):
|
|
|
## self.plateau = plateau #refPlateau
|
|
|
self.plateau = plateau
|
|
|
@@ -145,7 +119,11 @@ class Case(QGraphicsPolygonItem):
|
|
|
self.etiquetteAltitude = None
|
|
|
|
|
|
self.creerGraphique()
|
|
|
- self.majGraphique()
|
|
|
+ if self.terrain:
|
|
|
+ if len(self.terrain.nom) > 0 :
|
|
|
+ self.majTerrain(self.terrain)
|
|
|
+ self.majAffichageSpecial("")
|
|
|
+ self.majEffet(self.effetActif)
|
|
|
|
|
|
def polygone(self, x, y):
|
|
|
"""renvoie l'objet graphique hexagone de la case"""
|
|
|
@@ -187,10 +165,6 @@ class Case(QGraphicsPolygonItem):
|
|
|
|
|
|
########################
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
### deplacement
|
|
|
def estFranchissable(self, z=0):
|
|
|
"""la case est-elle franchissable?"""
|
|
|
@@ -207,9 +181,7 @@ class Case(QGraphicsPolygonItem):
|
|
|
#capacites de deplacement du pion actuellement selectionne
|
|
|
return 1
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- ### pour le combat
|
|
|
+ ### occupation
|
|
|
def majOccupation(self, objet, nouveauZ = None):
|
|
|
"""met a jour l'occupation de la case par les pions, decors..."""
|
|
|
if objet != None:
|
|
|
@@ -251,6 +223,8 @@ class Case(QGraphicsPolygonItem):
|
|
|
retour = objet
|
|
|
return retour
|
|
|
|
|
|
+
|
|
|
+ #autres interaction de combat
|
|
|
def estObstacleVision(self, hauteurObs):
|
|
|
"""renvoie vrai si la case et l'eventuel decor qui l'occupe bloquent le champ de
|
|
|
vision d'un observateur situe a la hauteur precisee"""
|
|
|
@@ -266,15 +240,10 @@ class Case(QGraphicsPolygonItem):
|
|
|
retour = True
|
|
|
return retour
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
########## fonctions de maj ###########
|
|
|
def majCouleur(self, couleur):
|
|
|
self.couleur = couleur
|
|
|
self.setBrush(couleur)
|
|
|
- self.polygoneChampDep.setBrush(self.couleurDep())
|
|
|
pinceau = QPen()
|
|
|
pinceau.setColor(self.couleurBordure())
|
|
|
pinceau.setWidth(1)
|
|
|
@@ -289,7 +258,6 @@ class Case(QGraphicsPolygonItem):
|
|
|
if self.terrain.couleur.isValid():
|
|
|
self.setBrush(QBrush(self.terrain.couleur))
|
|
|
self.couleur = self.terrain.couleur
|
|
|
- self.polygoneChampDep.setBrush(self.couleurDep())
|
|
|
else:
|
|
|
self.terrain = Terrain()
|
|
|
|
|
|
@@ -300,14 +268,6 @@ class Case(QGraphicsPolygonItem):
|
|
|
un cout de 0 fait disparaitre ce symbole"""
|
|
|
self.logoDep.afficher(cout, valide)
|
|
|
|
|
|
- def majEstDansChampDeplacement(self, actif):
|
|
|
- """la case apparait ou pas comme etant dans le champ de deplacement d'un pion"""
|
|
|
- self.polygoneChampDep.setVisible(actif)
|
|
|
-
|
|
|
- def majEstCibleAttaque(self, actif):
|
|
|
- """la case apparait ou pas comme etant dans le champ de deplacement d'un pion"""
|
|
|
- self.polygoneChampDep.setVisible(actif)
|
|
|
-
|
|
|
def majEstCibleCurseur(self, actif, valide=True):
|
|
|
"""affiche la case comme etant la cible du curseur (lors d'une creation de pion, d'un deplacement...)"""
|
|
|
if actif:
|