08.09.2019 Views

Progettazione e Sviluppo di un Multiplayer Online Game su Reti Peer-to-Peer

Alma Mater Studiorum Universit`a degli Studi di Bologna Facolta` di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze di Internet Tesi di Laurea in Laboratorio di Programmazione Internet

Alma Mater Studiorum Universit`a degli Studi di Bologna
Facolta` di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Scienze di Internet
Tesi di Laurea in Laboratorio di Programmazione Internet

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.6. LAYER VIEW 91<br />

• String LogicComponentID: attribu<strong>to</strong> al quale viene assegna<strong>to</strong> il valore<br />

del GlobalID appartenente allo SharedComponent che rappresenta lo<br />

sta<strong>to</strong> logico dell’elemen<strong>to</strong> grafico.<br />

• Update(): il me<strong>to</strong>do che viene invoca<strong>to</strong> ad ogni iterazione. Il <strong>su</strong>o comportamen<strong>to</strong><br />

<strong>di</strong> default, eventualmente mo<strong>di</strong>ficabile via override, prevede<br />

la chiamata <strong>di</strong> Update Writer() se lo SharedComponent assegna<strong>to</strong><br />

appartiene al contes<strong>to</strong> logico del Player. In caso contrario viene chiama<strong>to</strong><br />

Update Reader(). Infine, attraverso CheckDestroy(), viene verificata<br />

l’esistenza del componente logico all’interno del Data Layer:<br />

se ques<strong>to</strong> non è più presente, allora verrà <strong>di</strong>strut<strong>to</strong> l’elemen<strong>to</strong> grafico<br />

corrispondente (e <strong>di</strong> conseguenza anche il relativo ComponentScript)<br />

Ad esempio, il ComponentScript relativo al componente <strong>di</strong> tipo Character<br />

(cioè la classe CharacterScript), all’interno del me<strong>to</strong>do Update Writer()<br />

eseguirà l’aggiornamen<strong>to</strong> perio<strong>di</strong>co delle coor<strong>di</strong>nate e della rotazione del personaggio<br />

controlla<strong>to</strong> dal Player, mentre nel me<strong>to</strong>do Update Reader() vi sarà<br />

implementata <strong>un</strong>a logica <strong>di</strong> Dead Reckoning (Figura 3.15).<br />

Figura 3.15: CharacterScript

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!