Démarrer un nouveau niveau
Lorsqu’on nouveau niveau est créer, quelques BP sont essentiels pour qu’il load correctement.
- Player Start: il peut être placer n’importe où, il faut juste qu’il existe pour faire spawner le BP_Theo.
- BP_Sophia: le BP de Sophia doit être dans le level, n’importe où.
- BP_CameraSpline: l’objet peut être placer n’importe où dans le level. Ce qui est important est le spline puisque ces points dictes à la Caméra où aller.
- Au minimum 1 BP_SegmentChange: ce BP sert de spawn point. On peut en avoir plusieurs dans le niveau pour créer des points de sauvegardes. Il faut mettre le BP_Camera en référence dans la variable Camera Spline.
BP_Theo
Le BP de Théo sert non seulement pour les inputs de Théo mais aussi les inputs de Sophia (ce que nous voulons changer au prochain sprint pour que les deux soient contrôler dans le BP_SpiritPlayerContoller). Outre y trouver les déplacements de Théo (qui sont dans la fonction Move_Theo), on y crontrôle aussi les inputs d’interactions. Les interactions ce font passé au Actor Component AC_TheoInteract qui contrôle tout ce volet. Finalement, dans le BP on retrouve aussi l’event CharactersFound. Cet event gère ce qui arrive lorsque l’un des personnages est pris dans un piège ou trouver par les chasseurs de fantômes. L’event call aussi la fonction RespawnCharacters qui s’occupe de reset le niveau.
BP_Sophia
Le BP de Sophia à la fonction MoveSophia qui est la même que MoveTheo. Elle est appeler à partir du script de BP_Theo. Sophia aussi a un Actor Component nommé ACSophiaInteract, très semblable à celui de Theo.
AC_TheoInteract
Ce Actor Component gère tout ce qui touche aux interactions de Theo dans l’environnement. il possède 3 fonctions:
- Allow Interaction: cette fonction est appeler lorsque Theo overlap un acteur de type BP_Interactable dans l’environnement. Elle vérifie si c’est un acteur avec lequel Theo a le droit d’intéragir (voir bool bObjectForTheo). Si oui, la fonction met a true la bool bTheoCanInteract pour donner au joueur la possibilité d’intéragir avec l’acteur. Un input indiquant la touche d’interaction apparait également.
- Interact: cette fonction vérifie si Théo peut interact avec l’objet et va appeler l’interface Start Theo Interaction Effect ou Stop Theo Interaction Effect selon l’état de l’intéraction du joueur (si le bouton est maintenu ou pas). Voir la section Objets intéractifs (BP_Interactable).
- Disable Interaction: cette fonction regarde si Theo sors de la zone d’intéraction de l’acteur. Si oui, il enlève la permission à Théo d’intéragir avec l’acteur.
ACSophiaInteract
Le Actor Component de Sophia fonctionne de la même manière que le Actor Compnent de Theo (voir AC_TheoInteract). Une fonction supplémentaire y est présente:
- InputForOpeningDoors: cette fonction (inactive pour la preuve technique) fait partie de notre prochaine phase d’intéraction de Sophia pour aller chercher un contrôle techno mimétique. Par exemple, cette fonction implique qu’un second input est nécessaire pour que Sophia puisse ouvrir la porte, l’ajoutant au premier input d’intéraction. Les joueurs devront alors maintenir le trigger droit ET faire un mouvement de joystick droit vers le haut pour ouvrir les portes.
Objets intéractifs (BP_Interactable)