85
ΑΝΑΠΤΥΞΗ 3D ΣΚΟΠΕΥΤΙΚΟΥ ΠΑΙΧΝΙΔΙΟΥ ΤΡΙΤΟΥ ΠΡΟΣΩΠΟΥ ΠΟΛΛΑΠΛΩΝ
ΠΑΙΚΤΩΝ ΤΥΠΟΥ ROGUELITE
Η συνάρτηση EnemyDeath() (Εικόνα 98) εκτελείται μόνο από τον host, όπου
καταστρέφεται το αντικείμενο του εχθρού με την συνάρτηση PhotonNetwork.Destroy() και με
παράμετρο το PhotonView του εχθρού.
Εικόνα 98 Θάνατος εχθρού
Το script EnemySpawner.cs έχει ως στόχο την δημιουργία των εχθρών. Η συνάρτηση
SpawnEnemy() (Εικόνα 99) καλείται από τα script των γύρων, για να δίνουν τις παραμέτρους του
είδους του εχθρού, της δυσκολίας, και της συμπεριφοράς τους εχθρού. Αρχικά υπολογίζεται η
τυχαία
τοποθεσία
του
εχθρού.
Μετά
δημιουργείται
με
την
συνάρτηση
PhotonNetwork.Instantiate(). Έπειτα θέτονται τα στατιστικά του εχθρού στέλνοντας ένα RPC προς
όλους τους παίκτες για να εκτελέσουν την συνάρτηση ScaleStats() με παράμετρο την δυσκολία.
Επίσης, με την χρήση του script EnemyAI.cs ορίζεται η συμπεριφορά του εχθρού. Τέλος στέλνεται
ένα event σε όλους τους παίκτες για την εμφάνιση των οπτικών εφέ όταν δημιουργείται ο εχθρός.
Εικόνα 99 Δημιουργία εχθρού