Skip to content

feat: Link the chat to the back sockets#25

Merged
Thomlam merged 1 commit intodevelopfrom
feature/chat
Oct 23, 2024
Merged

feat: Link the chat to the back sockets#25
Thomlam merged 1 commit intodevelopfrom
feature/chat

Conversation

@AyakorK
Copy link
Copy Markdown
Contributor

@AyakorK AyakorK commented Oct 23, 2024

Summary by CodeRabbit

  • Nouvelles fonctionnalités

    • Amélioration de la gestion des dialogues avec la possibilité de traiter et d'afficher plusieurs messages de manière séquentielle.
    • Introduction de nouveaux éléments graphiques dans les préfabriqués de dialogue, incluant des ajustements de mise en page.
  • Corrections de bugs

    • Ajustements des propriétés des éléments UI pour une meilleure présentation et interaction.
  • Documentation

    • Création de nouveaux fichiers de métadonnées pour les textures, garantissant une gestion optimale des ressources graphiques.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 23, 2024

Walkthrough

Les modifications apportées dans cette demande de tirage concernent principalement les fichiers de préfabriqués et de scripts liés à l'interface utilisateur. Les préfabriqués Dialogue_horizontal et Dialogue_vertical ont subi des ajustements significatifs dans leurs propriétés, y compris l'ajout et la suppression de champs, ainsi que des modifications de mise en page. De nouveaux fichiers de métadonnées ont été créés pour les textures Greed.png, Sloth.png et Vanity.png, spécifiant les paramètres d'importation. Le script DialogueManager a été mis à jour pour gérer plusieurs messages via une socket, introduisant de nouvelles structures et méthodes.

Changes

Fichier Résumé des changements
Assets/Prefabs/UI/DialogueBox/Dialogue_horizontal.prefab Suppression des champs godImage, actualDialogue, et actualTitle; ajout de godSprites. Modifications des propriétés de RectTransform.
Assets/Prefabs/UI/DialogueBox/Dialogue_vertical.prefab Changement de nom à Dialogue_vertical; mise à jour des propriétés m_margin et ajout de nouveaux champs, y compris godSprites.
Assets/Resources/UI_God/Greed.png.meta Création d'un nouveau fichier de métadonnées pour Greed.png avec des paramètres d'importation détaillés.
Assets/Resources/UI_God/Sloth.png.meta Création d'un nouveau fichier de métadonnées pour Sloth.png avec des paramètres d'importation détaillés.
Assets/Resources/UI_God/Vanity.png.meta Création d'un nouveau fichier de métadonnées pour Vanity.png avec des paramètres d'importation détaillés.
Assets/Scripts/UI/Dialogue/DialogueManager.cs Mise à jour du script DialogueManager avec des modifications majeures, ajout de nouvelles structures et méthodes pour gérer les messages.

Poem

Dans le monde des dialogues, oh quelle joie,
Les sprites dansent, les mots s'emploient.
De nouveaux champs, une mise en page,
Les dieux s'expriment, sans aucun rage.
Avec des textures brillantes, tout est parfait,
Un festin pour les yeux, un vrai ballet! 🐇✨


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.

Actionable comments posted: 7

🧹 Outside diff range and nitpick comments (5)
Assets/Resources/UI_God/Vanity.png.meta (1)

69-95: Considérer des paramètres spécifiques par plateforme

Les paramètres de compression sont identiques pour toutes les plateformes. Pour une meilleure optimisation :

  • Utilisez ETC2 pour Android
  • Utilisez ASTC pour iOS
  • Ajustez la compression selon la plateforme cible
Assets/Prefabs/UI/DialogueBox/Dialogue_vertical.prefab (1)

Line range hint 82-84: Attention au titre en dur

La valeur "Mort" est codée en dur dans actualTitle. Envisagez d'utiliser un système de localisation pour gérer les traductions.

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 possède à la fois une référence unique godSprite et un tableau godSprites. Cette dualité pourrait créer de la confusion dans le code qui gère les sprites.

Suggestion de refactorisation :

- public Sprite godSprite;
- public Sprite[] godSprites;
+ public Sprite[] godSprites;

Line range hint 988041547681181200-988041547681181200: Optimisation possible pour le composant Title

Le composant Title utilise des paramètres de texte complexes (gradient, kerning, etc.) qui pourraient impacter les performances si plusieurs dialogues sont affichés simultanément.

