35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import chat.response as response
|
|
|
|
|
|
class ActorManager:
|
|
def __init__(self):
|
|
self.actors = dict()
|
|
|
|
def add_character(self, char_dict):
|
|
name = char_dict['name']
|
|
self.actors[name] = char_dict
|
|
print(self.actors)
|
|
return response.build_new_character(None, char_dict)
|
|
|
|
def remove_actor(self, name):
|
|
if not name in self.actors:
|
|
return None # TODO FEHLERMELDUNG, CHARAKTER EXISTIERT NICHT
|
|
self.actors.pop(name)
|
|
return response.build_remove_actor(None, None, name)
|
|
|
|
def move_by(self, name, delta):
|
|
if not name in self.actors:
|
|
return None # TODO FEHLERMELDUNG, CHARAKTER EXISTIERT NICHT
|
|
actor = self.actors[name]
|
|
actor.tick += delta
|
|
return response.build_new_character(None, None, actor)
|
|
|
|
def move_to(self, name, tick):
|
|
if not name in self.actors:
|
|
return None # TODO FEHLERMELDUNG, CHARAKTER EXISTIERT NICHT
|
|
actor = self.actors[name]
|
|
actor.state = TickState.ACTING.value
|
|
actor.tick = tick
|
|
return response.build_new_character(None, None, actor)
|
|
|