Skip to content
Snippets Groups Projects
Commit 7b432a56 authored by Guillaume Meinesz's avatar Guillaume Meinesz
Browse files

fix sauvegarde des traces vers fonction HM

AVec ce fix, evalulu écoute le code retour de reussite ou d'echec à la sauvegarder sur le serveur distant. Si echec, les données ne sont pas archivées et une nouvelle tentative aura lieu à la prochaine occasion. Ce fix tente également, en cas de connexion réussie, de transferer les fichiers archivés dans la précédente version vers le serveur distant.
parent fa4bed9c
No related branches found
No related tags found
No related merge requests found
......@@ -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 ncessaire.
File.Copy(s, nouveauChemin, true);
if (File.Exists(nouveauChemin))
{
try
{
HM_PluginController.UploadTrace(nouveauChemin, transfertAsynchroneFinished);
}
catch (Exception ex)
{
nombreDeFichiersTraites++;
// Grez 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 spcifi n'existe pas, la copie chouera.
Permissions insuffisantes : Si l'application n'a pas les permissions ncessaires pour lire le fichier source ou crire dans le rpertoire 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 dj ouvert ou verrouill par une autre application, la copie chouera.
Problmes matriels : Des problmes matriels, tels que des secteurs dfectueux sur le disque, peuvent entraner 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 termins");
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 transfr
foreach (string currenttemporaryfile in fichiersInTemporaryFiles)
{
foreach (string originalFile in fichiersSauvegardes)
{
String fileNameOnly = Path.GetFileNameWithoutExtension(originalFile);
if (currenttemporaryfile.Contains(fileNameOnly))
{
Debug.Log("correspondance trouve 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 spcifi.
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 passs, 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 ncessaire.
File.Copy(currentFilePath, currentTemporaryFilePath, true);
if (File.Exists(currentTemporaryFilePath))
{
try
{
HM_PluginController.UploadTrace(currentTemporaryFilePath, transfertAsynchroneFinished);
}
catch (Exception ex)
{
// Grez 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 spcifi n'existe pas, la copie chouera.
Permissions insuffisantes : Si l'application n'a pas les permissions ncessaires pour lire le fichier source ou crire dans le rpertoire 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 dj ouvert ou verrouill par une autre application, la copie chouera.
Problmes matriels : Des problmes matriels, tels que des secteurs dfectueux sur le disque, peuvent entraner 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);
// Crez le chemin complet du fichier de destination dans le nouveau dossier
string destinationARCHIVEFilePath = Path.Combine(pathDirectoryArchive, fileName);
// Dplacez 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 prcdent 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 spcifi.
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 ncessaire.
File.Copy(currentFilePath, currentTemporaryFilePath, true);
if (File.Exists(currentTemporaryFilePath))
{
try
{
HM_PluginController.UploadTrace(currentTemporaryFilePath, transfertAsynchroneFinished);
}
catch (Exception ex)
{
// Grez 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 spcifi n'existe pas, la copie chouera.
Permissions insuffisantes : Si l'application n'a pas les permissions ncessaires pour lire le fichier source ou crire dans le rpertoire 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 dj ouvert ou verrouill par une autre application, la copie chouera.
Problmes matriels : Des problmes matriels, tels que des secteurs dfectueux sur le disque, peuvent entraner des erreurs lors de la copie
*/
}
}
}
private void deleteAllTemporaryFiles()
{
// Obtenez la liste de tous les fichiers dans le dossier spcifi.
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);
}
}
}
}
}
......@@ -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:
......
......@@ -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
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment