mat.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # -*- coding: utf-8 -*-
  2. '''
  3. gestion des materiels: pateaux, maquettes, decors, creatures, terrains, pieges
  4. '''
  5. import os
  6. from PyQt4.QtCore import QObject
  7. from PyQt4.QtGui import QPixmap
  8. from lib.commun import uid, rep, enregistrerSous, charger
  9. def chargerMat(idM, cible = ""):
  10. """idM peut etre seulement l'id, ou le chemin complet"""
  11. if len(cible) == 0: cible = "jeu"
  12. if len(idM) == 10:
  13. mat = charger(os.path.join(rep(cible), "{}.dm".format(idM)))
  14. else:
  15. mat = charger(idM)
  16. return mat
  17. def supprimerMat(idM, cible = ""):
  18. if len(cible) == 0: cible = "jeu"
  19. os.remove(os.path.join(rep(cible), "{}.dm".format(idM)))
  20. class Materiel(QObject):
  21. """classe de base des materiels utilises"""
  22. def __init__(self):
  23. super(Materiel, self).__init__()
  24. if not "_idM" in self.__dict__: #le materiel est deja parametre
  25. self._idM = ""
  26. self._repCible = "jeu"
  27. self._type = "ma"
  28. self._nom = ""
  29. self._regle = "" #regle de jeu associee au materiel
  30. def nom(self):
  31. return self._nom
  32. def majNom(self, nom):
  33. self._nom = nom
  34. def typ(self):
  35. return self._type
  36. def majType(self, typ):
  37. self._type = typ
  38. def idM(self):
  39. return self._idM
  40. def icone(self):
  41. return QPixmap()
  42. def enregistrer(self, cible = ""):
  43. if len(self._idM) == 0: self._idM = uid(self.typ())
  44. if len(cible) == 0: cible = self._repCible
  45. cible = os.path.join(rep(cible), "{}.dm".format(self._idM))
  46. enregistrerSous(self, cible)