65
ΑΝΑΠΤΥΞΗ 3D ΣΚΟΠΕΥΤΙΚΟΥ ΠΑΙΧΝΙΔΙΟΥ ΤΡΙΤΟΥ ΠΡΟΣΩΠΟΥ ΠΟΛΛΑΠΛΩΝ
ΠΑΙΚΤΩΝ ΤΥΠΟΥ ROGUELITE
4.2.1 Συγχρονισμός παικτών
Τα scripts υπεύθυνα για τον συγχρονισμό των παικτών είναι τα: PlayerManager.cs,
PlayerStats.cs, PlayerUI.cs, ThirdPersonController.cs και CameraScript.cs.
Στο script PlayerManager.cs όταν αρχίζει το παιχνίδι καλούμε την συνάρτηση Spawn() και
επιλέγουμε ένα τυχαίο σημείο και ένα τυχαίο μοντέλο, για να δημιουργήσουμε τον παίκτη με την
συνάρτηση PhotonNetwork.Instantiate(), όπου στην συνάρτηση αυτή εισάγουμε ως παράμετρο
το μοντέλο, την τοποθεσία, και την περιστροφή. Για την περιστροφή δίνουμε την τιμή
Quaternion.identity για να παραμείνει η πρωτότυπη περιστροφή του μοντέλου. Χρησιμοποιούμε
την PhotonNetwork.Instantiate της Photon, επειδή πρέπει το μοντέλο να ανήκει στον παίκτη που
μπήκε στο παιχνίδι, αλλά και επειδή το αντικείμενο του παίκτη περιέχει ένα PhotonView, άρα
είναι και δικτυωμένο αντικείμενο. Επίσης αποθηκεύουμε τα στατιστικά του παίκτη από ένα άλλο
script, το PlayerStats.cs, για τους επόμενους ελέγχους (Εικόνα 57).
Εικόνα 57 Δημιουργία παίκτη από το PlayerManager
Σε κάθε καρέ γίνεται ο έλεγχος για τους πόντους ζωής του παίκτη για να εντοπιστεί η
στιγμή που θα χάσει, για να εκτελεστεί η συνάρτηση Die(). Ταυτόχρονα γίνεται και ο έλεγχος για
την περίπτωση που ο παίκτης καταφέρει να κερδίσει, για να εκτελεστεί η συνάρτηση Victory()
(Εικόνα 58).
Εικόνα 58 Έλεγχος συνθηκών για την ήττα ή την νίκη του παίκτη