|
|
@@ -214,8 +214,8 @@ class Plateau(QGraphicsScene):
|
|
|
self.fenetre.connect(self.fenetre.ui.cp_nouveauTerrain, SIGNAL("clicked()"), self.terrainNouveau, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.cp_editerCombattant, SIGNAL("clicked()"), self.creatureEdit, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.cp_nouveauCombattant, SIGNAL("clicked()"), self.creatureNouveau, Qt.UniqueConnection)
|
|
|
-## self.fenetre.connect(self.fenetre.ui.decorEdit, SIGNAL("clicked()"), self.decorEdit, Qt.UniqueConnection)
|
|
|
-## self.fenetre.connect(self.fenetre.ui.decorNouveau, SIGNAL("clicked()"), self.decorNouveau, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.cp_editerDecor, SIGNAL("clicked()"), self.decorEdit, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.cp_nouveauDecor, SIGNAL("clicked()"), self.decorNouveau, Qt.UniqueConnection)
|
|
|
## self.fenetre.connect(self.fenetre.ui.editerAttaques, SIGNAL("clicked()"), self.afficheEcranEditionAttaques, Qt.UniqueConnection)
|
|
|
|
|
|
#creation
|
|
|
@@ -292,7 +292,7 @@ class Plateau(QGraphicsScene):
|
|
|
self.modeActif_old = ""
|
|
|
self.pinceau = Pinceau(self)
|
|
|
self.proj = ProjectionDep(self)
|
|
|
- self.modeParam = {"numPionSelectionne": 0, "pionNouveau": None, "creature": None, "decor": None, \
|
|
|
+ self.modeParam = {"numPionSelectionne": 0, "creature": None, "decor": None, \
|
|
|
"formeCoordEnCours": (0,0), \
|
|
|
"zoneAttaqueCaC": [], "cibleAttaqueCaC": None, "cibleAttaqueDist": None, "pionCibleAttaqueDist": None, "ligneAttaqueDist": None, \
|
|
|
"typeAttaqueZone": "", "formeAttaqueZone": None, "origineAttaqueZone": None, "point2AttaqueZone": None, \
|
|
|
@@ -563,14 +563,14 @@ class Plateau(QGraphicsScene):
|
|
|
"""enclenche le mode de creation de decors depuis la liste des decors"""
|
|
|
index = self.fenetre.ui.cp_listeDecors.item(ligne, 0)
|
|
|
decor = charger("lib\\biblio\\decor", str(index.text().toUtf8()))
|
|
|
- self.majMode("pionDecorCreation", decor)
|
|
|
+ self.activerMode(Modes.CreationPion, decor)
|
|
|
self.fenetre.ui.cbt_vue.setFocus()
|
|
|
|
|
|
def modeCreationCombattant(self, ligne, col):
|
|
|
"""enclenche le mode de creation de pions depuis la liste des creatures"""
|
|
|
index = self.fenetre.ui.cp_listeCreatures.item(ligne, 0)
|
|
|
creature = charger("lib\\biblio\\combattant", str(index.text().toUtf8()))
|
|
|
- self.majMode("pionCreation", creature)
|
|
|
+ self.activerMode(Modes.CreationPion, creature)
|
|
|
self.fenetre.ui.cbt_vue.setFocus()
|
|
|
|
|
|
def modeMajTerrainCase(self, ligne, col):
|
|
|
@@ -648,36 +648,17 @@ class Plateau(QGraphicsScene):
|
|
|
self.pionDecorSelectionne().afficheOmbreSelection(False)
|
|
|
self.modeParam["numPionSelectionne"] = 0
|
|
|
|
|
|
- if self.modeActif_old == "pionSelectionne" or self.modeActif_old == "pionCreation" or \
|
|
|
- self.modeActif_old == "pionDecorSelectionne" or self.modeActif_old == "pionDecorCreation":
|
|
|
+ if self.modeActif_old == "pionSelectionne" or self.modeActif_old == "pionDecorSelectionne":
|
|
|
self.proj.desactiver()
|
|
|
|
|
|
- if self.modeActif_old[0:7] == "caseMaj" or self.modeActif_old == "cachePlacer" or self.modeActif_old == "majZonePlacement":
|
|
|
+ if self.modeActif_old == "cachePlacer":
|
|
|
self.pinceau.reinit()
|
|
|
-
|
|
|
- if self.modeActif_old == "placementEntreeSortie":
|
|
|
- if self.modeParam["entreeSortie"] != None:
|
|
|
- self.modeParam["entreeSortie"].prepareGeometryChange()
|
|
|
- self.removeItem(self.modeParam["entreeSortie"])
|
|
|
- self.modeParam["entreeSortie"] = None
|
|
|
|
|
|
### definition du nouveau mode
|
|
|
if mode != "standard":
|
|
|
self.modeActif_old = mode
|
|
|
reinit = False
|
|
|
- if mode == "caseMajTerrain":
|
|
|
- #curseur pinceau, on ajoute des terrains au cases
|
|
|
- if param != None:
|
|
|
- self.curseurPinceau()
|
|
|
- self.fenetre.ui.cbt_vue.setDragMode(0)
|
|
|
- self.modeParam["terrain"] = param
|
|
|
-
|
|
|
- elif mode == "caseCopie":
|
|
|
- #curseur seringue, on 'preleve' le terrain sur la case cliquee, avant de passer en mode majTerrain
|
|
|
- self.curseurSeringue()
|
|
|
- self.fenetre.ui.cbt_vue.setDragMode(0)
|
|
|
-
|
|
|
- elif mode == "caseMajEffet":
|
|
|
+ if mode == "caseMajEffet":
|
|
|
#on met a jour l'effet actif sur les cases
|
|
|
if param != None:
|
|
|
self.curseurPinceau()
|
|
|
@@ -692,16 +673,7 @@ class Plateau(QGraphicsScene):
|
|
|
self.curseurPinceau()
|
|
|
self.fenetre.ui.cbt_vue.setDragMode(0)
|
|
|
self.pinceau.majForme("rectP")
|
|
|
- self.pinceau.verrouillerForme(True)
|
|
|
-
|
|
|
- elif mode == "majZonePlacement":
|
|
|
- self.curseurPinceau()
|
|
|
- self.fenetre.ui.cbt_vue.setDragMode(0)
|
|
|
- self.pinceau.majForme("rectP")
|
|
|
- self.pinceau.verrouillerForme(True)
|
|
|
-
|
|
|
- elif mode == "placementEntreeSortie":
|
|
|
- self.fenetre.ui.cbt_vue.setDragMode(0)
|
|
|
+ self.pinceau.verrouillerForme(True)
|
|
|
|
|
|
elif mode == "pionDecorCreation":
|
|
|
#curseur 'plus', on cree de nouveaux decors
|
|
|
@@ -720,15 +692,6 @@ class Plateau(QGraphicsScene):
|
|
|
self.pionDecorSelectionne().afficheOmbreSelection(True)
|
|
|
self.fenetre.ui.cbt_vue.setCursor(QCursor(Qt.ArrowCursor))
|
|
|
self.proj.creer(self.pionDecorSelectionne())
|
|
|
-
|
|
|
- elif mode == "pionCreation":
|
|
|
- #curseur 'plus', on cree de nouveaux pions
|
|
|
- self.modeParam["creature"] = None
|
|
|
- self.fenetre.ui.cbt_vue.setDragMode(0)
|
|
|
- if param != None:
|
|
|
- if param.__class__.__name__ == "Combattant":
|
|
|
- self.modeParam["creature"] = param
|
|
|
- self.proj.creer(param)
|
|
|
|
|
|
elif mode == "pionSupprimer":
|
|
|
#mode suppression de pions/pions decors
|
|
|
@@ -1697,13 +1660,6 @@ class Plateau(QGraphicsScene):
|
|
|
self.validerAttaqueZone()
|
|
|
accepte = True
|
|
|
|
|
|
- elif self.modeActif_old == "pionCreation":
|
|
|
- self.pionCreer(coord)
|
|
|
- accepte = True
|
|
|
-
|
|
|
- elif self.modeActif_old == "pionDecorCreation":
|
|
|
- self.pionDecorCreer(coord)
|
|
|
- accepte = True
|
|
|
return accepte
|
|
|
|
|
|
def caseSurvolClicEnfonce(self, coord):
|
|
|
@@ -1787,26 +1743,30 @@ class Plateau(QGraphicsScene):
|
|
|
accepte = True
|
|
|
return accepte
|
|
|
|
|
|
- def pionCreer(self, coordCase):
|
|
|
- """creer un jeton aux coordonnees indiquees"""
|
|
|
- valide = True
|
|
|
- self.proj.majCoord(coordCase)
|
|
|
-
|
|
|
+ def creerPion(self, pion):
|
|
|
+ """creer un pion (combattant ou decor) aux coordonnees indiquees"""
|
|
|
+ cree = False
|
|
|
if self.proj.projectionValide():
|
|
|
- numero = 1
|
|
|
- if len(self.combattants) > 0:
|
|
|
- numero = max(self.combattants) + 1
|
|
|
-
|
|
|
- combattant = self.modeParam["creature"]
|
|
|
- numComplementaire = self.numeroterNom(combattant.nom)
|
|
|
- combattant.numero = numero
|
|
|
- combattant.position = self.proj.coord()
|
|
|
- combattant.numComplementaire = numComplementaire
|
|
|
- combattant.nbRotations = self.proj.nbRotations()
|
|
|
- combattant.ajouterAuPlateau(self)
|
|
|
+ pion.position = self.proj.coord()
|
|
|
+ pion.nbRotations = self.proj.nbRotations()
|
|
|
+ pion.ajouterAuPlateau(self)
|
|
|
+
|
|
|
+ if pion.__class__.__name__ == "Combattant":
|
|
|
+ numero = 1
|
|
|
+ if len(self.combattants) > 0:
|
|
|
+ numero = max(self.combattants) + 1
|
|
|
+ pion.numero = numero
|
|
|
+ pion.numComplementaire = self.numeroterNom(pion.nom)
|
|
|
+ self.combattants[numero] = pion
|
|
|
+ self.pionDeplacerDansOrdreJeu(numero, len(self.ordreJeu) + 2)
|
|
|
+ elif pion.__class__.__name__ == "Decor":
|
|
|
+ numero = 10001
|
|
|
+ if len(self.decors) > 0:
|
|
|
+ numero = max(self.decors) + 10001
|
|
|
+ self.decors[numero] = pion
|
|
|
|
|
|
- self.combattants[numero] = combattant
|
|
|
- self.pionDeplacerDansOrdreJeu(numero, len(self.ordreJeu) + 2)
|
|
|
+ cree = True
|
|
|
+ return cree
|
|
|
|
|
|
def numeroterNom(self, nom):
|
|
|
"""renvoie le nom du pion avec un numero complementaire si necessaire """
|
|
|
@@ -1922,20 +1882,6 @@ class Plateau(QGraphicsScene):
|
|
|
"""affiche ou non les cases a portee du pion selectionne pour une attaque au corps-a-corps"""
|
|
|
for coord in self.modeParam["zoneAttaqueCaC"]:
|
|
|
self.cases[coord].majEstDansChampDeplacement(actif)
|
|
|
-
|
|
|
- def pionDecorCreer(self, coordCase):
|
|
|
- """creer un jeton aux coordonnees indiquees"""
|
|
|
- if self.proj.deplacementValide:
|
|
|
- numero = 10001
|
|
|
- if len(self.decors) > 0:
|
|
|
- numero = max(self.decors) + 10001
|
|
|
- decor = self.modeParam["decor"]
|
|
|
- decor.numero = numero
|
|
|
- decor.position = self.proj.coord()
|
|
|
- decor.nbRotations = self.proj.nbRotations()
|
|
|
- decor.ajouterAuPlateau(self)
|
|
|
- self.decors[numero] = decor
|
|
|
-
|
|
|
|
|
|
def pionSupprimer(self, num):
|
|
|
"""supprime le pion entre en parametre"""
|