Démarrer un nouveau niveau

Lorsqu’on nouveau niveau est créer, quelques BP sont essentiels pour qu’il load correctement.

  1. Player Start: il peut être placer n’importe où, il faut juste qu’il existe pour faire spawner le BP_Theo.
  2. BP_Sophia: le BP de Sophia doit être dans le level, n’importe où.
  3. 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.
  4. 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:

  1. 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.
  2. 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).
  3. 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:

Objets intéractifs (BP_Interactable)