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() θέτοντας το δωμάτιο ως ανοιχτό και