Suggestions d'optimisation :

  1. Désactiver les fonctionnalités non utilisées comme le gradient
  2. Utiliser le TextMeshPro Object Pooling pour les dialogues fréquents

Also applies to: 8587654400824450000-8587654400824450000


Line range hint 2078950221290865700-2078950221290865700: Revoir l'ancrage du Textbox

L'ancrage actuel (AnchorMin: {x: 0, y: 0}, AnchorMax: {x: 0, y: 0}) pourrait causer des problèmes de mise à l'échelle sur différentes résolutions d'écran.

Suggestion : Utiliser un ancrage qui s'adapte à la taille de l'écran :

- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 0, y: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 879659f and f2ca7f3.

⛔ Files ignored due to path filters (6)
  • Assets/Resources/UI_God/Death.png is excluded by !**/*.png
  • Assets/Resources/UI_God/Envy.png is excluded by !**/*.png
  • Assets/Resources/UI_God/Gluttony.png is excluded by !**/*.png
  • Assets/Resources/UI_God/Greed.png is excluded by !**/*.png
  • Assets/Resources/UI_God/Sloth.png is excluded by !**/*.png
  • Assets/Resources/UI_God/Vanity.png is excluded by !**/*.png
📒 Files selected for processing (6)
  • Assets/Prefabs/UI/DialogueBox/Dialogue_horizontal.prefab (1 hunks)
  • Assets/Prefabs/UI/DialogueBox/Dialogue_vertical.prefab (5 hunks)
  • Assets/Resources/UI_God/Greed.png.meta (1 hunks)
  • Assets/Resources/UI_God/Sloth.png.meta (1 hunks)
  • Assets/Resources/UI_God/Vanity.png.meta (1 hunks)
  • Assets/Scripts/UI/Dialogue/DialogueManager.cs (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • Assets/Resources/UI_God/Greed.png.meta
  • Assets/Resources/UI_God/Sloth.png.meta
🧰 Additional context used
🔇 Additional comments (4)
Assets/Resources/UI_God/Vanity.png.meta (1)

1-114: Configuration de base appropriée pour une texture d'interface utilisateur

Les paramètres de base sont bien configurés pour une utilisation en tant que sprite UI :

  • MipMaps désactivés
  • Texture non lisible
  • Mode sprite unique
  • Transparence activée
Assets/Prefabs/UI/DialogueBox/Dialogue_vertical.prefab (3)

267-277: Vérifiez la configuration du composant Image

Le nouveau composant MonoBehaviour avec le script fe87c0e1cc204ed48ad3b37840f39efc semble être un composant Image pour afficher le sprite du dieu. Assurez-vous que :

  • Le composant est correctement configuré pour l'affichage des sprites
  • Les paramètres de redimensionnement sont appropriés

Line range hint 75-118: Vérifiez l'ordre et la cohérence des sprites des dieux

L'ajout du tableau godSprites avec 7 entrées semble correspondre aux différents dieux du jeu. Cependant :

  • Assurez-vous que l'ordre des sprites correspond à l'ordre attendu dans le code
  • Vérifiez que tous les sprites référencés existent bien dans le projet
#!/bin/bash
# Description: Vérifier l'existence des sprites référencés
for guid in "977ca8f4471cd4f84bc0276c1506f657" "cd8010b4a55649e47acb2c3b78319df6" "158a5e6ba97426c4ca5423dc9e3c3922" "578a517c9ec12ee44aaa76f1147599e7" "7b277c8f02a337647888d46b236b7ab9" "b52240867e1f249d6966bc5f94d00c6c" "0c50372d938694373bd29226386338be"; do
    fd -g "*$guid*" 
done

Line range hint 29-42: Vérifiez la cohérence du changement de nom

Le changement de nom de "Dialogue Variant" à "Dialogue_vertical" est logique, mais assurez-vous que toutes les références à ce prefab dans les scripts sont mises à jour en conséquence.

✅ Verification successful

Let's try another search strategy to find any references to the dialogue prefab:


Let's try one final search strategy focusing on Unity-specific prefab instantiation patterns:


Let's examine the specific dialogue-related code in these files:


Le changement de nom du prefab est sécurisé

L'analyse du code source montre que la référence au dialogue est gérée via le tag "Dialogue" dans Unity (GameObject.FindGameObjectWithTag("Dialogue")), et non pas par le nom du prefab. Le changement de nom de "Dialogue Variant" à "Dialogue_vertical" n'aura donc pas d'impact sur le fonctionnement du code.

Points clés vérifiés :

  • Le DialogueManager.cs utilise uniquement le tag "Dialogue" pour trouver le canvas
  • Aucune référence directe à "Dialogue Variant" n'a été trouvée dans le code
  • La seule autre référence au dialogue dans GameData.cs concerne un index de dialogue du forgeron, qui n'est pas lié au prefab

Le renommage est donc sûr et n'exige pas de modifications supplémentaires dans le code.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Rechercher les références à l'ancien nom du prefab
rg -l "Dialogue Variant" --type cs

Length of output: 2127


Script:

#!/bin/bash
# Search for references to dialogue-related terms in C# files
rg -i "dialogue.*variant|dialogue.*vertical" --type cs -l

# Also search for potential prefab loading code
rg -i "LoadAssetAtPath.*Dialogue|Resources\.Load.*Dialogue" --type cs -l

Length of output: 134


Script:

#!/bin/bash
# Search for Instantiate calls and prefab references
rg -i "Instantiate.*Dialogue|GetComponent.*Dialogue" --type cs -l

# Search for SerializeField or public fields related to dialogue
rg -i "(\[SerializeField\]|public).*Dialogue" --type cs -l

Length of output: 201


Script:

#!/bin/bash
# Check the content of the identified files
echo "=== GameData.cs ==="
rg -i "dialogue" Assets/Scripts/GameData.cs -C 5

echo -e "\n=== DialogueManager.cs ==="
rg -i "dialogue" Assets/Scripts/UI/Dialogue/DialogueManager.cs -C 5

Length of output: 3973

cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Optimisation de la taille de texture recommandée

La taille maximale de 2048 pixels pourrait être excessive pour une icône d'interface utilisateur. Pour optimiser les performances et la mémoire, envisagez de réduire à 512 ou 1024 selon l'utilisation réelle.

-  maxTextureSize: 2048
+  maxTextureSize: 512
📝 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.

Suggested change
maxTextureSize: 2048
maxTextureSize: 512

actualDialogue: Guillaume T OU ?
dialogueTitle: {fileID: 0}
actualTitle:
godSprites: []
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Configuration manquante du tableau godSprites dans le prefab horizontal

D'après l'analyse du code, le tableau godSprites est utilisé dans DialogueManager.cs pour associer 7 sprites de dieux différents (Greed, Chaos, Gluttony, etc.). Bien que le prefab vertical soit correctement configuré avec les 7 sprites, le prefab horizontal a un tableau vide, ce qui causera des erreurs lors de l'accès aux indices de 0 à 6.

  • Configurez le tableau godSprites dans Dialogue_horizontal.prefab avec les mêmes 7 sprites que dans le prefab vertical
  • Assurez-vous que l'ordre des sprites correspond à : Greed, Chaos, Gluttony, Envy, Death, Vanity, Sloth
🔗 Analysis chain

Attention à l'initialisation du tableau godSprites

Le tableau godSprites est initialisé comme vide, ce qui pourrait causer des problèmes lors de l'exécution si le code tente d'accéder aux sprites sans vérification préalable.


Let me gather more information about the initialization and validation of the godSprites array.


Let me check one more thing about the horizontal prefab configuration:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Vérifier l'utilisation de godSprites dans le code
rg -A 3 "godSprites\[" 

Length of output: 1102


Script:

#!/bin/bash
# Check the DialogueManager class implementation for array validation
ast-grep --pattern 'class DialogueManager {
  $$$
  godSprites $$$
  $$$
}'

