2. Runtime Update
3. Rendering Phase
4. Shutdown / Cleanup
Κατά τη φάση ενημέρωσης (update), καλούνται διαδοχικά τα ενεργά συστήματα. Κατά τη
φάση απόδοσης, το RenderSystem συλλέγει τα απαραίτητα components και ενεργοποιεί το
rendering pipeline.
4.7
Σύστημα Components
Στην αρχιτεκτονική Entity–Component–System (ECS), τα Components αποτελούν το βα-
σικό δομικό στοιχείο περιγραφής των ιδιοτήτων μιας οντότητας. Όπως έχει ήδη αναφερθεί,
τα components αποτελούν απλές δομές δεδομένων, χωρίς να ενσωματώνουν λειτουργικότητα.
Στην παρούσα ενότητα παρουσιάζονται τα components που υλοποιήθηκαν στο πλαίσιο της συ-
γκεκριμένης εργασίας.
Το πλήθος των components που διαθέτουν οι εμπορικές μηχανές παιχνιδιών είναι σαφώς
μεγαλύτερο από εκείνο που παρουσιάζεται εδώ. Ωστόσο, στόχος της εργασίας είναι, αφενός, η
κάλυψη των βασικών και θεμελιωδών στοιχείων και, αφετέρου, η διαμόρφωση της απαραίτητης
αρχιτεκτονικής βάσης. Η λογική που ακολουθείται για την προσθήκη επιπλέον components
παραμένει η ίδια και μπορεί να επεκταθεί με συνέπεια, ακολουθώντας τα ήδη καθορισμένα
πρότυπα σχεδιασμού.
4.7.1
Transform Component
Το Transform Component αποτελεί το βασικότερο component της μηχανής, καθώς περιγρά-
φει τη γεωμετρική κατάσταση μιας οντότητας στον χώρο. Συγκεκριμένα, καθορίζει τη θέση, τον
προσανατολισμό και την κλίμακα ενός αντικειμένου, επιτρέποντας τον υπολογισμό του τελικού
μετασχηματισμού που χρησιμοποιείται στο rendering pipeline.
Στο πλαίσιο της αρχιτεκτονικής ECS, το Transform υλοποιείται ως καθαρή δομή δεδομένων,
χωρίς επιχειρησιακή λογική, διατηρώντας τον διαχωρισμό μεταξύ δεδομένων και συστημάτων
επεξεργασίας. Στην ενότητα 3.5.3. Μετάβαση στην Αρχιτεκτονική Entity–Component–System
(ECS) έχει δωθεί ώς παράδειγμα η κλάση Transform_Component.
4.7.2
SpriteRenderer Component
Το SpriteRenderer Component είναι υπεύθυνο για την οπτική αναπαράσταση δισδιάστατων
οντοτήτων στη σκηνή. Αποτελεί το βασικό component γραφικής απόδοσης για 2D εφαρμογές
και λειτουργεί σε συνδυασμό με το Transform Component και το RenderSystem.
37