started localizing the chat

This commit is contained in:
Alberto Xamin 2020-12-04 11:15:06 +01:00
parent fce9fd6c02
commit 9ba0905822
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
5 changed files with 40 additions and 14 deletions

View File

@ -53,7 +53,7 @@ class Game:
self.players.append(player)
print(f'Added player {player.name} to game')
self.notify_room()
self.sio.emit('chat_message', room=self.name, data=f'{player.name} è entrato nella lobby.')
self.sio.emit('chat_message', room=self.name, data=f'_joined|{player.name}')
def set_private(self):
if self.password == '':
@ -70,7 +70,7 @@ class Game:
print(self.name)
print(self.players[i].name)
print(self.players[i].character)
self.sio.emit('chat_message', room=self.name, data=f'{self.players[i].name} ha come personaggio {self.players[i].character.name}, la sua abilità speciale è: {self.players[i].character.desc}')
self.sio.emit('chat_message', room=self.name, data=f'_choose_character|{self.players[i].name}|{self.players[i].character.name}|{self.players[i].character.desc}')
self.players[i].prepare()
for k in range(self.players[i].max_lives):
self.players[i].hand.append(self.deck.draw())
@ -87,7 +87,7 @@ class Game:
if self.started:
return
self.players_map = {c.name: i for i, c in enumerate(self.players)}
self.sio.emit('chat_message', room=self.name, data=f'La partita sta iniziando...')
self.sio.emit('chat_message', room=self.name, data=f'_starting')
self.sio.emit('start', room=self.name)
self.started = True
self.deck = Deck(self)
@ -111,7 +111,7 @@ class Game:
self.players[i].set_role(available_roles[i])
if isinstance(available_roles[i], roles.Sheriff) or (len(available_roles) == 3 and isinstance(available_roles[i], roles.Vice)):
if isinstance(available_roles[i], roles.Sheriff):
self.sio.emit('chat_message', room=self.name, data=f'{self.players[i].name} È lo sceriffo')
self.sio.emit('chat_message', room=self.name, data=f'_sheriff|{self.players[i].name}')
self.turn = i
self.players[i].notify_self()
@ -238,9 +238,9 @@ class Game:
if not disconnected:
self.dead_players.append()
self.notify_room()
self.sio.emit('chat_message', room=self.name, data=f'{player.name} è morto.')
self.sio.emit('chat_message', room=self.name, data=f'_died|{player.name}')
if self.started:
self.sio.emit('chat_message', room=self.name, data=f'{player.name} era {player.role.name}!')
self.sio.emit('chat_message', room=self.name, data=f'_died_role|{player.name}|{player.role.name}')
for p in self.players:
p.notify_self()
self.players_map = {c.name: i for i, c in enumerate(self.players)}
@ -254,7 +254,7 @@ class Game:
print('WE HAVE A WINNER')
for p in self.players:
p.win_status = p in winners
self.sio.emit('chat_message', room=self.name, data=f'{p.name} ha vinto.')
self.sio.emit('chat_message', room=self.name, data=f'_won|{p.name}')
p.notify_self()
eventlet.sleep(5.0)
return self.reset()

View File

@ -1,6 +1,6 @@
<template>
<div class="chat">
<h3>{{$t("chat")}}</h3>
<h3>{{$t("chat.chat")}}</h3>
<div id="chatbox">
<p style="margin:1pt;" class="chat-message" v-for="msg in messages" v-bind:key="msg">{{msg}}</p>
<p class="end">.</p>
@ -21,7 +21,13 @@ export default {
}),
sockets: {
chat_message(msg) {
this.messages.push(msg)
if (msg.indexOf('_') === 0) {
let params = msg.split('|')
let type = params.shift().substring(1)
this.messages.push(this.$t(`chat.${type}`, params))
}else {
this.messages.push(msg)
}
let container = this.$el.querySelector("#chatbox");
container.scrollTop = container.scrollHeight;
},

View File

@ -6,7 +6,7 @@
<div v-if="!started">
<PrettyCheck v-if="isRoomOwner" class="p-switch p-fill" v-model="privateRoom" style="margin-top:5px; margin-bottom:3px;">{{$t("private_room")}}</PrettyCheck>
<label v-if="password !== ''">{{$t('password')}}<b class="selectable" style="font-size:larger;">{{ password }}</b></label>
<input type="button" style="margin-left: 10pt;" v-clipboard:copy="inviteLink" value="Copia"/>
<input type="button" style="margin-left: 10pt;" v-clipboard:copy="inviteLink" :value="$t('copy')"/>
</div>
<div class="players-table">

View File

@ -8,7 +8,6 @@
"lobby_name": "Name:",
"warning": "Warning!",
"connection_error": "Cannot connect to server.",
"chat": "Chat",
"end_turn": "End Turn!",
"start_game": "Start!",
"expansions": "Expansions",
@ -52,5 +51,16 @@
"choose_scarp_card_to": "CHOOSE WHICH CARD TO DISCARD TO USE",
"pick_a_card": "FLIP A CARD",
"to_defend_from": "TO DEFEND YOURSELF FROM",
"submit": "Submit"
"submit": "Submit",
"copy": "Copy",
"chat": {
"chat": "Chat",
"joined": "{0} joined the lobby",
"died": "{0} died",
"died_role": "{0} was a {1}!",
"won": "{0} won!",
"choose_character": "{0} has {1} as character, his special ability is: {2}!",
"starting": "The game is starting!",
"sheriff": "{0} is the sheriff!"
}
}

View File

@ -8,7 +8,6 @@
"lobby_name": "Nome:",
"warning": "Attenzione!",
"connection_error": "Connessione al server assente.",
"chat": "Chat",
"end_turn": "Termina turno!",
"start_game": "Avvia!",
"expansions": "Espansioni",
@ -52,5 +51,16 @@
"choose_scarp_card_to": "SCEGLI CHE CARTA SCARTARE PER USARE",
"pick_a_card": "ESTRAI UNA CARTA",
"to_defend_from": "PER DIFENDERTI DA",
"submit": "Invia"
"submit": "Invia",
"copy": "Copia",
"chat": {
"chat": "Chat",
"joined": "{0} è entrato nella stanza",
"died": "{0} è morto",
"died_role": "{0} era {1}!",
"won": "{0} ha vinto!",
"choose_character": "{0} ha come personaggio {1}, la sua abilità speciale è: {2}!",
"starting": "La partita sta iniziando!",
"sheriff": "{0} è lo sceriffo!"
}
}