background image

 

 

 

57

 

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

 

Εικόνα 37 Εμφάνιση μηνύματος timeout 

Είναι  σημαντικό  να  σημειωθεί  πως  ο  διακομιστής  που  επιλέγεται  εξαρτάται  από  την 

σύνδεση του παίκτη, οπότε επιλέγεται αυτόματα ο διακομιστής με την καλύτερη σύνδεση. Όμως 
ο  παίκτης  έχει  την  δυνατότητα  να  αλλάξει  διακομιστή,  εάν  το  επιθυμεί  (Εικόνα  38).  Το  Enum 
CloudRegionCode 

περιέχει 

τις 

τιμές 

που 

αποδέχεται 

η 

συνάρτηση 

PhotonNetwork.ConnectToRegion για να αναγνωρίσει τον διακομιστή που επέλεξε να συνδεθεί ο 
παίκτης.  Για  να  γίνει  η  εναλλαγή  του  διακομιστή,  πρώτα  αποσυνδεόμαστε  από  τον  διακομιστή 
της  Photon  με  την  συνάρτηση  PhotonNetwork.Disconnect(),  αποθηκεύουμε  την  επιλογή  του 
παίκτη  στην  μεταβλητή  regionSwitchCode  και  γίνεται  επανασύνδεση  στον  διακομιστή  δίνοντας 
την παράμετρο regionSwitchCode

 

 

Εικόνα 38 Εναλλαγή του διακομιστή 

4.1.2 Διαχείριση αίθουσας 

Όταν  ο  παίκτης  συνδεθεί  σε  μια  αίθουσα,  γίνεται  ανάκληση  της  συνάρτησης 

OnJoinedLobby(). Σε αυτό το σημείο ο παίκτης έχει την επιλογή να δημιουργήσει ή να συνδεθεί σε 
ένα  δωμάτιο.  Αρχικά,  άμα  ο  παίκτης  δημιουργήσει  ένα  δωμάτιο  πατώντας  το  κουμπί  “Host 
Room”  εμφανίζεται  η  εισαγωγή  των  στοιχείων  του  δωματίου  (Εικόνα  10)  και  με  την  επιλογή 
“Create  room”  εκτελείται  η  συνάρτηση  CreateRoom()  θέτοντας  το  δωμάτιο  ως  ανοιχτό  και