56
ΑΝΑΠΤΥΞΗ 3D ΣΚΟΠΕΥΤΙΚΟΥ ΠΑΙΧΝΙΔΙΟΥ ΤΡΙΤΟΥ ΠΡΟΣΩΠΟΥ ΠΟΛΛΑΠΛΩΝ
ΠΑΙΚΤΩΝ ΤΥΠΟΥ ROGUELITE
Πρώτα, για να είναι δυνατή η χρήση των συναρτήσεων και ανακλήσεων της Photon,
πρέπει η κλάση του κώδικα να κληρονομεί την κλάση MonoBehaviourPunCallbacks της Photon. Η
συνάρτηση PhotonNetwork.ConnectUsingSettings() συνδέεται στον διακομιστή της Photon με τις
προεπιλεγμένες
ρυθμίσεις
του
παιχνιδιού,
και
καλεί
αυτόματα
την
συνάρτηση
OnConnectedToMaster() στην επιτυχή σύνδεση. Για να προσαρμόσουμε τον κώδικα και να
προσθέσουμε τις δικές μας εντολές, κάνουμε override όποια συνάρτηση καλείται αυτόματα
(ανάκληση) από το πακέτο της Photon. Στην προκειμένη περίπτωση, κάνουμε override την
συνάρτηση OnConnectedToMaster(), ώστε όταν γίνεται η επιτυχής σύνδεση στον διακομιστή της
Photon, να αποθηκεύεται το όνομα του παίκτη, ή αν δεν υπάρχει, να δημιουργείται ένα τυχαίο
(Εικόνα 36). Πρέπει επίσης να εκτελεστεί η εντολή PhotonNetwork.AutomaticallySyncScene σε
true, ώστε οι παίκτες να φορτώσουν την ίδια σκηνή όταν αρχίσει το παιχνίδι. Στο τέλος καλούμε
την συνάρτηση PhotonNetwork.JoinLobby() για να αναθέσει τον παίκτη σε μια από τις αίθουσες
(lobby).
Εικόνα 36 Override της συνάρτησης OnConnectedToMaster()
Άμα δεν γίνει η επιτυχής σύνδεση στον διακομιστή της Photon μετά το χρονικό διάστημα
που έχει οριστεί, τότε εμφανίζουμε το μήνυμα της αποτυχίας σύνδεσης (Εικόνα 37).