preparations for alpha release

This commit is contained in:
daniel
2019-06-20 16:10:16 +02:00
parent 8e29452fe4
commit ecb29f3ba6
5 changed files with 37 additions and 27 deletions

View File

@@ -8,27 +8,10 @@ class ActorManager:
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
def remove_character(self, name):
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)
def get_actors(self):
return self.actors.values()

11
docker/Dockerfile Normal file
View File

@@ -0,0 +1,11 @@
from python:latest
RUN pip install eventlet \
google-api-pythonclient \
google-auth-httplib2 \
google-auth-oauthlib
WORKDIR /backend
RUN git clone https://vcs.murgi.de:8888/daniel/splittermond-backend.git && \
python3.7 main.py

View File

@@ -5,8 +5,8 @@ class Events(Enum):
PRIVATE_CHAT = 'private message'
SYSTEM_MESSAGE = 'system message'
DICE_ROLL = 'dice roll'
NEW_CHARACTER = 'new character'
REMOVE_ACTOR = 'remove actor'
CHARACTER_ADDED = 'character added'
CHARACTER_REMOVED = 'character removed'
ACTOR_ADDED = 'actor added'
USER_EDITED = 'user edited'
USER_ADDED = 'user added'

18
main.py
View File

@@ -25,6 +25,9 @@ def connect(sid, environ):
sio.emit(Events.SYSTEM_MESSAGE.value, {'sender': 'System', 'message': 'Verbunden!'}, room=sid)
for user in user_manager.get_users():
sio.emit(Events.USER_ADDED.value, user, room=sid)
for char in actor_manager.get_actors():
sio.emit(Events.CHARACTER_ADDED.value, char, room=sid)
@sio.on('disconnect')
def disconnect(sid):
@@ -32,6 +35,7 @@ def disconnect(sid):
name = user_manager.remove_user(sid)
sio.emit(Events.USER_REMOVED.value, name)
@sio.on(Events.PUBLIC_CHAT.value)
def message(sid, data):
# print(data)
@@ -42,15 +46,21 @@ def message(sid, data):
value, response.to_json())
@sio.on(Events.NEW_CHARACTER.value)
@sio.on(Events.CHARACTER_ADDED.value)
def message(sid, data):
print("INCOMING\n", data)
actor_manager.add_character(data)
sio.emit(Events.NEW_CHARACTER.value, data)
print(data)
sio.emit(Events.CHARACTER_ADDED.value, data)
@sio.on(Events.CHARACTER_REMOVED.value)
def message(sid, data):
actor_manager.remove_character(data)
sio.emit(Events.CHARACTER_REMOVED.value, data)
@sio.on(Events.USER_EDITED.value)
def message(sid, data):
print("USER EDITED: ", sid, data)
if user_manager.has_user(data['old']):
user_manager.remove_user(sid)
sio.emit(Events.USER_REMOVED.value, data['old'])

View File

@@ -43,11 +43,17 @@ def load_character(character):
ranges = ['{}!{}'.format(character, r) for r in RANGES]
result = sheet.values().batchGet(spreadsheetId=SPREADSHEET_ID,
ranges=ranges).execute()
print(result)
skills = dict()
for r in result.get('valueRanges', []):
print(r)
for v in r.get('values', []):
if v:
skills[v[0]] = int(v[2])
try:
skills[v[0]] = int(v[2])
except:
skills[v[0]] = 0
return skills