save language and keep username

This commit is contained in:
Alberto Xamin 2020-12-13 10:51:27 +01:00
parent a6a5f95a5b
commit e48236727c
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
4 changed files with 15 additions and 4 deletions

View File

@ -64,7 +64,12 @@ def get_me(sid, room):
sio.emit('me', data={'error':'Wrong password/Cannot connect'}, room=sid)
else:
sio.emit('me', data=sio.get_session(sid).name, room=sid)
sio.emit('change_username', room=sid)
if room['username'] == None or any([p.name == room['username'] for p in sio.get_session(sid).game.players]):
sio.emit('change_username', room=sid)
else:
sio.get_session(sid).name = room['username']
sio.emit('me', data=sio.get_session(sid).name, room=sid)
sio.get_session(sid).game.notify_room()
@sio.event
def disconnect(sid):

View File

@ -227,7 +227,7 @@ class Game:
def handle_disconnect(self, player: players.Player):
print(f'player {player.name} left the game {self.name}')
if player in self.players:
if self.disconnect_bot:
if self.disconnect_bot and self.started:
player.is_bot = True
else:
self.player_death(player=player, disconnected=True)
@ -319,6 +319,7 @@ class Game:
print('resetting lobby')
self.players.extend(self.dead_players)
self.dead_players = []
self.players = [p for p in self.players if not p.is_bot]
print(self.players)
self.started = False
self.waiting_for = 0

View File

@ -7,7 +7,7 @@
<h2>{{$t("warning")}}</h2>
<p>{{$t("connection_error")}}</p>
</div>
<select style="position:fixed;bottom:4pt;right:4pt;" v-model="$i18n.locale">
<select style="position:fixed;bottom:4pt;right:4pt;" v-model="$i18n.locale" @change="storeLangPref">
<option
v-for="(lang, i) in ['it.🇮🇹.Italiano', 'en.🇬🇧.English']"
:key="`lang-${i}`"
@ -42,8 +42,13 @@ export default {
},
},
methods: {
storeLangPref() {
localStorage.setItem('lang', this.$i18n.locale)
}
},
mounted() {
if (localStorage.getItem('lang'))
this.$i18n.locale = localStorage.getItem('lang')
},
}
</script>

View File

@ -247,7 +247,7 @@ export default {
console.log('mounted lobby')
if (!this.$route.query.code)
return this.$router.push('/')
this.$socket.emit('get_me', {name:this.$route.query.code, password:this.$route.query.pwd})
this.$socket.emit('get_me', {name:this.$route.query.code, password:this.$route.query.pwd, username: localStorage.getItem('username')})
},
}
</script>