diff --git a/Assets/NewSystemeDeTraces.cs b/Assets/NewSystemeDeTraces.cs index 6f2a5b9f1106d145a3d1a0f2ed504cdbd6daa2e4..3cb4455020c977ec9a0ad4c513463e2a93487af3 100644 --- a/Assets/NewSystemeDeTraces.cs +++ b/Assets/NewSystemeDeTraces.cs @@ -8,10 +8,11 @@ using static System.Collections.Specialized.BitVector32; using UnityEngine.SceneManagement; using UnityEditor; using DG.Tweening; +using static ChargementJSONStructure; public class NewSystemeDeTraces : MonoBehaviour { - + public mainManager mM; private NewSystemeDeTracesJSONRoot traceJson; private int volumeCourant = 1; @@ -64,11 +65,15 @@ public class NewSystemeDeTraces : MonoBehaviour string pathDirectory; string pathDirectoryArchive; string PathDirectoryTemporary; + string pathDirectoryArchiveAncien; private bool justCreated = false; - public void initialiseNewSystemeDeTraces (bool poidsDepassedAfterSave = false) + private string currentFilePath = ""; + private string currentTemporaryFilePath = ""; + public void initialiseNewSystemeDeTraces(bool poidsDepassedAfterSave = false) { pathDirectory = Application.persistentDataPath + "/newSystemeTraces/"; - pathDirectoryArchive = Application.persistentDataPath + "/newSystemeTraces/Archive"; + pathDirectoryArchive = Application.persistentDataPath + "/newSystemeTraces/ArchiveReal"; + pathDirectoryArchiveAncien = Application.persistentDataPath + "/newSystemeTraces/Archive"; PathDirectoryTemporary = Application.persistentDataPath + "/newSystemeTraces/Temporary"; // Obtenez le chemin du fichier JSON en fonction de la plateforme jsonFilePath = GetJsonFilePath(poidsDepassedAfterSave); @@ -78,7 +83,9 @@ public class NewSystemeDeTraces : MonoBehaviour if (File.Exists(jsonFilePath)) { // Le fichier JSON existe, donc nous le lisons + jsonContents = File.ReadAllText(jsonFilePath); + mM.texteCheat.text += " un json existe deja length= " + jsonContents.Length; //Debug.Log("Contenu JSON existant : " + jsonContents); } else @@ -97,30 +104,40 @@ public class NewSystemeDeTraces : MonoBehaviour } } - + public static string returnUserIDFLuence_or_UserIDHM() { string UserIdToUse = "Evalulu_missin_gmode_Plugin_HM_cant_fetchUserID"; if (SplashScreenScript.mode_Plugin_HM && HM_DataController.currentChildUser != null) { - UserIdToUse = "Evalulu_currentTeacherAccount_" + HM_DataController.currentTeacherAccount.teacherCode.ToString()+ "_HM_userID_"+HM_DataController.currentChildUser.userID.ToString() + "_HM_loginCode_" + HM_DataController.currentChildUser.loginCode; + UserIdToUse = "Evalulu_currentTeacherAccount_" + HM_DataController.currentTeacherAccount.teacherCode.ToString() + "_HM_userID_" + HM_DataController.currentChildUser.userID.ToString() + "_HM_loginCode_" + HM_DataController.currentChildUser.loginCode; } return UserIdToUse; } private int nombreDeFichiersATransferer = 0; private int nombreDeFichiersTraites = 0; private bool terminateSceneAFterTransfert = false; - public void sendThisUserTracesToHMPlugin(bool terminateSceneAFterTrasfert1=false) + private bool envoieEnCours = false; + private string[] fichiersSauvegardes; + public void sendThisUserTracesToHMPlugin(bool terminateSceneAFterTrasfert1 = false) { - Debug.Log("sendThisUserTracesToHMPlugin terminateSceneAFterTrasfert1= " + terminateSceneAFterTrasfert1 + " justCreated=" + justCreated); - terminateSceneAFterTransfert = terminateSceneAFterTrasfert1; - if (!justCreated) + //Debug.LogError("sendThisUserTracesToHMPlugin launched envoieEnCours="+ envoieEnCours+ " terminateSceneAFterTransfert="+ terminateSceneAFterTransfert); + + if (!terminateSceneAFterTransfert) + { + terminateSceneAFterTransfert = terminateSceneAFterTrasfert1; + + } + if (!envoieEnCours) { + envoieEnCours = true; + saveNewSystemeTraces(); nombreDeFichiersATransferer = 0; nombreDeFichiersTraites = 0; + doingAncientArchiveFolderNow = false; string nomFichierBase = returnUserIDFLuence_or_UserIDHM(); - string[] fichiersSauvegardes = Directory.GetFiles(pathDirectory, $"{nomFichierBase}_vol*.json"); + fichiersSauvegardes = Directory.GetFiles(pathDirectory, $"{nomFichierBase}_vol*.json"); if (!Directory.Exists(pathDirectoryArchive)) { Directory.CreateDirectory(pathDirectoryArchive); @@ -134,104 +151,14 @@ public class NewSystemeDeTraces : MonoBehaviour deleteAllTemporaryFiles(); } nombreDeFichiersATransferer = fichiersSauvegardes.Length; - if (nombreDeFichiersATransferer <= 0) - { - Debug.Log("rien a transferer"); - nombreDeFichiersTraites = 99; - nombreDeFichiersATransferer = 99; - } - else - { - foreach (string s in fichiersSauvegardes) - { - - // Le fichier JSON existe, donc nous le lisons - string dateEnvoi = DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss"); - string nouveauNomAvecDate = Path.GetFileNameWithoutExtension(s) + "-" + dateEnvoi + ".json"; - string nouveauChemin = Path.Combine(PathDirectoryTemporary, nouveauNomAvecDate); - // Copiez le fichier source vers le dossier de destination en le renommant si nécessaire. - File.Copy(s, nouveauChemin, true); - if (File.Exists(nouveauChemin)) - { - try - { - HM_PluginController.UploadTrace(nouveauChemin, transfertAsynchroneFinished); - } - catch (Exception ex) - { - nombreDeFichiersTraites++; - // Gérez toute exception survenue lors de l'appel à CheckTraceExist ici. - Debug.LogError("Erreur lors de l'appel à UploadTrace : " + ex.Message); - deleteTemporaryFile_archiveOriginalFile(nouveauChemin, ""); - break; - } - } - else - { - nombreDeFichiersTraites++; - Debug.LogError("Traces 2 - ne devrait jamais arriver"); - /* sauf si : - * Fichier source inexistant : Si le fichier source spécifié n'existe pas, la copie échouera. - Permissions insuffisantes : Si l'application n'a pas les permissions nécessaires pour lire le fichier source ou écrire dans le répertoire de destination, la copie échouera. - Espace disque insuffisant : Si le disque de destination est plein ou manque d'espace, la copie échouera. - Fichier de destination verrouillé : Si le fichier de destination est déjà ouvert ou verrouillé par une autre application, la copie échouera. - Problèmes matériels : Des problèmes matériels, tels que des secteurs défectueux sur le disque, peuvent entraîner des erreurs lors de la copie - */ - } - } - } - - } - else if (terminateSceneAFterTrasfert1) - { - nombreDeFichiersTraites = 99; - nombreDeFichiersATransferer = 99; - } - - } - - - private void transfertAsynchroneFinished(int resultCode, string resultMessage) - { - nombreDeFichiersTraites++; - Debug.Log("resultCode = " + resultCode.ToString() + " resultMessage=" + resultMessage+ " nombreDeFichiersTraites = "+ nombreDeFichiersTraites); - if (resultCode == 0) - { - - } - } - private void Update() - { - if(nombreDeFichiersTraites>0 && nombreDeFichiersTraites == nombreDeFichiersATransferer) - { - Debug.Log("tous les transferts ou les echecs de transferts sont terminés"); - string nomFichierBase = returnUserIDFLuence_or_UserIDHM(); - string[] fichiersSauvegardes = Directory.GetFiles(pathDirectory, $"{nomFichierBase}_vol*.json"); - string[] fichiersInTemporaryFiles = Directory.GetFiles(PathDirectoryTemporary, $"{nomFichierBase}_vol*.json"); - // le fichier a bien été transféré - foreach (string currenttemporaryfile in fichiersInTemporaryFiles) - { - foreach (string originalFile in fichiersSauvegardes) - { - String fileNameOnly = Path.GetFileNameWithoutExtension(originalFile); - if (currenttemporaryfile.Contains(fileNameOnly)) - { - Debug.Log("correspondance trouvée entre fichier original et fichier temporaire "+ fileNameOnly+" dans "+ currenttemporaryfile); - deleteTemporaryFile_archiveOriginalFile(currenttemporaryfile, originalFile); - } - } - } - nombreDeFichiersTraites = 0; - nombreDeFichiersATransferer = 0; - if (terminateSceneAFterTransfert) + if (nombreDeFichiersATransferer > 0) { - StartCoroutine(mM.terminateScene()); + sendOnefichierTraceToHM(); } } - } - + } private void deleteTemporaryFile_archiveOriginalFile(string fichierTemporary, string fichierOriginal) { if (fichierTemporary.Length > 0) @@ -246,7 +173,7 @@ public class NewSystemeDeTraces : MonoBehaviour } if (fichierOriginal.Length > 0) { - + Debug.Log("ToDeleteOriginalFilePath = " + fichierOriginal); if (File.Exists(fichierOriginal)) { @@ -257,34 +184,11 @@ public class NewSystemeDeTraces : MonoBehaviour { Debug.Log("le fichier original n'existe pas "); } - - } - } - - private void deleteAllTemporaryFiles() - { - // Obtenez la liste de tous les fichiers dans le dossier spécifié. - string[] files = Directory.GetFiles(PathDirectoryTemporary); - foreach (string filePath in files) - { - if (Path.GetExtension(filePath) == ".json") - { - try - { - // Supprimez le fichier s'il a l'extension .json. - File.Delete(filePath); - Debug.Log("Fichier supprimé : " + filePath); - } - catch (Exception e) - { - Debug.LogError("Erreur lors de la suppression du fichier : " + e.Message); - } - } } } - private string GetJsonFilePath(bool poidsDepassedAfterSave=false) + private string GetJsonFilePath(bool poidsDepassedAfterSave = false) { // Assurez-vous que le dossier existe if (!Directory.Exists(pathDirectory)) @@ -295,7 +199,7 @@ public class NewSystemeDeTraces : MonoBehaviour { Directory.CreateDirectory(pathDirectoryArchive); } - string nomFichierBase =returnUserIDFLuence_or_UserIDHM(); + string nomFichierBase = returnUserIDFLuence_or_UserIDHM(); string extension = ".json"; string path = pathDirectory + nomFichierBase + "_vol" + volumeCourant.ToString() + extension; @@ -352,10 +256,10 @@ public class NewSystemeDeTraces : MonoBehaviour { volumeCourant++; } - - - path = pathDirectory + nomFichierBase +"_vol"+ volumeCourant .ToString()+ extension; + + + path = pathDirectory + nomFichierBase + "_vol" + volumeCourant.ToString() + extension; return path; } [SerializeField] private string version_text; @@ -432,16 +336,16 @@ public class NewSystemeDeTraces : MonoBehaviour } public void writeNewTrace_internal() { - + String applicationVersionLuciole = getApplicationVersionLuciole(); - if(traceJson.versionsLuciole == null) + if (traceJson.versionsLuciole == null) { traceJson.versionsLuciole = new List<NewSystemeDeTraces_appliVersionLuciole>(); NewSystemeDeTraces_appliVersionLuciole versionCourante = new NewSystemeDeTraces_appliVersionLuciole(); versionCourante.applicationVersionLuciole = applicationVersionLuciole; traceJson.versionsLuciole.Add(versionCourante); } - else if (traceJson.versionsLuciole[traceJson.versionsLuciole.Count-1].applicationVersionLuciole != applicationVersionLuciole) + else if (traceJson.versionsLuciole[traceJson.versionsLuciole.Count - 1].applicationVersionLuciole != applicationVersionLuciole) { traceJson.versionsLuciole.Add(new NewSystemeDeTraces_appliVersionLuciole()); } @@ -454,7 +358,7 @@ public class NewSystemeDeTraces : MonoBehaviour traceJson.versionsLuciole[n].sessions = new List<NewSystemeDeTraces_session>(); traceJson.versionsLuciole[n].sessions.Add(new NewSystemeDeTraces_session()); } - else if (traceJson.versionsLuciole[n].sessions.Count==0 || traceJson.versionsLuciole[n].sessions[traceJson.versionsLuciole[n].sessions.Count - 1].date != mM.dateWhenSessionWasLaunched) + else if (traceJson.versionsLuciole[n].sessions.Count == 0 || traceJson.versionsLuciole[n].sessions[traceJson.versionsLuciole[n].sessions.Count - 1].date != mM.dateWhenSessionWasLaunched) { traceJson.versionsLuciole[n].sessions.Add(new NewSystemeDeTraces_session()); } @@ -471,13 +375,13 @@ public class NewSystemeDeTraces : MonoBehaviour traceJson.versionsLuciole[n].sessions[m].epreuves = new List<NewSystemeDeTraces_epreuve>(); traceJson.versionsLuciole[n].sessions[m].epreuves.Add(new NewSystemeDeTraces_epreuve()); } - else if (traceJson.versionsLuciole[n].sessions[m].epreuves.Count ==0 || traceJson.versionsLuciole[n].sessions[m].epreuves[traceJson.versionsLuciole[n].sessions[m].epreuves.Count-1].epreuve!=mM.e.id) + else if (traceJson.versionsLuciole[n].sessions[m].epreuves.Count == 0 || traceJson.versionsLuciole[n].sessions[m].epreuves[traceJson.versionsLuciole[n].sessions[m].epreuves.Count - 1].epreuve != mM.e.id) { traceJson.versionsLuciole[n].sessions[m].epreuves.Add(new NewSystemeDeTraces_epreuve()); } int o = traceJson.versionsLuciole[n].sessions[m].epreuves.Count - 1; traceJson.versionsLuciole[n].sessions[m].epreuves[o].epreuve = mM.e.id; - + if (traceJson.versionsLuciole[n].sessions[m].epreuves[o].items == null) { traceJson.versionsLuciole[n].sessions[m].epreuves[o].items = new List<NewSystemeDeTraces_item>(); @@ -493,10 +397,10 @@ public class NewSystemeDeTraces : MonoBehaviour traceJson.versionsLuciole[n].sessions[m].epreuves[o].items.Add(newitem); // si tous les items de cette epreuves sont passés, on établi le scoring de l'épreuve à partir de ses scores d' items, sinon, le scoring de l'épreuve est à -1 - if (mM.currentItem>= mM.jsonStructureScript.data.sessions[mM.currentSession].epreuves[mM.currentEpreuve].items.Count-1) + if (mM.currentItem >= mM.jsonStructureScript.data.sessions[mM.currentSession].epreuves[mM.currentEpreuve].items.Count - 1) { int scoreepreuve = 0; - foreach(NewSystemeDeTraces_item itt in traceJson.versionsLuciole[n].sessions[m].epreuves[o].items) + foreach (NewSystemeDeTraces_item itt in traceJson.versionsLuciole[n].sessions[m].epreuves[o].items) { scoreepreuve += itt.scoreItem; } @@ -560,4 +464,283 @@ public class NewSystemeDeTraces : MonoBehaviour now.Second.ToString("D2"); return timeString; } + + private void sendOnefichierTraceToHM() + { + if (nombreDeFichiersTraites > fichiersSauvegardes.Length - 1) + { + endTransferts(); + } + else + { + currentFilePath = fichiersSauvegardes[nombreDeFichiersTraites]; + // Le fichier JSON existe, donc nous le lisons + string dateEnvoi = DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss"); + string nouveauNomAvecDate = Path.GetFileNameWithoutExtension(currentFilePath) + "-" + dateEnvoi + ".json"; + currentTemporaryFilePath = Path.Combine(PathDirectoryTemporary, nouveauNomAvecDate); + // Copiez le fichier source vers le dossier de destination en le renommant si nécessaire. + File.Copy(currentFilePath, currentTemporaryFilePath, true); + if (File.Exists(currentTemporaryFilePath)) + { + try + { + HM_PluginController.UploadTrace(currentTemporaryFilePath, transfertAsynchroneFinished); + } + catch (Exception ex) + { + // Gérez toute exception survenue lors de l'appel à CheckTraceExist ici. + ////Debug.LogError("Erreur lors de l'appel à UploadTrace : " + ex.Message); + deleteFileFromTemporaryFolder(false); + endTransferts(); + } + } + else + { + ////Debug.LogError("Traces 2 - ne devrait jamais arriver"); + deleteFileFromTemporaryFolder(false); + endTransferts(); + /* sauf si : + * Fichier source inexistant : Si le fichier source spécifié n'existe pas, la copie échouera. + Permissions insuffisantes : Si l'application n'a pas les permissions nécessaires pour lire le fichier source ou écrire dans le répertoire de destination, la copie échouera. + Espace disque insuffisant : Si le disque de destination est plein ou manque d'espace, la copie échouera. + Fichier de destination verrouillé : Si le fichier de destination est déjà ouvert ou verrouillé par une autre application, la copie échouera. + Problèmes matériels : Des problèmes matériels, tels que des secteurs défectueux sur le disque, peuvent entraîner des erreurs lors de la copie + */ + } + } + + } + + private void deleteFileFromTemporaryFolder(bool SuccesSomoveitToTheArchiveFolder) + { + if (SuccesSomoveitToTheArchiveFolder) + { + // Obtenez le nom du fichier sans le chemin + string fileName = Path.GetFileName(currentTemporaryFilePath); + // Créez le chemin complet du fichier de destination dans le nouveau dossier + string destinationARCHIVEFilePath = Path.Combine(pathDirectoryArchive, fileName); + // Déplacez le fichier source vers le dossier de destination + ////Debug.Log("fichierTemporary moved in archive" + fichierTemporary); + if (File.Exists(currentTemporaryFilePath)) + { + if (!File.Exists(destinationARCHIVEFilePath)) + { + File.Move(currentTemporaryFilePath, destinationARCHIVEFilePath); + } + else + { + File.Delete(currentTemporaryFilePath); + } + } + + + ////Debug.Log("ToDeleteOriginalFilePath = " + fichierOriginal); + // et on supprime le fichier original vu qu'il a été mis dans l'archive + if (File.Exists(currentFilePath)) + { + File.Delete(currentFilePath); + ////Debug.Log("fichier original deleted " + fichierOriginal); + } + else + { + ////Debug.Log("le fichier original n'existe pas "); + } + } + else + { + // on supprime le fichier de temporary + if (File.Exists(currentTemporaryFilePath)) + { + File.Delete(currentTemporaryFilePath); + ////Debug.Log("fichier original deleted " + fichierOriginal); + } + } + + + + } + + private void endTransferts() + { + //Debug.LogError("endTransferts"); + nombreDeFichiersTraites = 0; + nombreDeFichiersATransferer = 0; + envoieEnCours = false; + doingAncientArchiveFolderNow = false; + + /* + string[] fichiersSauvegardesDansArchive = Directory.GetFiles(pathDirectoryArchive, $"*.json"); + mM.textdebugnew.text += " - END - NOW FINISHED NB archives dans archiveNEW = "+ fichiersSauvegardesDansArchive.Count().ToString(); + fichiersSauvegardesDansArchive = Directory.GetFiles(pathDirectoryArchiveAncien, $"*.json"); + mM.textdebugnew.text += "NOW FINISHED NB archives dans archiveAncient = " + fichiersSauvegardesDansArchive.Count().ToString(); + */ + + if (terminateSceneAFterTransfert) + { + // StartCoroutine(mM.fenetrePause.terminateScenefterDeconnexionAndTracesSent()); + StartCoroutine(mM.terminateScene()); + } + else + { + + } + + } + private bool doingAncientArchiveFolderNow = false; + private void transfertAsynchroneFinished(int resultCode, string resultMessage) + { + ////Debug.LogError("resultCode=" + resultCode + " resultMessage=" + resultMessage+ " nombreDeFichiersTraites="+ nombreDeFichiersTraites+ " nombreDeFichiersATransferer="+ nombreDeFichiersATransferer+ " doingAncientArchiveFolderNow="+ doingAncientArchiveFolderNow); + ////Debug.Log("transfertAsynchroneFinished resultCode = " + resultCode.ToString() + " resultMessage=" + resultMessage + " nombreDeFichiersTraites = " + nombreDeFichiersTraites); + + if (resultCode == 1 || resultCode == 0) + { + deleteFileFromTemporaryFolder(true); + if (nombreDeFichiersTraites == nombreDeFichiersATransferer - 1) + { + // on a atteint le bout + if (!doingAncientArchiveFolderNow) + { + // ce dernier envoie s'est bien passé mais on n'a pas encore regardé les anciennes archives + nombreDeFichiersTraites = 0; + nombreDeFichiersATransferer = 0; + envoieEnCours = false; + moveAllFilesFromAncientArchiveFolderToRegularFolder(); + } + else + { + endTransferts(); + } + } + else + { + // le transfeet précédent c'est bien passé (retour == 0) on lance le fichier suivant + nombreDeFichiersTraites++; + if (!doingAncientArchiveFolderNow) + { + sendOnefichierTraceToHM(); + } + else + { + sendOnefichierAncientArchiveTraceToHM(); + } + } + + + // Bien passé + } + else + { + + deleteFileFromTemporaryFolder(false); + endTransferts(); + + } + } + private String[] fichiersAncientToSauvegarde; + private void moveAllFilesFromAncientArchiveFolderToRegularFolder() + { + //Debug.LogError("moveAllFilesFromAncientArchiveFolderToRegularFolder"); + // Obtenez la liste de tous les fichiers dans le dossier spécifié. + string[] files = Directory.GetFiles(pathDirectoryArchiveAncien); + + string nomFichierBase = returnUserIDFLuence_or_UserIDHM(); + fichiersAncientToSauvegarde = Directory.GetFiles(pathDirectoryArchiveAncien, $"{nomFichierBase}_vol*.json"); + + if (fichiersAncientToSauvegarde != null && fichiersAncientToSauvegarde.Length > 0) + { + //Debug.LogError("il y a dans les archivrs des fichiers correspondants à ce joueur " + fichiersAncientToSauvegarde.Length); + // il y a des fichiers d'archive correspondant à ce joueur qui apparaissent encore dans l'ancien dossier archive. On va donc retenter de les envoyer au serveur HM + // si ils existent deja dans le serveur HM, on les bouge dans le nouveau dossier Archive + // si ils n'existent pas dans le serveur HM, on les envoit, puis on les bouge dans le nouveau dossier archive + doingAncientArchiveFolderNow = true; + nombreDeFichiersTraites = 0; + nombreDeFichiersATransferer = fichiersAncientToSauvegarde.Length; + envoieEnCours = true; + sendOnefichierAncientArchiveTraceToHM(); + + } + else + { + //Debug.LogError("il n'y a PAS dans les archivrs des fichiers correspondants à ce joueur voici cb il y a de fichiers dans archive " + files.Length+" looking for "+ nomFichierBase); + + // in n'y a rien dans les archives à envoyer + endTransferts(); + } + + } + + private void sendOnefichierAncientArchiveTraceToHM() + { + //Debug.LogError("sendOnefichierAncientArchiveTraceToHM"); + + if (nombreDeFichiersTraites > fichiersAncientToSauvegarde.Length - 1) + { + endTransferts(); + } + else + { + currentFilePath = fichiersAncientToSauvegarde[nombreDeFichiersTraites]; + // Le fichier JSON existe, donc nous le lisons + string dateEnvoi = DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss"); + string nom = Path.GetFileNameWithoutExtension(currentFilePath) + ".json"; + currentTemporaryFilePath = Path.Combine(PathDirectoryTemporary, nom); + // Copiez le fichier source vers le dossier de destination en le renommant si nécessaire. + File.Copy(currentFilePath, currentTemporaryFilePath, true); + if (File.Exists(currentTemporaryFilePath)) + { + try + { + HM_PluginController.UploadTrace(currentTemporaryFilePath, transfertAsynchroneFinished); + } + catch (Exception ex) + { + // Gérez toute exception survenue lors de l'appel à CheckTraceExist ici. + ////Debug.LogError("Erreur lors de l'appel à UploadTrace : " + ex.Message); + deleteFileFromTemporaryFolder(false); + endTransferts(); + } + } + else + { + ////Debug.LogError("Traces 2 - ne devrait jamais arriver"); + deleteFileFromTemporaryFolder(false); + endTransferts(); + /* sauf si : + * Fichier source inexistant : Si le fichier source spécifié n'existe pas, la copie échouera. + Permissions insuffisantes : Si l'application n'a pas les permissions nécessaires pour lire le fichier source ou écrire dans le répertoire de destination, la copie échouera. + Espace disque insuffisant : Si le disque de destination est plein ou manque d'espace, la copie échouera. + Fichier de destination verrouillé : Si le fichier de destination est déjà ouvert ou verrouillé par une autre application, la copie échouera. + Problèmes matériels : Des problèmes matériels, tels que des secteurs défectueux sur le disque, peuvent entraîner des erreurs lors de la copie + */ + } + } + + } + + + private void deleteAllTemporaryFiles() + { + // Obtenez la liste de tous les fichiers dans le dossier spécifié. + string[] files = Directory.GetFiles(PathDirectoryTemporary); + + foreach (string filePath in files) + { + if (Path.GetExtension(filePath) == ".json") + { + try + { + // Supprimez le fichier s'il a l'extension .json. + File.Delete(filePath); + ////Debug.Log("Fichier supprimé : " + filePath); + } + catch (Exception e) + { + ////Debug.LogError("Erreur lors de la suppression du fichier : " + e.Message); + } + } + } + } + + + } diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 1c9ce9389db9f88d118dd66cdcf8ce7d0b7643c7..1add1d9a33fd3a949bee6abb290e363651381942 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -135,7 +135,7 @@ PlayerSettings: vulkanEnableLateAcquireNextImage: 0 vulkanEnableCommandBufferRecycling: 1 loadStoreDebugModeEnabled: 0 - bundleVersion: 1.10 + bundleVersion: 1.11 preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0 @@ -156,6 +156,7 @@ PlayerSettings: androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 applicationIdentifier: + Android: com.trans3.evalulu Standalone: com.DefaultCompany.2DProject buildNumber: Standalone: 0 @@ -163,7 +164,7 @@ PlayerSettings: iPhone: 0 tvOS: 0 overrideDefaultApplicationIdentifier: 1 - AndroidBundleVersionCode: 2 + AndroidBundleVersionCode: 3 AndroidMinSdkVersion: 22 AndroidTargetSdkVersion: 0 AndroidPreferredInstallLocation: 1 @@ -253,7 +254,7 @@ PlayerSettings: useCustomGradlePropertiesTemplate: 0 useCustomGradleSettingsTemplate: 0 useCustomProguardFile: 0 - AndroidTargetArchitectures: 1 + AndroidTargetArchitectures: 3 AndroidTargetDevices: 0 AndroidSplashScreenScale: 0 androidSplashScreen: {fileID: 0} @@ -701,7 +702,8 @@ PlayerSettings: scriptingDefineSymbols: {} additionalCompilerArguments: {} platformArchitecture: {} - scriptingBackend: {} + scriptingBackend: + Android: 1 il2cppCompilerConfiguration: {} il2cppCodeGeneration: {} managedStrippingLevel: diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 8a690f1ac0880dc77d94faac5df59477a9d6707a..a5e5fe760f35cfbe23c1babc8913ebd870a5ccd1 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -24,10 +24,10 @@ EditorUserSettings: value: 5057510250560c5d5d0a0a7312225d44424e4d737e7b246928781f61b6e4373c flags: 0 RecentlyUsedSceneGuid-6: - value: 52045152560d5d025858542140750e44404f4d2b74797431292b1f66b1e5373c + value: 515250075c0c595e5f5a5e71122159444e4e4a2f7a7d7f602f284d66b4b76661 flags: 0 RecentlyUsedSceneGuid-7: - value: 515250075c0c595e5f5a5e71122159444e4e4a2f7a7d7f602f284d66b4b76661 + value: 52045152560d5d025858542140750e44404f4d2b74797431292b1f66b1e5373c flags: 0 vcSharedLogLevel: value: 0d5e400f0650 diff --git a/UserSettings/Layouts/default-2022.dwlt b/UserSettings/Layouts/default-2022.dwlt index 0f8b6cb940816eeba25c9567c6ad07a8a24334dc..19b16d8e0b747807e49875e55b307055e62931a1 100644 --- a/UserSettings/Layouts/default-2022.dwlt +++ b/UserSettings/Layouts/default-2022.dwlt @@ -14,12 +14,12 @@ MonoBehaviour: m_EditorClassIdentifier: m_PixelRect: serializedVersion: 2 - x: 0 - y: 72 - width: 2560 - height: 1339 + x: 243.2 + y: 140 + width: 1278.4 + height: 627.2 m_ShowMode: 4 - m_Title: Hierarchy + m_Title: Inspector m_RootView: {fileID: 2} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} @@ -44,8 +44,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 2560 - height: 1339 + width: 1278.4 + height: 627.2 m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} m_UseTopView: 1 @@ -69,7 +69,7 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 2560 + width: 1278.4 height: 30 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} @@ -90,8 +90,8 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 1319 - width: 2560 + y: 607.2 + width: 1278.4 height: 20 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} @@ -114,12 +114,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 30 - width: 2560 - height: 1289 + width: 1278.4 + height: 577.2 m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 129 + controlID: 103 --- !u!114 &6 MonoBehaviour: m_ObjectHideFlags: 52 @@ -139,12 +139,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 2002 - height: 1289 + width: 1000 + height: 577.2 m_MinSize: {x: 200, y: 100} m_MaxSize: {x: 16192, y: 16192} vertical: 1 - controlID: 130 + controlID: 63 --- !u!114 &7 MonoBehaviour: m_ObjectHideFlags: 52 @@ -164,12 +164,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 2002 - height: 1026 + width: 1000 + height: 459.2 m_MinSize: {x: 200, y: 50} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 131 + controlID: 39 --- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 @@ -187,8 +187,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 672 - height: 1026 + width: 335.2 + height: 459.2 m_MinSize: {x: 201, y: 221} m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 13} @@ -211,10 +211,10 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 672 + x: 335.2 y: 0 - width: 1330 - height: 1026 + width: 664.8 + height: 459.2 m_MinSize: {x: 202, y: 221} m_MaxSize: {x: 4002, y: 4021} m_ActualView: {fileID: 12} @@ -239,9 +239,9 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 1026 - width: 2002 - height: 263 + y: 459.2 + width: 1000 + height: 118 m_MinSize: {x: 231, y: 271} m_MaxSize: {x: 10001, y: 10021} m_ActualView: {fileID: 15} @@ -265,10 +265,10 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 2002 + x: 1000 y: 0 - width: 558 - height: 1289 + width: 278.40002 + height: 577.2 m_MinSize: {x: 276, y: 71} m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 17} @@ -292,14 +292,14 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Game - m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0} + m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 672 - y: 131 - width: 1328 - height: 1005 + x: 578.4 + y: 170.40001 + width: 662.8 + height: 438.2 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -316,7 +316,7 @@ MonoBehaviour: m_ShowGizmos: 0 m_TargetDisplay: 0 m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 1328, y: 984} + m_TargetSize: {x: 2160, y: 1620} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 @@ -331,10 +331,10 @@ MonoBehaviour: m_VRangeLocked: 0 hZoomLockedByDefault: 0 vZoomLockedByDefault: 0 - m_HBaseRangeMin: -664 - m_HBaseRangeMax: 664 - m_VBaseRangeMin: -492 - m_VBaseRangeMax: 492 + m_HBaseRangeMin: -864 + m_HBaseRangeMax: 864 + m_VBaseRangeMin: -648 + m_VBaseRangeMax: 648 m_HAllowExceedBaseRangeMin: 1 m_HAllowExceedBaseRangeMax: 1 m_VAllowExceedBaseRangeMin: 1 @@ -352,23 +352,23 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 21 - width: 1328 - height: 984 - m_Scale: {x: 1, y: 1} - m_Translation: {x: 664, y: 492} + width: 662.8 + height: 417.2 + m_Scale: {x: 0.3219136, y: 0.3219136} + m_Translation: {x: 331.4, y: 208.6} m_MarginLeft: 0 m_MarginRight: 0 m_MarginTop: 0 m_MarginBottom: 0 m_LastShownAreaInsideMargins: serializedVersion: 2 - x: -664 - y: -492 - width: 1328 - height: 984 + x: -1029.4688 + y: -648 + width: 2058.9375 + height: 1296 m_MinimalGUI: 1 - m_defaultScale: 1 - m_LastWindowPixelSize: {x: 1328, y: 1005} + m_defaultScale: 0.3219136 + m_LastWindowPixelSize: {x: 828.5, y: 547.75} m_ClearInEditMode: 1 m_NoCameraWarning: 1 m_LowResolutionForAspectRatios: 01000000000000000000 @@ -390,14 +390,14 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Hierarchy - m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, type: 0} + m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 0 - y: 131 - width: 671 - height: 1005 + x: 243.2 + y: 170.40001 + width: 334.2 + height: 438.2 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -413,7 +413,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 54c8fdff8ec8fdff7acafdfff8e8fdff26ebfdff3aebfdffc4f3fdff04f4fdfff0f5fdff6e14feff9c16feffb016feffa020feffe220feffd422feff7842feffd045feffea45feff1c50feff5e50feff4a52feffc870fefff672feff0a73feff847bfeffc67bfeffb87dfeff5c9dfeffb4a0feffcea0feff1aaafeff5caafeff48acfeffc6cafefff4ccfeff08cdfeff5ed6feff96d6feff88d8feff2cf8feff84fbfeff9efbfeff0a06ffff4406ffff3008ffffae26ffffdc28fffff028ffff642cffffd44cffff1e4effff0656ffff3e56ffff2a58ffffa876ffffd678ffffe878ffff7c7cffffe485ffff1c86ffff0e88ffffb2a7ffff0aabffff24abffff6cb4ffffa4b4ffffacb6ffff2ad5ffff58d7ffff6cd7ffff74faffffd0c70100c4510200 + m_ExpandedIDs: f838feff m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -453,7 +453,7 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Scene - m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, type: 0} + m_Image: {fileID: 8634526014445323508, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 @@ -808,7 +808,7 @@ MonoBehaviour: m_Position: m_Target: {x: 8.242814, y: 5.4317126, z: -0.21880572} speed: 2 - m_Value: {x: 8.297, y: 5.183196, z: -0.22982198} + m_Value: {x: 8.242814, y: 5.4317126, z: -0.21880572} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -860,7 +860,7 @@ MonoBehaviour: m_Size: m_Target: 23.37879 speed: 2 - m_Value: 24.480408 + m_Value: 23.37879 m_Ortho: m_Target: 1 speed: 2 @@ -901,14 +901,14 @@ MonoBehaviour: m_MaxSize: {x: 10000, y: 10000} m_TitleContent: m_Text: Project - m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, type: 0} + m_Image: {fileID: -5179483145760003458, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 0 - y: 1157 - width: 2001 - height: 242 + x: 243.2 + y: 629.60004 + width: 999 + height: 97 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -920,7 +920,7 @@ MonoBehaviour: m_SaveData: [] m_OverlaysVisible: 1 m_SearchFilter: - m_NameFilter: logo + m_NameFilter: m_ClassNames: [] m_AssetLabels: [] m_AssetBundleNames: [] @@ -932,7 +932,7 @@ MonoBehaviour: m_Folders: - Assets m_Globs: [] - m_OriginalText: logo + m_OriginalText: m_ImportLogFlags: 0 m_FilterByTypeIntersection: 0 m_ViewMode: 1 @@ -940,14 +940,14 @@ MonoBehaviour: m_LastFolders: - Assets m_LastFoldersGridSize: -1 - m_LastProjectPath: /home/loizbek/Documents/travail/projets/Luciole/_Dev/Evalulu + m_LastProjectPath: C:\Users\guill\OneDrive\Bureau\LUCIOLE\EVALULULU_DEC2023_2\lulu-testing m_LockTracker: m_IsLocked: 0 m_FolderTreeState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: 3ac70100 - m_LastClickedID: 116538 - m_ExpandedIDs: 0000000000ca9a3b + scrollPos: {x: 0, y: 19} + m_SelectedIDs: da400000 + m_LastClickedID: 16602 + m_ExpandedIDs: 00000000da40000000ca9a3b m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -975,7 +975,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 00000000 + m_ExpandedIDs: m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1002,7 +1002,7 @@ MonoBehaviour: m_ListAreaState: m_SelectedInstanceIDs: m_LastClickedInstanceID: 0 - m_HadKeyboardFocusLastEvent: 1 + m_HadKeyboardFocusLastEvent: 0 m_ExpandedInstanceIDs: c6230000 m_RenameOverlay: m_UserAcceptedRename: 0 @@ -1047,7 +1047,7 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Console - m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0} + m_Image: {fileID: -4950941429401207979, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 @@ -1081,14 +1081,14 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Inspector - m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000, type: 0} + m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 2002 - y: 131 - width: 557 - height: 1268 + x: 1243.2001 + y: 170.40001 + width: 277.40002 + height: 556.2 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0