jormungand/src/entity/dummy/DebugJumper.py

41 lines
990 B
Python
Raw Normal View History

2017-09-24 02:06:47 +00:00
import sys
from entity.Entity import Entity
from entity.Tube import Tube
class DebugJumper(Entity):
def __init__(self, message):
Entity.__init__(self)
self._message = message
self._counter = 0
def __repr__(self):
return "[DebugJumper message='{}' counter={}]".format(self._message, self._counter)
def serialize(self):
sup = Entity.serialize(self)
sup.update({
"module":"entity.dummy.DebugJumper",
"class":"DebugJumper",
"message":self._message,
"counter":self._counter
})
return sup
@staticmethod
def deserialize(serial):
e = DebugJumper(serial["message"])
e._counter = serial["counter"]
return e
def update(self):
Entity.update(self)
self._counter += 1
if self._counter % 5 == 0:
for entity in self._fishtank._entities:
if type(entity) is Tube:
entity.accept(self)
break
def draw(self):
Entity.draw(self)
sys.stdout.write(self._message + " ({})\n".format(self._counter))