Skip to content

feat: Link chat to backend#26

Merged
Thomlam merged 3 commits intodevelopfrom
feature/chat
Oct 24, 2024
Merged

feat: Link chat to backend#26
Thomlam merged 3 commits intodevelopfrom
feature/chat

Conversation

@AyakorK
Copy link
Copy Markdown
Contributor

@AyakorK AyakorK commented Oct 24, 2024

Summary by CodeRabbit

  • Nouvelles Fonctionnalités

    • Ajout d'un système de dialogue dans la scène "EmptyRoom_2".
    • Introduction de nouveaux objets de jeu tels que Chrono et Global Light 2D.
  • Améliorations

    • Mise à jour des propriétés de la caméra principale et ajout d'un AudioListener.
    • Reconfiguration du bouton "Pause" pour une meilleure interaction utilisateur.
    • Amélioration de la robustesse du gestionnaire de dialogue avec des vérifications supplémentaires.
  • Corrections de Bugs

    • Simplification du processus de gestion des messages dans le système de dialogue.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 24, 2024

Walkthrough

Les modifications apportées dans cette demande de tirage incluent des ajustements importants à plusieurs fichiers, notamment un prefab de boîte de dialogue, une scène et un script de gestion de dialogue. Le prefab Dialogue_vertical.prefab a subi des changements de propriétés et des ajouts, y compris des références à de nouvelles images. La scène EmptyRoom_2.unity a été restructurée avec l'ajout de nouveaux objets de jeu et des modifications aux objets existants. Enfin, le script DialogueManager.cs a été amélioré pour optimiser la gestion des dialogues et la gestion des erreurs.

Changes

Fichier Résumé des changements
Assets/Prefabs/UI/DialogueBox/Dialogue_vertical.prefab Changement du nom du prefab de "Dialogue Variant" à "Dialogue_vertical". Modifications des propriétés m_margin et ajout de nouvelles propriétés, y compris m_PresetInfoIsWorld, godImage et godSprites.Array avec des références de fichier.
Assets/Scenes/EmptyRoom_2.unity Ajout de nouveaux objets de jeu tels que DialogueSystem, Chrono, et Global Light 2D. Modifications significatives au Main Camera et ajustements des propriétés de transformation pour plusieurs objets. Réorganisation de la logique UI.
Assets/Scripts/UI/Dialogue/DialogueManager.cs Amélioration de la classe DialogueManager avec des modifications pour la gestion des messages, suppression de logs de débogage, et amélioration de la robustesse des méthodes de gestion de dialogue. Aucune modification des entités exportées.

Possibly related PRs

  • feat: Link the chat to the back sockets #25: Les modifications dans Dialogue_horizontal.prefab impliquent des ajustements aux propriétés liées à godImage et godSprites, qui sont également présentes dans les changements de Dialogue_vertical.prefab, indiquant une connexion directe dans le système de gestion des dialogues UI.

🐇 Dans le jardin, je saute et je danse,
Les dialogues s'éveillent, quelle chance !
Avec des images de dieux à foison,
Les histoires s'envolent, quelle saison !
Dans la scène, tout prend vie,
Un monde de magie, oh, quelle folie ! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments.

Actionable comments posted: 4

🧹 Outside diff range and nitpick comments (4)
Assets/Prefabs/UI/DialogueBox/Dialogue_horizontal.prefab (3)

Line range hint 4732960806648775000-4732960806648775000: Vérifier la cohérence des références de sprites

Le composant conserve une référence unique godSprite tout en introduisant un tableau godSprites. Cette dualité pourrait créer de la confusion dans la gestion des sprites.

Suggestion de refactorisation :

- godSprite: {fileID: 21300000, guid: 7b277c8f02a337647888d46b236b7ab9, type: 3}
- godSprites: []
+ godSprites:
+   - {fileID: 21300000, guid: 7b277c8f02a337647888d46b236b7ab9, type: 3}

Line range hint 8920627111555526000-8920627111555526000: Optimiser l'échelle du dialogue

L'échelle du dialogue (x: 3, y: 3, z: 1) semble excessive et pourrait affecter les performances de rendu UI.

Suggestion : Ajuster la taille des éléments enfants plutôt que d'utiliser une échelle importante sur le parent.


Line range hint 228628327914723140-228628327914723140: Améliorer la configuration du TextMeshPro

Le composant TextMeshPro utilise une taille de police très petite (0.09) qui pourrait affecter la lisibilité. De plus, l'espacement des caractères (10) semble excessif.

Suggestions :

  • Augmenter la taille de la police
  • Réduire l'espacement des caractères
  • Activer l'auto-sizing pour une meilleure adaptabilité
