53 |
|
|
54 |
# Version del sistema de objetos (se incrementa cada vez que varian los atributos |
# Version del sistema de objetos (se incrementa cada vez que varian los atributos |
55 |
# de la clase Objeto) |
# de la clase Objeto) |
56 |
VERSION_OBJETO = '1.0.4' |
VERSION_OBJETO = '1.0.5' |
57 |
|
|
58 |
DIR_DESC_OBJETOS = 'desc_objetos' |
DIR_DESC_OBJETOS = 'desc_objetos' |
59 |
EXT_DESC_OBJETOS = '.xml' |
EXT_DESC_OBJETOS = '.xml' |
232 |
aura in range(0,100) |
aura in range(0,100) |
233 |
""") |
""") |
234 |
|
|
235 |
|
def __leer_propietario(self): return self.__propietario |
236 |
|
|
237 |
|
propietario = property(__leer_propietario, |
238 |
|
doc="""(string): el id del personaje que posee este objeto. |
239 |
|
Este personaje es el único que tiene derecho a usarlo y |
240 |
|
llevarlo de un lado a otro. |
241 |
|
|
242 |
|
Si el propietario es un PNJ, esta propiedad contiene el id |
243 |
|
sin el '%' ni el código único (el propietario es cualquier |
244 |
|
instancia de ese PNJ). |
245 |
|
|
246 |
|
Puede valer None si no tiene propietario. |
247 |
|
""") |
248 |
|
|
249 |
def __leer_sucesos(self): return self.__sucesos |
def __leer_sucesos(self): return self.__sucesos |
250 |
|
|
251 |
sucesos = property(__leer_sucesos, |
sucesos = property(__leer_sucesos, |
495 |
self.__aura = int(extraer_atributo_xml(elem_propiedades,'aura')) |
self.__aura = int(extraer_atributo_xml(elem_propiedades,'aura')) |
496 |
else: |
else: |
497 |
self.__aura = 1 |
self.__aura = 1 |
498 |
|
if elem_propiedades.hasAttribute('propietario'): |
499 |
|
self.__propietario = extraer_atributo_xml(elem_propiedades,'propietario') |
500 |
|
else: |
501 |
|
self.__propietario = None |
502 |
|
|
503 |
|
|
504 |
def __parsear_sucesos(self, elem_sucesos): |
def __parsear_sucesos(self, elem_sucesos): |
614 |
raise ValueError("Cargado objeto " + self.id + " obsoleto: sin versión," + |
raise ValueError("Cargado objeto " + self.id + " obsoleto: sin versión," + |
615 |
" cuando se esperaba " + Objeto.VERSION_OBJETO) |
" cuando se esperaba " + Objeto.VERSION_OBJETO) |
616 |
|
|
617 |
assert(Objeto.VERSION_OBJETO == "1.0.4") |
assert(Objeto.VERSION_OBJETO == "1.0.5") |
618 |
while self.__version != "1.0.4": |
while self.__version != "1.0.5": |
619 |
|
|
620 |
# La versión 1.0.1 produce una ruptura con las anteriores ya que se migra al formato |
# La versión 1.0.1 produce una ruptura con las anteriores ya que se migra al formato |
621 |
# de clases de Python 2.2, y no es compatible con el anterior. Hay que borrar todas |
# de clases de Python 2.2, y no es compatible con el anterior. Hay que borrar todas |
645 |
item["personaje_mira"] = None |
item["personaje_mira"] = None |
646 |
self.__version = "1.0.4" |
self.__version = "1.0.4" |
647 |
escribir("Convertido objeto " + self.__id + " a versión 1.0.4") |
escribir("Convertido objeto " + self.__id + " a versión 1.0.4") |
648 |
|
elif self.__version == "1.0.4": |
649 |
|
# Versión 1.0.4 -> 1.0.5: añadir propietario |
650 |
|
self.__propietario = None |
651 |
|
self.__version = "1.0.5" |
652 |
|
escribir("Convertido objeto " + self.__id + " a versión 1.0.5") |
653 |
else: |
else: |
654 |
raise ValueError("Cargado objeto " + self.__id + " con versión desconocida: " + |
raise ValueError("Cargado objeto " + self.__id + " con versión desconocida: " + |
655 |
self.__version + " cuando se esperaba " + Objeto.VERSION_OBJETO) |
self.__version + " cuando se esperaba " + Objeto.VERSION_OBJETO) |
748 |
personaje.controlador.suceso_entorno(texto) |
personaje.controlador.suceso_entorno(texto) |
749 |
|
|
750 |
|
|
751 |
|
def cambiar_propietario(self, nuevo_propietario): |
752 |
|
"""Cambia el propietario del objeto a un nuevo personaje. |
753 |
|
|
754 |
|
Si nuevo_propietario es None, el objeto pasa a ser sin dueño. |
755 |
|
""" |
756 |
|
if nuevo_propietario == None: |
757 |
|
self.__propietario = None |
758 |
|
else: |
759 |
|
self.__propietario = nuevo_propietario.id.split("%")[0] |
760 |
|
|
761 |
|
|
762 |
def personaje_mira(self, observador, sala): |
def personaje_mira(self, observador, sala): |
763 |
"""Responde al suceso de que un personaje mira la descripción de este objeto. |
"""Responde al suceso de que un personaje mira la descripción de este objeto. |
764 |
|
|