# Also check for any null checks or array length validations
rg "godSprites\." -A 3
rg "godSprites\.Length" -A 3

Length of output: 3779


Script:

#!/bin/bash
# Check the horizontal prefab configuration for godSprites array
rg "godSprites\.Array" Assets/Prefabs/UI/DialogueBox/Dialogue_horizontal.prefab -A 2

Length of output: 86

Comment on lines +75 to +76
JArray trapDataArray = JArray.Parse(response.ToString());
JObject messageData = (JObject)trapDataArray[0][0];
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Ajouter une vérification lors du parsing des données JSON

Lors de l'analyse du tableau JSON, il est prudent de vérifier que les éléments existent pour éviter des exceptions en cas de données inattendues ou malformées. Cela permettra de rendre votre code plus robuste face aux erreurs potentielles.

Ajoutez une vérification comme ceci :

if (trapDataArray.Count > 0 && trapDataArray[0].Count() > 0)
{
    JObject messageData = (JObject)trapDataArray[0][0];
    // Suite du code
}
else
{
    Debug.LogWarning("Les données reçues sont vides ou au format inattendu.");
}

Comment on lines +80 to +82
string godId = messageData["godID"].ToString();
string messageText = messageData["message"].ToString();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Vérifier l'existence des clés 'godID' et 'message' dans 'messageData'