Assets/Scenes/EmptyRoom_2.unity (1)

847-848: Valeurs de 'm_LocalScale' pour 'DialogueSystem'

Le m_LocalScale de DialogueSystem est défini à {x: 2, y: 2, z: 1}. Assurez-vous que cette échelle est intentionnelle pour obtenir le rendu souhaité dans la scène.

🛑 Comments failed to post (4)
Assets/Resources/UI_God/Vanity.png.meta (1)

7-17: 🛠️ Refactor suggestion

Optimisation des paramètres de mipmaps pour l'interface utilisateur

Les mipmaps sont désactivées, ce qui est approprié pour une texture d'interface utilisateur. Cependant, il serait préférable d'ajuster certains paramètres pour optimiser les performances.

Appliquez ces modifications pour optimiser la texture :

  mipmaps:
    mipMapMode: 0
    enableMipMap: 0
    sRGBTexture: 1
    linearTexture: 0
-   fadeOut: 0
-   borderMipMap: 0
-   mipMapsPreserveCoverage: 0
-   alphaTestReferenceValue: 0.5
-   mipMapFadeDistanceStart: 1
-   mipMapFadeDistanceEnd: 3

Ces paramètres sont inutiles lorsque les mipmaps sont désactivées.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

  mipmaps:
    mipMapMode: 0
    enableMipMap: 0
    sRGBTexture: 1
    linearTexture: 0
Assets/Prefabs/UI/DialogueBox/Dialogue_horizontal.prefab (1)

161-161: 💡 Codebase verification

Attention : Le tableau godSprites vide nécessite une configuration

D'après l'analyse du code, le tableau godSprites est utilisé de manière critique dans DialogueManager.cs pour initialiser le dictionnaire godPrefabDictionary avec 7 sprites différents (de Greed à Sloth). Le préfab vertical contient déjà ces 7 sprites, mais le préfab horizontal les a tous supprimés.

Points à corriger :

  • Le préfab horizontal doit avoir les 7 sprites configurés comme dans le préfab vertical
  • Les références manquantes causeront une erreur lors de l'initialisation du godPrefabDictionary
🔗 Analysis chain

Attention à l'initialisation du tableau godSprites

Le tableau godSprites est initialisé vide, ce qui pourrait causer des problèmes si le code tente d'accéder aux sprites avant leur chargement.


Let me try a different approach to verify the usage of godSprites in the codebase.

The above commands will help us:

  1. Find any references to godSprites in the codebase with context
  2. Locate the DialogueSystem script file to analyze its implementation

This will give us better insight into how godSprites is being used and whether an empty initialization could cause issues.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Vérifier l'utilisation de godSprites dans le code
ast-grep --pattern 'godSprites[$_]'

Length of output: 186


Script:

#!/bin/bash
# Search for files containing godSprites
rg -i "godSprites" -A 3 -B 3

# Search for DialogueSystem script files
fd "DialogueSystem" --type f

Length of output: 7142

Assets/Scripts/UI/Dialogue/DialogueManager.cs (2)

74-88: ⚠️ Potential issue

Ajouter une gestion des exceptions lors du parsing de la réponse JSON

Le code suppose que la réponse du socket est toujours dans le format JSON attendu. Si la réponse est mal formée ou diffère du format attendu, cela peut provoquer des exceptions non gérées. Il serait préférable d'ajouter une gestion des exceptions pour améliorer la robustesse.

Vous pouvez entourer le parsing JSON avec un bloc try-catch :

try
{
    JArray trapDataArray = JArray.Parse(response.ToString());
    JObject messageData = (JObject)trapDataArray[0][0];

    string godId = messageData["godID"].ToString();
    string messageText = messageData["message"].ToString();

    if (godPrefabDictionary.TryGetValue(godId, out GodInfo godInfo))
    {
        EnqueueMessage(godInfo.godSprite, messageText, godInfo.godName);
    }
    else
    {
        Debug.LogWarning($"God with ID '{godId}' not found in the dictionary.");
    }
}
catch (Exception ex)
{
    Debug.LogError($"Erreur lors du traitement du message : {ex.Message}");
}

68-88: ⚠️ Potential issue

Déplacer l'abonnement clientSocket.On depuis Update vers Start pour éviter les abonnements répétés

L'abonnement à l'événement clientSocket.On("god:message", ...) est actuellement dans la méthode Update, ce qui signifie qu'il est appelé à chaque frame. Ceci peut entraîner des abonnements multiples au même événement et causer des comportements inattendus ou des problèmes de performance. Il est recommandé de déplacer cet abonnement vers la méthode Start afin qu'il ne soit effectué qu'une seule fois.

