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): def add_character(self, char_dict):
name = char_dict['name'] name = char_dict['name']
self.actors[name] = char_dict self.actors[name] = char_dict
print(self.actors)
return response.build_new_character(None, char_dict)
def remove_actor(self, name): def remove_character(self, name):
if not name in self.actors:
return None # TODO FEHLERMELDUNG, CHARAKTER EXISTIERT NICHT
self.actors.pop(name) self.actors.pop(name)
return response.build_remove_actor(None, None, name)
def move_by(self, name, delta): def get_actors(self):
if not name in self.actors: return self.actors.values()
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)

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' PRIVATE_CHAT = 'private message'
SYSTEM_MESSAGE = 'system message' SYSTEM_MESSAGE = 'system message'
DICE_ROLL = 'dice roll' DICE_ROLL = 'dice roll'
NEW_CHARACTER = 'new character' CHARACTER_ADDED = 'character added'
REMOVE_ACTOR = 'remove actor' CHARACTER_REMOVED = 'character removed'
ACTOR_ADDED = 'actor added' ACTOR_ADDED = 'actor added'
USER_EDITED = 'user edited' USER_EDITED = 'user edited'
USER_ADDED = 'user added' 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) sio.emit(Events.SYSTEM_MESSAGE.value, {'sender': 'System', 'message': 'Verbunden!'}, room=sid)
for user in user_manager.get_users(): for user in user_manager.get_users():
sio.emit(Events.USER_ADDED.value, user, room=sid) 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') @sio.on('disconnect')
def disconnect(sid): def disconnect(sid):
@@ -32,6 +35,7 @@ def disconnect(sid):
name = user_manager.remove_user(sid) name = user_manager.remove_user(sid)
sio.emit(Events.USER_REMOVED.value, name) sio.emit(Events.USER_REMOVED.value, name)
@sio.on(Events.PUBLIC_CHAT.value) @sio.on(Events.PUBLIC_CHAT.value)
def message(sid, data): def message(sid, data):
# print(data) # print(data)
@@ -42,15 +46,21 @@ def message(sid, data):
value, response.to_json()) value, response.to_json())
@sio.on(Events.NEW_CHARACTER.value) @sio.on(Events.CHARACTER_ADDED.value)
def message(sid, data): def message(sid, data):
print("INCOMING\n", data)
actor_manager.add_character(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) @sio.on(Events.USER_EDITED.value)
def message(sid, data): def message(sid, data):
print("USER EDITED: ", sid, data)
if user_manager.has_user(data['old']): if user_manager.has_user(data['old']):
user_manager.remove_user(sid) user_manager.remove_user(sid)
sio.emit(Events.USER_REMOVED.value, data['old']) 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] ranges = ['{}!{}'.format(character, r) for r in RANGES]
result = sheet.values().batchGet(spreadsheetId=SPREADSHEET_ID, result = sheet.values().batchGet(spreadsheetId=SPREADSHEET_ID,
ranges=ranges).execute() ranges=ranges).execute()
print(result)
skills = dict() skills = dict()
for r in result.get('valueRanges', []): for r in result.get('valueRanges', []):
print(r)
for v in r.get('values', []): for v in r.get('values', []):
if v: if v:
try:
skills[v[0]] = int(v[2]) skills[v[0]] = int(v[2])
except:
skills[v[0]] = 0
return skills return skills