david98 / ing-sw-2020-riva-valassi-volta

Progettino
MIT License
3 stars 0 forks source link

Il client non conosce la lista delle mosse fatte nel turno #118

Closed david98 closed 4 years ago

MV511 commented 4 years ago

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?

MV511 commented 4 years ago

Se mi confermi il ragionamento, assegnamelo pure

marcoriva commented 4 years ago

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

david98 commented 4 years ago

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

MV511 commented 4 years ago

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

MV511 commented 4 years ago

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.

MV511 commented 4 years ago

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'