Appliquez ce correctif pour déplacer l'abonnement :

 void Start()
 {
     dialogueCanvas = GameObject.FindGameObjectWithTag("Dialogue");
     clientSocket = SocketManager.Instance.ClientSocket;

     godPrefabDictionary.Add("1", new GodInfo(godSprites[0], "Greed"));
     godPrefabDictionary.Add("2", new GodInfo(godSprites[1], "Chaos"));
     godPrefabDictionary.Add("3", new GodInfo(godSprites[2], "Gluttony"));
     godPrefabDictionary.Add("4", new GodInfo(godSprites[3], "Envy"));
     godPrefabDictionary.Add("5", new GodInfo(godSprites[4], "Death"));
     godPrefabDictionary.Add("6", new GodInfo(godSprites[5], "Vanity"));
     godPrefabDictionary.Add("7", new GodInfo(godSprites[6], "Sloth"));

     StartCoroutine(ProcessMessageQueue());

+    clientSocket.On("god:message", response =>
+    {
+        Debug.Log(response.ToString());
+
+        JArray trapDataArray = JArray.Parse(response.ToString());
+        JObject messageData = (JObject)trapDataArray[0][0];
+
+        string godId = messageData["godID"].ToString();
+        string messageText = messageData["message"].ToString();
+
+        if (godPrefabDictionary.TryGetValue(godId, out GodInfo godInfo))
+        {
+            EnqueueMessage(godInfo.godSprite, messageText, godInfo.godName);
+        }
+        else
+        {
+            Debug.LogWarning($"God with ID '{godId}' not found in the dictionary.");
+        }
+    });
 }

-public void Update()
-{
-    clientSocket.On("god:message", response =>
-    {
-        Debug.Log(response.ToString());
-
-        JArray trapDataArray = JArray.Parse(response.ToString());
-        JObject messageData = (JObject)trapDataArray[0][0];
-
-        string godId = messageData["godID"].ToString();
-        string messageText = messageData["message"].ToString();
-
-        if (godPrefabDictionary.TryGetValue(godId, out GodInfo godInfo))
-        {
-            EnqueueMessage(godInfo.godSprite, messageText, godInfo.godName);
-        }
-        else
-        {
-            Debug.LogWarning($"God with ID '{godId}' not found in the dictionary.");
-        }
-    });
-}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

        void Start()
        {
            dialogueCanvas = GameObject.FindGameObjectWithTag("Dialogue");
            clientSocket = SocketManager.Instance.ClientSocket;

            godPrefabDictionary.Add("1", new GodInfo(godSprites[0], "Greed"));
            godPrefabDictionary.Add("2", new GodInfo(godSprites[1], "Chaos"));
            godPrefabDictionary.Add("3", new GodInfo(godSprites[2], "Gluttony"));
            godPrefabDictionary.Add("4", new GodInfo(godSprites[3], "Envy"));
            godPrefabDictionary.Add("5", new GodInfo(godSprites[4], "Death"));
            godPrefabDictionary.Add("6", new GodInfo(godSprites[5], "Vanity"));
            godPrefabDictionary.Add("7", new GodInfo(godSprites[6], "Sloth"));

            StartCoroutine(ProcessMessageQueue());

            clientSocket.On("god:message", response =>
            {
                Debug.Log(response.ToString());

                JArray trapDataArray = JArray.Parse(response.ToString());
                JObject messageData = (JObject)trapDataArray[0][0];

                string godId = messageData["godID"].ToString();
                string messageText = messageData["message"].ToString();

                if (godPrefabDictionary.TryGetValue(godId, out GodInfo godInfo))
                {
                    EnqueueMessage(godInfo.godSprite, messageText, godInfo.godName);
                }
                else
                {
                    Debug.LogWarning($"God with ID '{godId}' not found in the dictionary.");
                }
            });
        }

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
Assets/Scripts/UI/Dialogue/DialogueManager.cs (3)

Line range hint 96-114: Suggestion d'amélioration pour la configuration du délai

Le délai de 20 secondes est codé en dur dans la méthode. Il serait préférable de le définir comme une variable configurable au niveau de la classe pour plus de flexibilité.

Voici la modification suggérée :

+ [SerializeField]
+ private float messageDisplayDuration = 20f;

private IEnumerator ProcessMessageQueue()
{
    while (true)
    {
        if (messageQueue.Count > 0 && !isDisplayingMessage)
        {
            GodMessage nextMessage = messageQueue.Dequeue();
            DisplayDialogue(nextMessage.godSprite, nextMessage.dialogue, nextMessage.title);
            isDisplayingMessage = true;
-           yield return new WaitForSeconds(20f);
+           yield return new WaitForSeconds(messageDisplayDuration);
            isDisplayingMessage = false;
        }
        yield return null;
    }
}

