Closed david98 closed 4 years ago
Se mi confermi il ragionamento, assegnamelo pure
L'alternativa è che il client aggiunga autonomamente la mossa alla sua lista e che la svuoti alla fine di ogni turno, però credo sia preferibile un evento apposito come dici tu
La soluzione di @marcoriva non è bella perché vuol dire avere tanta duplicazione di codice (ossia dover aggiornare poi sia la parte cliente che la parte server). Stavamo anche valutando di spostare interamente il calcolo dei punti costruibili/raggiungibili sul server e fare degli eventi di richiesta
Se implementiamo eventi di richiesta, sono due le opzioni: o un requestPlayerInfo o un updatePlayerInfo. La soluzione è però equivalente. L'update è identico a ciò che facciamo con le GodCard, o con la board. Semplicemente non avevo pensato al fatto che anche queste informazioni andassero aggiornate
Essendo centrale, dato che pare influenzi molte altre issue, andrebbe risolta subito. Decidiamo come fare. Per me per ora andiamo di updateEvent come nelle GodCard, e aggiungiamo l'handle sul client. Se però decidete altrimenti va bene, basta che la facciamo per prima che magari genera una catena di risoluzioni.
Ho aggiunto un evento PlayerInfoUpdateEvent e messo dove andiamo ad aggiornare quelle info. Ho anche notato che isWorkerSelected, boardStatus e hasLost nel model e nel controller non sono utilizzati, e la cosa mi disturba un po'
Forse va fatto un update ogni volta che se ne aggiunge uno? Tipo PlayerInfoUpdate? Non saprei, ma stando alla logica degli eventi poterebbe essere. Altrimenti il client non aggiornerà mai i dati personali del player, giusto?