Parrot utilise des sous-systèmes dans l'Unreal Engine. Les sous-systèmes fournissent des durées de vie gérées par le moteur et ajoutent des points d'extension pour les fonctions communes. Si vous avez utilisé le patron de conception singleton dans Unity, les sous-systèmes répondent à un besoin similaire. Les sous-systèmes sont directement liés aux portées suivantes dans le moteur :
Moteur
Éditeur
Instance de jeu
Monde
Joueur local
Lorsque ces portées entrent dans des états différents, il en va de même pour les sous-systèmes, qui peuvent réagir en conséquence.
L'utilisation de sous-systèmes est souvent justifiée par la nécessité d'exposer des fonctionnalités C++ communes aux blueprints et le fait que vous connaissez la durée de vie prévue.
Exemple : sous-système audio
Parrot utilise un sous-système audio pour les raisons suivantes :
Le sous-système est lié à la durée de vie de l'instance de jeu sans être sur l'instance de jeu elle-même.
Le sous-système est accessible en C++ et dans les blueprints.
Les paramètres sonores, comme le volume, peuvent être changés à tout moment depuis n'importe quel endroit du jeu.
La manipulation des paramètres audio par le biais d'un sous-système constitue un point d'accès centralisé pour le débogage.
Les paramètres audio peuvent être enregistrés à tout moment par n'importe quel système externe.
Pour voir ce fonctionnement en pratique, regardez UParrotAudioSubsystem. Le sous-système audio interagit le plus avec les systèmes d'IU, car c'est là que le son peut être manipulé par le joueur. Cependant, la flexibilité existe si l'audio doit être modifié ailleurs. Chaque fois que vous ajoutez un système à votre jeu, demandez-vous si un sous-système ne serait pas une bonne alternative.