-
Notifications
You must be signed in to change notification settings - Fork 1
feat: Level move #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed
|
Caution Review failedThe pull request is closed. WalkthroughCette mise à jour comprend plusieurs modifications dans un projet Unity, notamment l'ajout d'un fichier Changes
Sequence Diagram(s)sequenceDiagram
participant Player
participant RoomManager
participant NewRoom
Player->>RoomManager: Entrée dans le déclencheur
RoomManager->>RoomManager: Identifier la salle actuelle
RoomManager->>RoomManager: DeleteCurrentRoom()
RoomManager->>NewRoom: Instancier une nouvelle salle
RoomManager->>Player: PlacePlayerInNewRoom()
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 12
🧹 Outside diff range and nitpick comments (5)
ProjectSettings/TagManager.asset (1)
10-10: Ajout du tag "Map" approuvé.L'ajout du nouveau tag "Map" est cohérent et ne présente pas de conflits avec les tags existants.
Il serait utile d'ajouter une brève documentation expliquant l'utilisation prévue de ce nouveau tag "Map" dans le projet, peut-être dans un fichier README ou dans les commentaires du code où il sera utilisé.
Assets/Scripts/PlayerController.cs (1)
32-33: Amélioration de la configuration, mais gestion d'erreur à renforcer.L'utilisation de
env.TryParseEnvironmentVariablepour récupérer l'URL du socket est une bonne amélioration en termes de configurabilité. Cependant, il serait judicieux d'ajouter une gestion d'erreur si la variable d'environnement n'est pas définie.Voici une suggestion pour améliorer la gestion d'erreur :
if (env.TryParseEnvironmentVariable("SOCKET_URL", out string socketUrl)) { var uri = new Uri(socketUrl); clientSocket = new SocketIOUnity(uri); } else { Debug.LogError("La variable d'environnement SOCKET_URL n'est pas définie."); // Gérer l'erreur de manière appropriée }Assets/Scripts/Map Control/DoorSystem.cs (1)
46-50: Supprimez le code commenté inutile pour améliorer la lisibilitéLes lignes 46 à 50 contiennent du code commenté qui n'est plus nécessaire. Le maintien de code obsolète peut rendre le script confus et moins lisible. Il est recommandé de supprimer ces lignes pour garder le code propre.
Appliquez ce diff pour nettoyer le code :
- //GameObject spawnPointObject = GameObject.FindWithTag("Respawn"); - //UnityEngine.Debug.Log(spawnPointObject.transform.position); - //Vector3 spawnPosition = spawnPointObject.transform.position; - //UnityEngine.Debug.Log(spawnPosition); - //player.position = spawnPosition;Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab (1)
716-716: Vérifiez la taille du SpriteRenderer de la porteLe composant 'SpriteRenderer' (ligne 715) pour la porte a une taille définie à {x: 0.7819595, y: 0.515625}. Cela semble relativement petit. Assurez-vous que cette taille est appropriée pour une bonne visibilité de la porte dans le jeu.
Assets/Prefabs/RoomSystem/Corridor/Room.prefab (1)
2546-2594: Confirmer les paramètres du TilemapRenderer de 'Props'.Le composant TilemapRenderer de l'objet 'Props' a m_SortingOrder défini à
2. Vérifiez que cet ordre de tri est correct par rapport aux autres éléments de la scène pour assurer un affichage cohérent.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (16)
- .gitignore (1 hunks)
- Assets/Prefabs/Player.prefab (1 hunks)
- Assets/Prefabs/RoomSystem/Corridor.meta (1 hunks)
- Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab (1 hunks)
- Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab.meta (1 hunks)
- Assets/Prefabs/RoomSystem/Corridor/Room.prefab (1 hunks)
- Assets/Prefabs/RoomSystem/Corridor/Room.prefab.meta (1 hunks)
- Assets/Prefabs/Traps/Arrow/Arrow_prefab.prefab (2 hunks)
- Assets/Scenes/EmptyCorridor_3.unity (1 hunks)
- Assets/Scenes/TestRoom.unity.meta (1 hunks)
- Assets/Scripts/Map Control/DoorSystem.cs (1 hunks)
- Assets/Scripts/PlayerController.cs (4 hunks)
- Assets/Scripts/Trap/TrapManager.cs (1 hunks)
- Packages/manifest.json (1 hunks)
- Packages/packages-lock.json (2 hunks)
- ProjectSettings/TagManager.asset (1 hunks)
✅ Files skipped from review due to trivial changes (4)
- Assets/Prefabs/RoomSystem/Corridor.meta
- Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab.meta
- Assets/Prefabs/RoomSystem/Corridor/Room.prefab.meta
- Assets/Scenes/TestRoom.unity.meta
🧰 Additional context used
🔇 Additional comments (16)
Packages/manifest.json (2)
7-7: Approbation de l'ajout de Newtonsoft.JsonL'ajout de la dépendance Newtonsoft.Json est une bonne décision. C'est une bibliothèque JSON largement utilisée et fiable pour .NET.
9-9: Évaluation de la dépendance CandyCoded ENVL'ajout de la dépendance CandyCoded ENV pour la gestion des variables d'environnement est noté. Bien que l'utilisation d'une version spécifique soit une bonne pratique, il est important de considérer les points suivants :
- Avez-vous vérifié la réputation et la maintenance active de ce package ?
- Avez-vous évalué les implications de sécurité potentielles de l'utilisation de ce package tiers ?
- Existe-t-il des alternatives natives ou officiellement supportées par Unity pour la gestion des variables d'environnement ?
Pour vérifier la fiabilité de ce package, vous pouvez exécuter le script suivant :
✅ Verification successful
Puisque le fichier
package.jsonest introuvable, il est nécessaire de vérifier si le dépôtCandyCoded/envcontient ce fichier ou utilise une autre méthode pour gérer les dépendances. Veuillez exécuter le script suivant pour cloner le dépôt et rechercher un fichierpackage.json, puis lister ses dépendances si disponible.
Pour évaluer s'il existe des alternatives natives ou officiellement supportées par Unity pour la gestion des variables d'environnement, veuillez exécuter le script suivant :
Pour corriger l'erreur rencontrée lors de la recherche des alternatives natives ou officiellement supportées par Unity pour la gestion des variables d'environnement, veuillez exécuter le script suivant afin de lister correctement les dépôts et extraire les informations nécessaires :
Pour identifier s'il existe des alternatives natives ou officiellement supportées par Unity pour la gestion des variables d'environnement, veuillez exécuter le script suivant afin de récupérer la liste complète des dépôts de l'organisation Unity avec leurs noms et descriptions :
Vérification de la dépendance CandyCoded ENV réussie
- Le package
CandyCoded/envpossède une bonne réputation avec 45 étoiles et une maintenance active récente (24 août 2024).- Aucune vulnérabilité de sécurité n’a été détectée.
- Aucune alternative native ou officiellement supportée par Unity pour la gestion des variables d'environnement n’a été identifiée.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Vérifier les informations sur le package CandyCoded ENV # Vérifier le nombre d'étoiles et la date du dernier commit gh repo view CandyCoded/env --json stargazerCount,updatedAt # Vérifier les problèmes de sécurité ouverts gh issue list --repo CandyCoded/env --label security --state open # Vérifier les dépendances du package cat package.json | jq '.dependencies'Length of output: 269
Script:
#!/bin/bash # Description: Cloner le dépôt CandyCoded/env et vérifier la présence de package.json # Cloner le dépôt git clone https://github.com/CandyCoded/env.git # Chercher package.json fd package.json env/ # Si package.json existe, afficher les dépendances if [ -f env/package.json ]; then cat env/package.json | jq '.dependencies' else echo "package.json non trouvé dans le dépôt CandyCoded/env." fiLength of output: 270
Script:
#!/bin/bash # Description: Rechercher des alternatives natives ou officiellement supportées par Unity pour la gestion des variables d'environnement # Rechercher des dépôts sous l'organisation Unity contenant 'env' dans le nom ou la description gh repo list Unity --limit 100 --json name,description | jq -r '.[] | select(.name | test("env"; "i") or (.description // "" | test("env"; "i"))) | "Nom du dépôt: \(.name)\nDescription: \(.description)\n"'Length of output: 279
Script:
#!/bin/bash # Description: Rechercher des alternatives natives ou officiellement supportées par Unity pour la gestion des variables d'environnement # Rechercher des dépôts sous l'organisation Unity contenant 'env' dans le nom ou la description gh repo list Unity --limit 100 --json name,description | jq -r '.[] | select(.name | test("env"; "i") or (.description // "" | test("env"; "i"))) | "Nom du dépôt: \(.name)\nDescription: \(.description // "Pas de description")\n"'Length of output: 303
Script:
#!/bin/bash # Description: Récupérer la liste complète des dépôts Unity avec leurs noms et descriptions # Récupérer la liste des dépôts de l'organisation Unity gh repo list Unity --limit 100 --json name,descriptionLength of output: 3128
Assets/Scripts/PlayerController.cs (2)
6-6: Bonne pratique d'utilisation des variables d'environnement.L'ajout de l'espace de noms
CandyCoded.envest une bonne approche pour gérer les configurations via des variables d'environnement. Cela améliore la flexibilité et la sécurité du code.
27-27: Déclaration appropriée de la variable socketUrl.La déclaration de
socketUrlen tant que variable privée est conforme aux principes d'encapsulation. C'est une bonne pratique pour stocker l'URL du socket récupérée depuis l'environnement.Assets/Prefabs/Traps/Arrow/Arrow_prefab.prefab (2)
176-176: Modification des contraintes du Rigidbody2DLa valeur de
m_Constraintsest passée de 0 à 4, ce qui correspond généralement à "Freeze Rotation" dans Unity.Assurez-vous que :
- Ce changement est intentionnel et cohérent avec le comportement souhaité de la flèche.
- La flèche se comporte correctement en jeu avec cette nouvelle contrainte.
- Cette modification n'affecte pas négativement les collisions ou d'autres aspects du gameplay.
Souhaitez-vous que je génère un script de test pour vérifier le comportement de la flèche avec ces nouvelles propriétés ?
102-102: Augmentation de la vitesse de la flècheLa vitesse de la flèche a été doublée, passant de 5 à 10. Cela pourrait avoir un impact significatif sur la difficulté du jeu et l'équilibrage.
Veuillez vérifier les points suivants :
- Cette augmentation de vitesse est-elle intentionnelle ?
- Avez-vous testé l'impact sur le gameplay ?
- D'autres ajustements sont-ils nécessaires dans le niveau ou les mécaniques du joueur pour compenser cette augmentation de vitesse ?
✅ Verification successful
Requête de vérification supplémentaire pour la propriété
speedLe script précédent n'a trouvé aucune occurrence de
speed = 10. Veuillez exécuter le script suivant pour une recherche plus approfondie :
Vérification de l'existence des fichiers
.csdans le codebaseVeuillez exécuter le script suivant pour lister tous les fichiers
.csdans le projet :
Vérification supplémentaire de la propriété
speeddans les scripts C#Veuillez exécuter le script suivant pour rechercher toute utilisation ou modification de la propriété
speeddans les scripts liés aux pièges :
Vérification de la propriété
speedconfirméeLa propriété
speeda été mise à jour dans le prefabArrow_prefab.prefabde5à10. Aucun autre fichier.csn'a été trouvé pour affecter cette propriété, confirmant que le changement est limité au prefab.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Recherche d'autres occurrences de la vitesse de la flèche rg --type cs "speed.*=.*10" -g "*.cs"Length of output: 39
Script:
#!/bin/bash # Recherche des assignations de 'speed' égales à 10 dans les fichiers .cs, en tenant compte des espaces rg --type cs "speed\s*=\s*10" '*.cs'Length of output: 83
Script:
#!/bin/bash # Liste tous les fichiers .cs dans le répertoire actuel et ses sous-répertoires fd --type f --extension csLength of output: 395
Script:
#!/bin/bash # Recherche des occurrences de 'speed' dans les fichiers C# liés aux pièges rg --type cs "speed\s*=\s*\d+" Assets/Scripts/Trap/Length of output: 121
.gitignore (1)
294-295: Excellent ajout pour la sécurité !L'ajout de
.envau fichier .gitignore est une excellente pratique. Cela empêche les fichiers contenant des variables d'environnement sensibles d'être suivis par le contrôle de version, renforçant ainsi la sécurité du projet.Packages/packages-lock.json (2)
114-120: Nouveau package ajouté : xyz.candycoded.envUn nouveau package
xyz.candycoded.enva été ajouté au projet, sourcé depuis un dépôt Git.Pouvez-vous expliquer le but de ce nouveau package et comment il sera utilisé dans le projet ?
Assurez-vous également que la version spécifiée (v1.1.0) est stable et appropriée pour notre utilisation.
#!/bin/bash # Description: Vérifier l'utilisation du nouveau package xyz.candycoded.env # Rechercher les références à EnvManager dans les fichiers C# echo "Références à EnvManager dans les fichiers C# :" rg --type csharp "using CandyCoded\.Env" -l # Vérifier si un fichier .env existe à la racine du projet echo "Vérification de l'existence d'un fichier .env :" ls -l .env || echo "Aucun fichier .env trouvé à la racine du projet."
89-89: Vérifiez le changement de profondeur pour com.unity.nuget.newtonsoft-jsonLa profondeur de la dépendance
com.unity.nuget.newtonsoft-jsona été modifiée de 1 à 0. Cela signifie que cette dépendance est maintenant directe plutôt que transitive.Pouvez-vous confirmer que ce changement était intentionnel ? Il serait important de vérifier si cela pourrait avoir un impact sur d'autres packages ou sur la structure du projet.
✅ Verification successful
Action requise : Vérifiez les références à
com.unity.nuget.newtonsoft-jsonIl semble que le script précédent vérifie des références à
EnvManagerau lieu deNewtonsoft.Json. Veuillez exécuter le script corrigé suivant pour vérifier correctement les références et les dépendances :
Action requise : Exécuter le script corrigé pour vérifier
com.unity.nuget.newtonsoft-jsonLe script précédemment exécuté vérifie
EnvManagerau lieu deNewtonsoft.Json. Veuillez utiliser le script suivant pour effectuer les vérifications correctes :
Validation réussie : Changement de profondeur confirmé pour com.unity.nuget.newtonsoft-json
Le changement de profondeur de
com.unity.nuget.newtonsoft-jsonde 1 à 0 a été vérifié. La dépendance est désormais directe et est utilisée dans les fichiers C#, ce qui est conforme aux attentes.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Vérifier l'utilisation de com.unity.nuget.newtonsoft-json dans le projet # Rechercher les références à Newtonsoft.Json dans les fichiers C# echo "Références à Newtonsoft.Json dans les fichiers C# :" rg --type csharp "using Newtonsoft\.Json" -l # Vérifier les dépendances dans le fichier manifest.json echo "Dépendances dans manifest.json :" jq '.dependencies | keys | .[]' Packages/manifest.jsonLength of output: 431
Script:
#!/bin/bash # Description: Vérifier l'utilisation de com.unity.nuget.newtonsoft-json dans le projet # Rechercher les références à Newtonsoft.Json dans les fichiers C# echo "Références à Newtonsoft.Json dans les fichiers C# :" rg --type csharp "using Newtonsoft\.Json" -l # Vérifier les dépendances dans le fichier manifest.json echo "Dépendances dans manifest.json :" jq '.dependencies | keys | .[]' Packages/manifest.jsonLength of output: 1456
Script:
#!/bin/bash # Description: Vérifier l'utilisation de com.unity.nuget.newtonsoft-json dans le projet # Rechercher les références à Newtonsoft.Json dans les fichiers C# echo "Références à Newtonsoft.Json dans les fichiers C# :" rg --type csharp "using Newtonsoft\.Json" -l # Vérifier les dépendances dans le fichier manifest.json echo "Dépendances dans manifest.json :" jq '.dependencies | keys | .[]' Packages/manifest.jsonLength of output: 1456
Assets/Scenes/EmptyCorridor_3.unity (2)
394-450: Ajout du nouveau PrefabInstance 'Grid' approuvé.Les modifications apportées au 'PrefabInstance' 'Grid' ajustent sa position locale et son nom. Ces changements semblent cohérents avec le reste de la scène et contribuent à la structure globale.
458-458: Vérification de l'ajout du 'PrefabInstance' aux 'SceneRoots'.L'ajout du 'PrefabInstance' avec
fileID: 3720666573975206108aux 'SceneRoots' est correct et garantit son inclusion dans la scène lors de l'exécution.Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab (3)
661-669: Veuillez vérifier la rotation de la porte ('Door')La rotation locale du GameObject 'Door' (ligne 661) est définie avec des valeurs non nulles ({x: 0.2588191, y: -0, z: -0, w: 0.9659258}). Assurez-vous que cette rotation est intentionnelle et correspond à l'orientation souhaitée dans la scène.
508-582: Confirmez l'utilisation du 'TilemapCollider2D' avec 'Used By Composite' activéLe composant 'TilemapCollider2D' (ligne 552) du GameObject 'Props' a la propriété 'm_UsedByComposite' définie à 1 (ligne 582). Veuillez vérifier que cela correspond à l'utilisation prévue et que vous avez bien un 'CompositeCollider2D' associé pour gérer les collisions.
1333-1333: Assurez-vous que le tag 'Map' est correctement définiLe GameObject principal 'CorridorX7' (ligne 1333) a pour tag 'Map'. Vérifiez que ce tag existe dans votre projet Unity et qu'il est utilisé conformément aux conventions de votre équipe pour assurer une bonne gestion des objets dans la scène.
Assets/Prefabs/RoomSystem/Corridor/Room.prefab (2)
1385-1385: Vérifier la définition du tag 'Wall' pour l'objet 'Walls'.Assurez-vous que le tag 'Wall' est correctement défini dans le gestionnaire de tags du projet pour éviter des problèmes liés à l'identification des objets lors de l'exécution.
1036-1036: Vérifier la définition du tag 'Respawn' pour l'objet 'SpawnPoint'.Le tag 'Respawn' utilisé pour l'objet 'SpawnPoint' doit être défini dans le gestionnaire de tags. Veuillez confirmer que ce tag existe pour garantir le bon fonctionnement des mécaniques associées.
| catch (Exception e) | ||
| { | ||
| Debug.Log("Socket connection error: " + e.Message); | ||
| //Debug.Log("Socket connection error: " + e.Message); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reconsidérer la suppression des logs d'erreur.
La mise en commentaire des instructions Debug.Log pour les erreurs de connexion et d'envoi de socket peut rendre le débogage plus difficile, en particulier dans un environnement de production.
Au lieu de supprimer complètement les logs, envisagez d'utiliser une approche de journalisation plus robuste. Par exemple :
// Utilisez un système de logging configurable
Logger.LogError($"Erreur de connexion socket : {e.Message}");Cela permettrait de conserver les informations d'erreur importantes tout en offrant la flexibilité de contrôler le niveau de logging en fonction de l'environnement.
Also applies to: 137-137
| serializedVersion: 2 | ||
| m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
| m_LocalPosition: {x: 4.5, y: 0.5, z: 0} | ||
| m_LocalPosition: {x: 4.6, y: 0.2999997, z: 0} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Précision des coordonnées Y des prefabs
Plusieurs prefabs possèdent des coordonnées Y avec une précision supérieure à deux décimales :
- Player.prefab : y = 0.2999997
- CorridorX7.prefab : y = 2.8000002
- Room.prefab : y = 2.8000002
Points de préoccupation :
- Impact sur le gameplay : Cette précision peut affecter le positionnement et les interactions en jeu de manière inattendue.
- Intentionnalité : Vérifiez si ces valeurs précises sont intentionnelles ou le résultat d'une erreur de sérialisation.
Il est recommandé de vérifier manuellement si ces modifications n'introduisent pas de problèmes de collision ou de positionnement et si elles sont cohérentes avec les autres éléments du jeu.
🔗 Analysis chain
Vérifiez l'impact du changement de position du joueur
La position locale du joueur a été modifiée :
- Coordonnée x : de 4.5 à 4.6
- Coordonnée y : de 0.5 à 0.2999997
Points à considérer :
- Ce changement de position pourrait-il affecter le gameplay ou les interactions avec d'autres éléments du jeu ?
- La valeur de y (0.2999997) semble avoir une précision inhabituelle. Est-ce intentionnel ou le résultat d'un arrondi imprévu ?
Veuillez vérifier si ces modifications sont cohérentes avec les autres éléments du jeu et si elles n'introduisent pas de problèmes de collision ou de positionnement.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Rechercher d'autres occurrences de coordonnées similaires dans les prefabs
echo "Recherche de coordonnées similaires dans d'autres prefabs :"
grep -r --include="*.prefab" "m_LocalPosition:" Assets/Prefabs
Length of output: 3395
Script:
#!/bin/bash
# Description: Rechercher des coordonnées y avec une précision supérieure à deux décimales dans les prefabs
echo "Recherche des coordonnées y avec une précision supérieure à deux décimales dans les prefabs :"
grep -r --include="*.prefab" -E 'm_LocalPosition:\s*\{x: [^,]+, y: [0-9]+\.[0-9]{3,}, z: [^}]+\}' Assets/Prefabs
Length of output: 596
| currentRoom = GameObject.FindGameObjectWithTag("Map"); | ||
| DeleteCurrentRoom(); | ||
| GameObject newRoom = Instantiate(newRoomPrefab, new Vector3(4.1f,2.8f,0.0f), Quaternion.identity); | ||
| PlacePlayerInNewRoom(newRoom); | ||
| currentRoom = newRoom; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assurez-vous que la nouvelle salle a le tag 'Map' attribué
Lors de l'instanciation de la nouvelle salle, le tag 'Map' n'est pas attribué à newRoom. Cela pourrait entraîner des problèmes lors de la recherche de la salle actuelle avec GameObject.FindGameObjectWithTag("Map"), car la nouvelle salle ne sera pas trouvée. Pour résoudre ce problème, attribuez le tag 'Map' à newRoom après son instanciation.
Appliquez ce diff pour corriger le problème :
GameObject newRoom = Instantiate(newRoomPrefab, new Vector3(4.1f,2.8f,0.0f), Quaternion.identity);
+ newRoom.tag = "Map";
PlacePlayerInNewRoom(newRoom);📝 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.
| currentRoom = GameObject.FindGameObjectWithTag("Map"); | |
| DeleteCurrentRoom(); | |
| GameObject newRoom = Instantiate(newRoomPrefab, new Vector3(4.1f,2.8f,0.0f), Quaternion.identity); | |
| PlacePlayerInNewRoom(newRoom); | |
| currentRoom = newRoom; | |
| currentRoom = GameObject.FindGameObjectWithTag("Map"); | |
| DeleteCurrentRoom(); | |
| GameObject newRoom = Instantiate(newRoomPrefab, new Vector3(4.1f,2.8f,0.0f), Quaternion.identity); | |
| newRoom.tag = "Map"; | |
| PlacePlayerInNewRoom(newRoom); | |
| currentRoom = newRoom; |
| Debug.Log("La porte s'ouvre !"); | ||
|
|
||
| Transform spawnPoint = newRoom.transform.Find("SpawnPoint"); | ||
| bool test = newRoom.transform.Find("SpawnPoint"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Supprimez ou corrigez la déclaration de la variable 'test'
La variable test est déclarée comme bool, mais newRoom.transform.Find("SpawnPoint") renvoie un Transform. Cela peut provoquer une erreur de compilation ou un comportement inattendu. Si cette variable n'est pas utilisée ultérieurement, il est préférable de la supprimer pour nettoyer le code.
Appliquez ce diff pour corriger le problème :
- bool test = newRoom.transform.Find("SpawnPoint");📝 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.
| bool test = newRoom.transform.Find("SpawnPoint"); |
| public void Update() | ||
| { | ||
| clientSocket.On("traps:place", response => | ||
| { | ||
| JArray trapDataArray = JArray.Parse(response.ToString()); | ||
|
|
||
| foreach (var trapData in trapDataArray) | ||
| { | ||
| JObject trap = (JObject)trapData["trap"]; | ||
|
|
||
| int x = trap["x"].Value<int>(); | ||
| int y = trap["y"].Value<int>(); | ||
| string trapType = trap["trapType"].Value<string>(); | ||
|
|
||
| EnqueuePlacementOrder(x, y, trapType); | ||
| } | ||
| }); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Erreur : L'abonnement à l'événement doit être déplacé hors de la méthode Update().
L'abonnement à l'événement traps:place est actuellement effectué dans la méthode Update(), ce qui signifie qu'il est réinscrit à chaque frame. Cela peut entraîner des problèmes de performance et des comportements inattendus en raison des multiples abonnements au même événement. Il est recommandé de déplacer cet abonnement dans la méthode SetupSocket() après l'établissement de la connexion Socket.IO pour s'assurer qu'il n'est exécuté qu'une seule fois.
Pour corriger ce problème, déplacez l'abonnement vers la méthode SetupSocket() comme suit :
async void SetupSocket()
{
try
{
env.TryParseEnvironmentVariable("SOCKET_URL", out socketUrl);
if (string.IsNullOrEmpty(socketUrl))
{
Debug.LogError("Le 'SOCKET_URL' n'est pas défini dans les variables d'environnement.");
return;
}
var uri = new Uri(socketUrl);
clientSocket = new SocketIOUnity(uri);
// Connectez-vous au serveur
await clientSocket.ConnectAsync();
Debug.Log("Connecté au backend et en écoute des événements de placement de pièges.");
+ // Abonnez-vous à l'événement après la connexion
+ clientSocket.On("traps:place", response =>
+ {
+ JArray trapDataArray = JArray.Parse(response.ToString());
+
+ foreach (var trapData in trapDataArray)
+ {
+ JObject trap = (JObject)trapData["trap"];
+
+ int x = trap["x"].Value<int>();
+ int y = trap["y"].Value<int>();
+ string trapType = trap["trapType"].Value<string>();
+
+ EnqueuePlacementOrder(x, y, trapType);
+ }
+ });
}
catch (Exception e)
{
Debug.LogError("Erreur de connexion Socket : " + e.Message);
}
}Ensuite, supprimez l'abonnement de la méthode Update() :
public void Update()
{
- clientSocket.On("traps:place", response =>
- {
- // Gestion des événements
- });
}Committable suggestion was skipped due to low confidence.
| dummyAlignment: 0 | ||
| m_AllTileFlags: 1073741825 | ||
| - first: {x: 1, y: 8, z: 0} | ||
| second: | ||
| serializedVersion: 2 | ||
| m_TileIndex: 0 | ||
| m_TileSpriteIndex: 0 | ||
| m_TileMatrixIndex: 0 | ||
| m_TileColorIndex: 0 | ||
| m_TileObjectToInstantiateIndex: 65535 | ||
| dummyAlignment: 0 | ||
| m_AllTileFlags: 1073741825 | ||
| - first: {x: 2, y: 8, z: 0} | ||
| second: | ||
| serializedVersion: 2 | ||
| m_TileIndex: 13 | ||
| m_TileSpriteIndex: 10 | ||
| m_TileMatrixIndex: 0 | ||
| m_TileColorIndex: 0 | ||
| m_TileObjectToInstantiateIndex: 65535 | ||
| dummyAlignment: 0 | ||
| m_AllTileFlags: 1073741825 | ||
| - first: {x: 3, y: 8, z: 0} | ||
| second: | ||
| serializedVersion: 2 | ||
| m_TileIndex: 13 | ||
| m_TileSpriteIndex: 10 | ||
| m_TileMatrixIndex: 0 | ||
| m_TileColorIndex: 0 | ||
| m_TileObjectToInstantiateIndex: 65535 | ||
| dummyAlignment: 0 | ||
| m_AllTileFlags: 1073741825 | ||
| - first: {x: 4, y: 8, z: 0} | ||
| second: | ||
| serializedVersion: 2 | ||
| m_TileIndex: 0 | ||
| m_TileSpriteIndex: 0 | ||
| m_TileMatrixIndex: 0 | ||
| m_TileColorIndex: 0 | ||
| m_TileObjectToInstantiateIndex: 65535 | ||
| dummyAlignment: 0 | ||
| m_AllTileFlags: 1073741825 | ||
| - first: {x: 5, y: 8, z: 0} | ||
| second: | ||
| serializedVersion: 2 | ||
| m_TileIndex: 14 | ||
| m_TileSpriteIndex: 11 | ||
| m_TileMatrixIndex: 0 | ||
| m_TileColorIndex: 0 | ||
| m_TileObjectToInstantiateIndex: 65535 | ||
| dummyAlignment: 0 | ||
| m_AllTileFlags: 1073741825 | ||
| - first: {x: 6, y: 8, z: 0} | ||
| second: | ||
| serializedVersion: 2 | ||
| m_TileIndex: 0 | ||
| m_TileSpriteIndex: 0 | ||
| m_TileMatrixIndex: 0 | ||
| m_TileColorIndex: 0 | ||
| m_TileObjectToInstantiateIndex: 65535 | ||
| dummyAlignment: 0 | ||
| m_AllTileFlags: 1073741825 | ||
| m_AnimatedTiles: {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Vérifiez les références nulles dans les ressources des Tilemaps
Plusieurs entrées dans 'm_TileObjectToInstantiateIndex' et 'm_TileSpriteIndex' (ligne 1965 et suivantes) ont des valeurs nulles ou des 'guid' non définis. Ceci pourrait entraîner des problèmes d'affichage ou des erreurs à l'exécution si les ressources correspondantes ne sont pas correctement assignées.
| m_ReflectionProbeUsage: 0 | ||
| m_RayTracingMode: 0 | ||
| m_RayTraceProcedural: 0 | ||
| m_RenderingLayerMask: 1 | ||
| m_RendererPriority: 0 | ||
| m_Materials: | ||
| - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} | ||
| m_StaticBatchInfo: | ||
| firstSubMesh: 0 | ||
| subMeshCount: 0 | ||
| m_StaticBatchRoot: {fileID: 0} | ||
| m_ProbeAnchor: {fileID: 0} | ||
| m_LightProbeVolumeOverride: {fileID: 0} | ||
| m_ScaleInLightmap: 1 | ||
| m_ReceiveGI: 1 | ||
| m_PreserveUVs: 0 | ||
| m_IgnoreNormalsForChartDetection: 0 | ||
| m_ImportantGI: 0 | ||
| m_StitchLightmapSeams: 1 | ||
| m_SelectedEditorRenderState: 0 | ||
| m_MinimumChartSize: 4 | ||
| m_AutoUVMaxDistance: 0.5 | ||
| m_AutoUVMaxAngle: 89 | ||
| m_LightmapParameters: {fileID: 0} | ||
| m_SortingLayerID: 0 | ||
| m_SortingLayer: 0 | ||
| m_SortingOrder: 0 | ||
| m_ChunkSize: {x: 32, y: 32, z: 32} | ||
| m_ChunkCullingBounds: {x: 0, y: 0, z: 0} | ||
| m_MaxChunkCount: 16 | ||
| m_MaxFrameAge: 16 | ||
| m_SortOrder: 0 | ||
| m_Mode: 0 | ||
| m_DetectChunkCullingBounds: 0 | ||
| m_MaskInteraction: 0 | ||
| --- !u!19719996 &6821910620919403267 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Optimisez le rendu du 'TilemapRenderer' pour les performances
Le 'TilemapRenderer' (ligne 1251) utilise le mode de tri par défaut. Pour améliorer les performances, envisagez de régler le 'm_SortOrder' et le 'm_Mode' en fonction des besoins spécifiques de votre jeu, surtout si vous avez plusieurs couches de Tilemaps.
| m_ObjectHideFlags: 0 | ||
| m_CorrespondingSourceObject: {fileID: 0} | ||
| m_PrefabInstance: {fileID: 0} | ||
| m_PrefabAsset: {fileID: 0} | ||
| m_GameObject: {fileID: 6033232415184926475} | ||
| m_Enabled: 1 | ||
| m_Density: 1 | ||
| m_Material: {fileID: 0} | ||
| m_IncludeLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 0 | ||
| m_ExcludeLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 0 | ||
| m_LayerOverridePriority: 0 | ||
| m_ForceSendLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_ForceReceiveLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_ContactCaptureLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_CallbackLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_IsTrigger: 0 | ||
| m_UsedByEffector: 0 | ||
| m_UsedByComposite: 0 | ||
| m_Offset: {x: -0.33300018, y: 4.427801} | ||
| m_SpriteTilingProperty: | ||
| border: {x: 0, y: 0, z: 0, w: 0} | ||
| pivot: {x: 0, y: 0} | ||
| oldSize: {x: 0, y: 0} | ||
| newSize: {x: 0, y: 0} | ||
| adaptiveTilingThreshold: 0 | ||
| drawMode: 0 | ||
| adaptiveTiling: 0 | ||
| m_AutoTiling: 0 | ||
| serializedVersion: 2 | ||
| m_Size: {x: 0.7829685, y: 10.212734} | ||
| m_EdgeRadius: 0 | ||
| --- !u!61 &6854233774248888068 | ||
| BoxCollider2D: | ||
| m_ObjectHideFlags: 0 | ||
| m_CorrespondingSourceObject: {fileID: 0} | ||
| m_PrefabInstance: {fileID: 0} | ||
| m_PrefabAsset: {fileID: 0} | ||
| m_GameObject: {fileID: 6033232415184926475} | ||
| m_Enabled: 1 | ||
| m_Density: 1 | ||
| m_Material: {fileID: 0} | ||
| m_IncludeLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 0 | ||
| m_ExcludeLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 0 | ||
| m_LayerOverridePriority: 0 | ||
| m_ForceSendLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_ForceReceiveLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_ContactCaptureLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_CallbackLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_IsTrigger: 0 | ||
| m_UsedByEffector: 0 | ||
| m_UsedByComposite: 0 | ||
| m_Offset: {x: 9.344723, y: 4.4316998} | ||
| m_SpriteTilingProperty: | ||
| border: {x: 0, y: 0, z: 0, w: 0} | ||
| pivot: {x: 0, y: 0} | ||
| oldSize: {x: 0, y: 0} | ||
| newSize: {x: 0, y: 0} | ||
| adaptiveTilingThreshold: 0 | ||
| drawMode: 0 | ||
| adaptiveTiling: 0 | ||
| m_AutoTiling: 0 | ||
| serializedVersion: 2 | ||
| m_Size: {x: 0.6894455, y: 10.086941} | ||
| m_EdgeRadius: 0 | ||
| --- !u!61 &4830675212851221459 | ||
| BoxCollider2D: | ||
| m_ObjectHideFlags: 0 | ||
| m_CorrespondingSourceObject: {fileID: 0} | ||
| m_PrefabInstance: {fileID: 0} | ||
| m_PrefabAsset: {fileID: 0} | ||
| m_GameObject: {fileID: 6033232415184926475} | ||
| m_Enabled: 1 | ||
| m_Density: 1 | ||
| m_Material: {fileID: 0} | ||
| m_IncludeLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 0 | ||
| m_ExcludeLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 0 | ||
| m_LayerOverridePriority: 0 | ||
| m_ForceSendLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_ForceReceiveLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_ContactCaptureLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_CallbackLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_IsTrigger: 0 | ||
| m_UsedByEffector: 0 | ||
| m_UsedByComposite: 0 | ||
| m_Offset: {x: 4.531056, y: 9.2049} | ||
| m_SpriteTilingProperty: | ||
| border: {x: 0, y: 0, z: 0, w: 0} | ||
| pivot: {x: 0, y: 0} | ||
| oldSize: {x: 0, y: 0} | ||
| newSize: {x: 0, y: 0} | ||
| adaptiveTilingThreshold: 0 | ||
| drawMode: 0 | ||
| adaptiveTiling: 0 | ||
| m_AutoTiling: 0 | ||
| serializedVersion: 2 | ||
| m_Size: {x: 10.378892, y: 0.6585369} | ||
| m_EdgeRadius: 0 | ||
| --- !u!61 &3565528462435664690 | ||
| BoxCollider2D: | ||
| m_ObjectHideFlags: 0 | ||
| m_CorrespondingSourceObject: {fileID: 0} | ||
| m_PrefabInstance: {fileID: 0} | ||
| m_PrefabAsset: {fileID: 0} | ||
| m_GameObject: {fileID: 6033232415184926475} | ||
| m_Enabled: 1 | ||
| m_Density: 1 | ||
| m_Material: {fileID: 0} | ||
| m_IncludeLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 0 | ||
| m_ExcludeLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 0 | ||
| m_LayerOverridePriority: 0 | ||
| m_ForceSendLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_ForceReceiveLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_ContactCaptureLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_CallbackLayers: | ||
| serializedVersion: 2 | ||
| m_Bits: 4294967295 | ||
| m_IsTrigger: 0 | ||
| m_UsedByEffector: 0 | ||
| m_UsedByComposite: 0 | ||
| m_Offset: {x: 4.4223623, y: -0.31359428} | ||
| m_SpriteTilingProperty: | ||
| border: {x: 0, y: 0, z: 0, w: 0} | ||
| pivot: {x: 0, y: 0} | ||
| oldSize: {x: 0, y: 0} | ||
| newSize: {x: 0, y: 0} | ||
| adaptiveTilingThreshold: 0 | ||
| drawMode: 0 | ||
| adaptiveTiling: 0 | ||
| m_AutoTiling: 0 | ||
| serializedVersion: 2 | ||
| m_Size: {x: 10.409946, y: 0.62748206} | ||
| m_EdgeRadius: 0 | ||
| --- !u!1 &6459706332820108789 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Optimiser les colliders de l'objet 'Walls'.
L'objet 'Walls' possède plusieurs composants BoxCollider2D. Pour améliorer les performances et faciliter la gestion des collisions, envisagez d'utiliser un CompositeCollider2D ou de combiner les colliders en un seul.
| m_GameObject: {fileID: 6459706332820108789} | ||
| serializedVersion: 2 | ||
| m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
| m_LocalPosition: {x: 4.1000004, y: 2.8000002, z: 0} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Réinitialiser la position de l'objet 'Room' à l'origine.
La position locale de l'objet 'Room' est actuellement définie à {x: 4.1000004, y: 2.8000002, z: 0}. Il est recommandé de la réinitialiser à {x: 0, y: 0, z: 0} pour éviter des décalages inattendus lors de l'instantiation du prefab.
Appliquez ce diff pour ajuster la position :
- m_LocalPosition: {x: 4.1000004, y: 2.8000002, z: 0}
+ m_LocalPosition: {x: 0, y: 0, z: 0}📝 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.
| m_LocalPosition: {x: 4.1000004, y: 2.8000002, z: 0} | |
| m_LocalPosition: {x: 0, y: 0, z: 0} |
…r flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* merge: Merge develop to menu (#9) * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Remove duplication of code * fix: Fix Idle animation --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* merge: Merge menu and develop and fix little issues (#10) * merge: Merge develop to menu (#9) * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Remove duplication of code * fix: Fix Idle animation --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * revert: Revert changes from EmptyRoom that breaked doors * feat:Some menu option had * feat: Add pause system, return to menu and restart game, fix OnLoadScene in unity for hard reset player state * chore: remove commentary for trap manager --------- Co-authored-by: Guillaume MORET <90462045+AyakorK@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: AyakorK <guillaume.moret@yahoo.com>
* merge: Merge menu and develop and fix little issues (#10) * merge: Merge develop to menu (#9) * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Remove duplication of code * fix: Fix Idle animation --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * revert: Revert changes from EmptyRoom that breaked doors * feat: V1.0 of WaitingScreen * fix: Fix the way of sending props and remove the SocketManager from the player * fix: Remove the Socket when leaving to the menu * feat: Add the SocketManager to the Menu * fix: Fix player animation and options text --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Feature/initialization (#1) * feature: Init repository * chore: add git ignore * chore: Upgrade .gitignore * chore: Remove all ignored files * chore: Removed all files that are in the .gitignore --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> * docs: Update README.md * Feature/global map (#3) * feature: Add Timelap and player * fix: fix error with tilemap * feat: First version of Player Movements * feat: First version of animation of the player movements * fix: Update Player prefab to add the animator * feat: Add collisions + modify player prefab * chore: Remove useless folder Art * feature: Add socket connection and linking it to the back-end * fix(player_movement): Fix call between backend and game * feature: Ajout de nombreux assets, modifications de la taille, découpage assets * fix: Global Fixes about the blurring of the components imported * feat: Add first rooms * fix: Fix animations and player asset * feat: Create Third room * fix: Reduce player's hitbox * feature: Ajouts des systèmes de pièges, connections et manager des pièges, animations de la crossbow, ajouts des sprites de l'arrow et de ces effets puis damages, changements tags du joueurs et des walls, changement et ajouts des systèmes de vie du joueurs, changements première phase de l'ui et création de celui-ci * fix: compression des images retirer * revert: Revert changes on the ground.png.meta * revert: Revert changes made on the furnitures * fix: Fix position of map 1 and player collision * fix: Fix rooms placement * fix: Fix arrow physics * feature: Add doors and animations * feature: add door system end remove multiple commentary --------- Co-authored-by: AyakorK <guillaume.moret@yahoo.com> Co-authored-by: Loule | Louis <35641311+Loule95450@users.noreply.github.com> * Feature/addition of corridors (#4) * feature: Add Timelap and player * fix: fix error with tilemap * feat: First version of Player Movements * feat: First version of animation of the player movements * fix: Update Player prefab to add the animator * feat: Add collisions + modify player prefab * chore: Remove useless folder Art * feature: Add socket connection and linking it to the back-end * fix(player_movement): Fix call between backend and game * feature: Ajout de nombreux assets, modifications de la taille, découpage assets * fix: Global Fixes about the blurring of the components imported * feat: Add first rooms * fix: Fix animations and player asset * feat: Create Third room * fix: Reduce player's hitbox * feature: Ajouts des systèmes de pièges, connections et manager des pièges, animations de la crossbow, ajouts des sprites de l'arrow et de ces effets puis damages, changements tags du joueurs et des walls, changement et ajouts des systèmes de vie du joueurs, changements première phase de l'ui et création de celui-ci * fix: compression des images retirer * revert: Revert changes on the ground.png.meta * revert: Revert changes made on the furnitures * fix: Fix position of map 1 and player collision * fix: Fix rooms placement * fix: Fix arrow physics * feature: Add doors and animations * feat: Addition of corridors * feature: add door system end remove multiple commentary --------- Co-authored-by: AyakorK <guillaume.moret@yahoo.com> Co-authored-by: Loule | Louis <35641311+Loule95450@users.noreply.github.com> * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Add Menu system, update styling * feat: Add Dialog system, add multiple coroutine for enable or disable dialog box * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add and fix prefab, add DevRoom prefab * fix: fix door * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> * hotfix: Delete code duplication * Feature/menu (#11) * merge: Merge menu and develop and fix little issues (#10) * merge: Merge develop to menu (#9) * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Remove duplication of code * fix: Fix Idle animation --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * revert: Revert changes from EmptyRoom that breaked doors * feat:Some menu option had * feat: Add pause system, return to menu and restart game, fix OnLoadScene in unity for hard reset player state * chore: remove commentary for trap manager --------- Co-authored-by: Guillaume MORET <90462045+AyakorK@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: AyakorK <guillaume.moret@yahoo.com> * fix: remove duplicata room * feat: Add a visual timer prefab (V.1.0) (#12) Co-authored-by: AyakorK <guillaume.moret@yahoo.com> * feat: Add dynamic environment interaction system and new events (#13) - Implement player interaction system with the environment - Add dynamic room system: - Events now added based on room number and corridor-specific stages - Dynamic event generation based on the current floor - New events added: - "Blacksmith" - "Altar" event allowing players to take one item - Introduced IsCorridor detection system for dynamic instantiation and removal of corridor events - Enhance item saving system to persist data across rooms, including inventory, dialogues, and more - Implement full inventory system - Add multiple UI elements, animations, and canvas for visual feedback * fix: add removed line * feat: Add waiting screen and fix some behaviors (#14) * merge: Merge menu and develop and fix little issues (#10) * merge: Merge develop to menu (#9) * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Remove duplication of code * fix: Fix Idle animation --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * revert: Revert changes from EmptyRoom that breaked doors * feat: V1.0 of WaitingScreen * fix: Fix the way of sending props and remove the SocketManager from the player * fix: Remove the Socket when leaving to the menu * feat: Add the SocketManager to the Menu * fix: Fix player animation and options text --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add trap persistance through rooms (#15) * feat: Camera Control & Room enlargement (#16) * feat: Try to update the camera of the user (a bit of a disaster by now) * fix: Add good tracker Y limit for camera move, synch HUD with camera move * fix: Fix the camera adapting to the scene * feat: Get the room bigger --------- Co-authored-by: Thomlam <lamiablethomas@gmail.com> * feat: Modify the new room (#17) * fix: Add a missing pillar * fix: Crossbow positions (#18) * fix: Fix the placement of the crossbows * feat: Add hitboxes to crossbows * fix: Remove useless traps spawns * fix: Reorder correctly the crossbow prefabs * Feature/add traps (#19) * feature: Update some animations and system for the player, and add new trap * feat: update EmptyRoom2 for test --------- Co-authored-by: Guillaume MORET <90462045+AyakorK@users.noreply.github.com> --------- Co-authored-by: Loule | Louis <35641311+Loule95450@users.noreply.github.com> Co-authored-by: AyakorK <guillaume.moret@yahoo.com> Co-authored-by: Guillaume MORET <90462045+AyakorK@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Feature/initialization (#1) * feature: Init repository * chore: add git ignore * chore: Upgrade .gitignore * chore: Remove all ignored files * chore: Removed all files that are in the .gitignore --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> * docs: Update README.md * Feature/global map (#3) * feature: Add Timelap and player * fix: fix error with tilemap * feat: First version of Player Movements * feat: First version of animation of the player movements * fix: Update Player prefab to add the animator * feat: Add collisions + modify player prefab * chore: Remove useless folder Art * feature: Add socket connection and linking it to the back-end * fix(player_movement): Fix call between backend and game * feature: Ajout de nombreux assets, modifications de la taille, découpage assets * fix: Global Fixes about the blurring of the components imported * feat: Add first rooms * fix: Fix animations and player asset * feat: Create Third room * fix: Reduce player's hitbox * feature: Ajouts des systèmes de pièges, connections et manager des pièges, animations de la crossbow, ajouts des sprites de l'arrow et de ces effets puis damages, changements tags du joueurs et des walls, changement et ajouts des systèmes de vie du joueurs, changements première phase de l'ui et création de celui-ci * fix: compression des images retirer * revert: Revert changes on the ground.png.meta * revert: Revert changes made on the furnitures * fix: Fix position of map 1 and player collision * fix: Fix rooms placement * fix: Fix arrow physics * feature: Add doors and animations * feature: add door system end remove multiple commentary --------- Co-authored-by: AyakorK <guillaume.moret@yahoo.com> Co-authored-by: Loule | Louis <35641311+Loule95450@users.noreply.github.com> * Feature/addition of corridors (#4) * feature: Add Timelap and player * fix: fix error with tilemap * feat: First version of Player Movements * feat: First version of animation of the player movements * fix: Update Player prefab to add the animator * feat: Add collisions + modify player prefab * chore: Remove useless folder Art * feature: Add socket connection and linking it to the back-end * fix(player_movement): Fix call between backend and game * feature: Ajout de nombreux assets, modifications de la taille, découpage assets * fix: Global Fixes about the blurring of the components imported * feat: Add first rooms * fix: Fix animations and player asset * feat: Create Third room * fix: Reduce player's hitbox * feature: Ajouts des systèmes de pièges, connections et manager des pièges, animations de la crossbow, ajouts des sprites de l'arrow et de ces effets puis damages, changements tags du joueurs et des walls, changement et ajouts des systèmes de vie du joueurs, changements première phase de l'ui et création de celui-ci * fix: compression des images retirer * revert: Revert changes on the ground.png.meta * revert: Revert changes made on the furnitures * fix: Fix position of map 1 and player collision * fix: Fix rooms placement * fix: Fix arrow physics * feature: Add doors and animations * feat: Addition of corridors * feature: add door system end remove multiple commentary --------- Co-authored-by: AyakorK <guillaume.moret@yahoo.com> Co-authored-by: Loule | Louis <35641311+Loule95450@users.noreply.github.com> * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Add Menu system, update styling * feat: Add Dialog system, add multiple coroutine for enable or disable dialog box * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add and fix prefab, add DevRoom prefab * fix: fix door * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> * hotfix: Delete code duplication * Feature/menu (#11) * merge: Merge menu and develop and fix little issues (#10) * merge: Merge develop to menu (#9) * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Remove duplication of code * fix: Fix Idle animation --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * revert: Revert changes from EmptyRoom that breaked doors * feat:Some menu option had * feat: Add pause system, return to menu and restart game, fix OnLoadScene in unity for hard reset player state * chore: remove commentary for trap manager --------- Co-authored-by: Guillaume MORET <90462045+AyakorK@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: AyakorK <guillaume.moret@yahoo.com> * fix: remove duplicata room * feat: Add a visual timer prefab (V.1.0) (#12) Co-authored-by: AyakorK <guillaume.moret@yahoo.com> * feat: Add dynamic environment interaction system and new events (#13) - Implement player interaction system with the environment - Add dynamic room system: - Events now added based on room number and corridor-specific stages - Dynamic event generation based on the current floor - New events added: - "Blacksmith" - "Altar" event allowing players to take one item - Introduced IsCorridor detection system for dynamic instantiation and removal of corridor events - Enhance item saving system to persist data across rooms, including inventory, dialogues, and more - Implement full inventory system - Add multiple UI elements, animations, and canvas for visual feedback * fix: add removed line * feat: Add waiting screen and fix some behaviors (#14) * merge: Merge menu and develop and fix little issues (#10) * merge: Merge develop to menu (#9) * feat: Level move (#7) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * fix(level_move): Replace hard-coded values with variables for better flexibility Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add Socket to props to send them to back-end (#8) * feature: First try to add level move in Unity * feat: fix Arrow, upgrade door system * feat: Fix multiple problem * fix: fix door teleport with disable player public selected * feat: Addition of traps using sockets (#6) * feat: Add auto implementation from website of traps * chore: Add environment variables to UnityProject (#5) * fix: Remove useless Log that was crashed * feat: Add link to props using sockets * feat: Add a unique socket system manager --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Remove duplication of code * fix: Fix Idle animation --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * revert: Revert changes from EmptyRoom that breaked doors * feat: V1.0 of WaitingScreen * fix: Fix the way of sending props and remove the SocketManager from the player * fix: Remove the Socket when leaving to the menu * feat: Add the SocketManager to the Menu * fix: Fix player animation and options text --------- Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Add trap persistance through rooms (#15) * feat: Camera Control & Room enlargement (#16) * feat: Try to update the camera of the user (a bit of a disaster by now) * fix: Add good tracker Y limit for camera move, synch HUD with camera move * fix: Fix the camera adapting to the scene * feat: Get the room bigger --------- Co-authored-by: Thomlam <lamiablethomas@gmail.com> * feat: Modify the new room (#17) * fix: Add a missing pillar * fix: Crossbow positions (#18) * fix: Fix the placement of the crossbows * feat: Add hitboxes to crossbows * fix: Remove useless traps spawns * fix: Reorder correctly the crossbow prefabs * Feature/add traps (#19) * feature: Update some animations and system for the player, and add new trap * feat: update EmptyRoom2 for test --------- Co-authored-by: Guillaume MORET <90462045+AyakorK@users.noreply.github.com> * fix: Trap management & improvements (#21) * fix: Enlarge the gridSizeY to match the room and modify the level of the floor to fix traps * feat: Improve doors and room and traps * feat: Add walls on first room * feat: Add bear_trap to trap manager * hotfix: Remove bear_trap from the EmptyRoom --------- Co-authored-by: Loule | Louis <35641311+Loule95450@users.noreply.github.com> Co-authored-by: Thomas Lamiable <lamiablethomas@gmail.com> Co-authored-by: Thomas Lamiable <86667484+Thomlam@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Summary by CodeRabbit
Nouvelles fonctionnalités
Corrections de bugs
Documentation
Changements de dépendances