Line range hint 118-139: Amélioration de la cohérence et de la validation

La méthode nécessite quelques ajustements pour améliorer sa robustesse et sa cohérence :

  1. Utiliser la même variable configurable pour le délai
  2. Ajouter des validations supplémentaires pour les paramètres

Voici les modifications suggérées :

public void DisplayDialogue(Sprite newGodSprite, string newDialogue, string newTitle)
{
+   if (dialogueText == null || dialogueTitle == null)
+   {
+       Debug.LogError("Les composants de dialogue ne sont pas correctement initialisés");
+       return;
+   }

    if (dialogueCanvas != null)
    {
        dialogueCanvas.SetActive(true);
    }

    if (newGodSprite != null)
    {
        godImage.sprite = newGodSprite;
    }

    dialogueText.text = !string.IsNullOrEmpty(newDialogue) ? newDialogue : "";
    dialogueTitle.text = !string.IsNullOrEmpty(newTitle) ? newTitle : "";

    if (hideCanvasCoroutine != null)
    {
        StopCoroutine(hideCanvasCoroutine);
    }

-   hideCanvasCoroutine = StartCoroutine(HideCanvasAfterDelay(20f));
+   hideCanvasCoroutine = StartCoroutine(HideCanvasAfterDelay(messageDisplayDuration));
}

147-149: Validation de la logique avec suggestion d'amélioration

La vérification de la file d'attente vide avant de masquer le canvas est une excellente amélioration. Pour faciliter le débogage, nous pourrions ajouter des logs.

Voici la suggestion d'amélioration :

if (dialogueCanvas != null && messageQueue.Count == 0)
{
+   Debug.Log("Masquage du canvas de dialogue - File d'attente vide");
    dialogueCanvas.SetActive(false);
}
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 9879331 and e0c89c4.

📒 Files selected for processing (2)
  • Assets/Scenes/EmptyRoom_2.unity (3 hunks)
  • Assets/Scripts/UI/Dialogue/DialogueManager.cs (3 hunks)
🔇 Additional comments (6)
Assets/Scenes/EmptyRoom_2.unity (6)

131-236: Vérifier la configuration de la 'Main Camera'.

La 'Main Camera' a été modifiée avec des paramètres tels que la position, la rotation, le champ de vision et les plans de clipping. Veuillez confirmer que ces réglages correspondent aux besoins du projet et qu'ils n'affectent pas négativement l'affichage du jeu.


241-271: Assurer la configuration correcte du 'Global Light 2D'.

Le GameObject 'Global Light 2D' a été ajouté à la scène. Assurez-vous que ses paramètres d'éclairage sont appropriés pour la scène et qu'ils n'entraînent pas de problèmes de performance ou d'éclairage inattendus.


272-405: Confirmer les modifications du GameObject 'Stage'.

Le GameObject 'Stage' a subi des modifications, notamment dans ses propriétés 'RectTransform'. Veuillez vérifier que les changements apportés à sa position, ses ancrages et sa taille correspondent à la mise en page souhaitée de l'interface utilisateur.


406-451: Vérifier le positionnement et la fonctionnalité du 'Chrono'.

Le GameObject 'Chrono' a été ajouté. Assurez-vous que son placement dans l'interface utilisateur est correct et que sa fonctionnalité est conforme aux exigences du jeu.


780-837: Vérifier les références du 'DialogueSystem'.

Le GameObject 'DialogueSystem' a été ajouté avec des références à godImage, dialogueText, dialogueTitle et une liste de godSprites. Assurez-vous que toutes ces références sont correctement assignées et que les assets correspondants existent dans le projet.


576-678: Vérifier les événements de clic du bouton 'Pause'.

Les événements de clic du bouton 'Pause' sont configurés pour appeler les méthodes Resume et LoadMainMenu du script PauseMenu. Veuillez confirmer que ces méthodes existent et fonctionnent comme prévu.

Pour automatiser cette vérification, vous pouvez exécuter le script suivant :

✅ Verification successful

Let me try a different approach to search for these methods in the codebase.

This will help us locate the PauseMenu class and verify the existence and implementation of these methods.


Les méthodes du menu pause sont correctement implémentées

