background image

 

 

 

68

 

ΑΝΑΠΤΥΞΗ  3D ΣΚΟΠΕΥΤΙΚΟΥ  ΠΑΙΧΝΙΔΙΟΥ  ΤΡΙΤΟΥ  ΠΡΟΣΩΠΟΥ  ΠΟΛΛΑΠΛΩΝ 
ΠΑΙΚΤΩΝ  ΤΥΠΟΥ  ROGUELITE 

 

Εικόνα 63 Αναφορά στο PhotonView του παίκτη 

 

Το  OnPhotonSerializeView()  είναι  μια  συνάρτηση  της  Photon,  για  την συνεχή  ενημέρωση 

μεταβλητών  μέσω  του  δικτύου.  Σε  αυτήν  την  περίπτωση  η συνάρτηση  χρησιμοποιείται  ώστε  ο 
ένας  παίκτης  να  ενημερώνει  τους  υπόλοιπους  για  την  τιμή  που  έχει  στους  πόντους  ζωής.  Η 
συνθήκη  “if (stream.IsWriting)”  ισχύει  πάντα  για  το  άτομο  στο  οποίο  ανήκει  το  μοντέλο  με  το 
script, και έτσι στέλνει τις τιμές που πρέπει να ενημερωθούν με την συνάρτηση SendNext(). Για τα 
άλλα  άτομα  στα  οποία  δεν  ανήκει  αυτό  το  μοντέλο  με  το  script,  το  “if  (stream.IsWriting)”  δεν 
ισχύει ποτέ, οπότε λαμβάνουν τις τιμές με την συνάρτηση ReceiveNext() (Εικόνα 64). 
 

 

Εικόνα 64 Ανανέωση πόντων ζωής σε όλους τους παίκτες 

 

Για  την  σωστή  λειτουργία  της  συνάρτησης  OnPhotonSerializeView(),  πρέπει  η  κλάση  να 

κληρονομεί από την κλάση IPunObservable (Εικόνα 65), και το script να βρίσκεται στα “Observed 
Components” του PhotonView  (Εικόνα 66). 
 

 

Εικόνα 65 Κληρονομία κλάσης PlayerStats