Pour éviter des exceptions, assurez-vous que messageData contient bien les clés godID et message avant de les utiliser. Cela garantit que votre code ne plantera pas si les données reçues ne sont pas conformes.

Ajoutez une vérification comme :

if (messageData.ContainsKey("godID") && messageData.ContainsKey("message"))
{
    string godId = messageData["godID"].ToString();
    string messageText = messageData["message"].ToString();
    // Suite du code
}
else
{
    Debug.LogWarning("Les données du message ne contiennent pas 'godID' ou 'message'.");
}

Comment on lines +57 to +64
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"));

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Vérifier la taille de 'godSprites' avant d'y accéder

Pour éviter une exception IndexOutOfRangeException, assurez-vous que la liste godSprites contient au moins 7 éléments avant d'accéder aux indices 0 à 6. Sans cette vérification, votre code pourrait planter si la liste est trop courte.

Ajoutez une vérification comme :

if (godSprites.Count >= 7)
{
    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"));
}
else
{
    Debug.LogError("La liste godSprites ne contient pas assez d'éléments.");
}

🛠️ Refactor suggestion

Utiliser des constantes ou une énumération pour les IDs des dieux

L'utilisation de chaînes de caractères codées en dur pour les IDs des dieux peut entraîner des erreurs et rend le code moins maintenable. Il est préférable d'utiliser des constantes ou une enum pour représenter ces IDs.

Vous pouvez définir une enum pour les IDs des dieux :

public enum GodID
{
    Greed = 1,
    Chaos = 2,
    Gluttony = 3,
    Envy = 4,
    Death = 5,
    Vanity = 6,
    Sloth = 7
}

Et mettre à jour votre dictionnaire et le reste du code en conséquence :

private Dictionary<GodID, GodInfo> godPrefabDictionary = new Dictionary<GodID, GodInfo>();

// Initialisation
godPrefabDictionary.Add(GodID.Greed, new GodInfo(godSprites[0], "Greed"));
// ...

Cela améliore la lisibilité et la fiabilité de votre code.

Comment on lines +68 to +98
public void Update()
{
clientSocket.On("god:message", response =>
{
Debug.Log("Received message from God!");
Debug.Log(response.ToString());

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

Debug.Log($"Message data: {messageData}");

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

Debug.Log($"Received message from God {godId}: {messageText}");

// Check if the god ID exists in the dictionary
if (godPrefabDictionary.TryGetValue(godId, out GodInfo godInfo))
{
Debug.Log($"God with ID '{godId}' found in the dictionary.");
Debug.Log($"God name: {godInfo.godName}");
EnqueueMessage(godInfo.godSprite, messageText, godInfo.godName);
Debug.Log($"Message enqueued for God {godId}");
}
else
{
Debug.LogWarning($"God with ID '{godId}' not found in the dictionary.");
}
});
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Déplacer l'abonnement au socket hors de la méthode Update

L'abonnement à l'événement god:message est effectué dans la méthode Update, ce qui signifie qu'il est appelé à chaque frame. Cela entraîne l'ajout répété d'écouteurs, ce qui peut provoquer des comportements inattendus ou des fuites de mémoire. Il est recommandé de déplacer cet abonnement dans la méthode Start pour qu'il ne soit exécuté qu'une seule fois.

Appliquez ce correctif pour déplacer l'abonnement :

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

+    clientSocket.On("god:message", response =>
+    {
+        // Votre code actuel de l'abonnement ici
+    });

     // Le reste du code de la méthode Start
 }
-
-public void Update()
-{
-    // Retirez l'abonnement du socket ici
-}

Committable suggestion was skipped due to low confidence.

@Thomlam Thomlam merged commit b1605af into develop Oct 23, 2024
This was referenced Oct 24, 2024
Thomlam pushed a commit that referenced this pull request Oct 26, 2024
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>
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