Les résultats de la vérification montrent que :

  • Les méthodes Resume() et LoadMainMenu() sont bien présentes dans le fichier Assets/Scripts/UI/PauseMenu.cs
  • La méthode Resume() gère correctement la pause en désactivant le menu et en reprenant le temps de jeu
  • La méthode LoadMainMenu() fonctionne comme prévu en reprenant le jeu et en chargeant la scène du menu principal
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Vérifie l'existence des méthodes 'Resume' et 'LoadMainMenu' dans la classe 'PauseMenu'

# Recherche de la classe 'PauseMenu' avec les méthodes concernées
ast-grep --pattern $'class PauseMenu {
  $$$
  public void Resume() {
    $$$
  }
  public void LoadMainMenu() {
    $$$
  }
  $$$
}'

Length of output: 134


Script:

#!/bin/bash
# Rechercher les fichiers contenant "PauseMenu"
echo "=== Recherche des fichiers contenant PauseMenu ==="
rg -l "PauseMenu"

echo -e "\n=== Recherche des méthodes Resume et LoadMainMenu ==="
rg "void (Resume|LoadMainMenu)" -A 5

Length of output: 1441

@AyakorK AyakorK requested review from Thomlam and removed request for Thomlam October 24, 2024 07:51
@Thomlam Thomlam merged commit 2399cc8 into develop Oct 24, 2024
@coderabbitai coderabbitai Bot mentioned this pull request Oct 25, 2024
Thomlam pushed a commit that referenced this pull request Oct 26, 2024
* feat: Link the chat to the back sockets

* fix: Move the dialogue script outside the canvas to avoid it to be disabled while the canvas is going to be disabled
AyakorK added a commit that referenced this pull request Oct 27, 2024
* Chore/shadering map (#24)

* technical : add shadering and post-traitement system, adapt asset and sprite for using this

* feat: update Room2

* feat: Link the chat to the back sockets (#25)

* feat: Link chat to backend (#26)

* feat: Link the chat to the back sockets

* fix: Move the dialogue script outside the canvas to avoid it to be disabled while the canvas is going to be disabled

* fix: remove dual camera

* fix: fix crossbow system (#27)

* fix: add request to back (room name)

* fix: Revert trap manager

* hotfix: Fix things that weren't working

* feat: RPS (#29)

* feat : add multiple option and itemscollider for RockPaperCissor

* feat: Link Rock Paper Scissors to backend socket

* feat: Link RockPaperScissors, but display missing

---------

Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com>

* hotfix: Change RPS size to match the screen

* fix: fix Crossbow up sprite and arrow system, change color pixel dead font

* chore: change EmptyRoom2

* feat: add death system (#30)

* feat: add death system

* chore: add socket emiter for end game

* fix: fix heart generator if develop don't have socket

* fix: remove crossbow

* feature: add audio system and fix crossbow with sound (#32)

Co-authored-by: Guillaume MORET <90462045+AyakorK@users.noreply.github.com>

* chore: Fix env for windows (#31)

* feat: add death system

* chore: add socket emiter for end game

* fix: fix heart generator if develop don't have socket

* fix: remove crossbow

* chore: try to fix .env for Windows and Unity

* fix: Quick Fix in production

* fix: QuickFx PlayerHealth fail merge

* Fix: fix Room

* feat: Adapt Waiting Room (#33)

* feat: Instantiate waiting room when arriving in the corridor 0

* fix: Add a flag to change message one time and avoid repetition of it

* feat: Add the creation of the room when instanciating the WaitingRoom process

* feat: Try to remove the Door collider before game has started

* fix: fix lock and door system, add waiting room, last fix for dialogue system for pity

---------

Co-authored-by: Thomlam <lamiablethomas@gmail.com>

* fix: rename bear_trap to prefab

* fix: quick fix prefab room for crossbow

* fix: quickfix for bear_trap

* feat: Add room deletion when disconnection from a game

* Wip/streaming back (#35)

* feat: add streaming system with recording and sending frame jpeg

* feat: add config

* feat: first try to add socketIOSystem

* feat: Add the right socket

* feature : deploy for 60fps

---------

Co-authored-by: AyakorK <guillaume.moret@yahoo.com>

* hotfix: Get rid of a Debug

* fix: fix arrows component and stade 24 fps to streaming

* fix: Global rendering fixes (#36)

* fix: Update corridor displays + additions of colliders to avoid glitching

* fix: Add a door transition lock

* feat: Add collision to the walls in the room

* fix: Fix collisions of the hole

* fix: Fix glitched hitboxes

* fix: Destory arrows when going to an other room

---------

Co-authored-by: Guillaume MORET <90462045+AyakorK@users.noreply.github.com>
Co-authored-by: AyakorK <guillaume.moret@yahoo.com>
@AyakorK AyakorK deleted the feature/chat branch October 28, 2024 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants