Files
pytomb/data/Raum.py
2022-05-29 08:49:08 +02:00

107 lines
2.2 KiB
Python

import logging
class SuperNode:
def __init__(self,name,id):
self.name = name
self.id = id
class Raum(SuperNode):
def __init__(self,name,id,beschreibung):
super().__init__(name,id)
self.items ={}
self.personen = {}
self.beschreibung=beschreibung
self.pickupmsg = ''
self.entdeckt = False
self.ausgaenge = {
'0': '-1', # Nord
'1': '-1', # West
'2': '-1', # Sued
'3': '-1', # Ost
'4': '-1', # Rauf
'5': '-1', # Runter
}
def sucheRaumAusgang(self,richtung):
nachRaum = self.ausgaenge[richtung]
return nachRaum
def labelsPersonen(self):
labels = []
for persid in self.personen:
labels.append(self.personen[persid].name)
return labels
def labelsGegenstaende(self):
labels =[]
for itemid in self.items:
item = self.items[itemid]
#logging.debug('labelsGegenstaende(): Item ' + self.items[itemid].name + ' ist ' + str(item.sichtbar))
if item.sichtbar:
if item.display != None:
labels.append(item.display)
else:
labels.append(item.name)
return labels
class Befehl(SuperNode):
def __init__(self,command,id,key):
super().__init__(command,id)
self.command = command
self.key = key
class Ausgang(SuperNode):
def __init__(name,id,nachRaum):
super(name,id)
self.nachRaum = nachRaum
self.richtung = name
class Gegenstand(SuperNode):
def __init__(self,name,id,raumid):
super().__init__(name,id)
self.raumid = raumid
self.zustand = 0
self.sichtbar = True
self.imobil = False
self.adjektiv = None
self.display = None
self.GESCHLOSSEN = 0
self.OFFEN = 1
self.KLEIN = 0
self.MITTEL = 1
self.GROSS = 2
self.LEER = 0
self.VOLL = 1
self.zustand = self.GESCHLOSSEN
class Adjektiv(SuperNode):
def __init__(self,name, id,key):
super().__init__(name, id)
self.key = key
class Person(SuperNode):
def __init__(self, name,id,raum):
super().__init__(name,id)
self.raum = raum
self.bewegung = []
def __str__(self):
return self.name
class TextNode(SuperNode):
def __init__(self,id, text):
super().__init__(text, id)
def __str__(self):
return self.name