コード例 #1
0
ファイル: SaveManager.cs プロジェクト: chaipokoi/Ocalm
        /// <summary>
        /// remplace une unité de sauvegarde associée au nom passé en paramètre
        /// </summary>
        /// <param name="par1name">Nom de la sauvegarde</param>
        /// <returns></returns>
        public static bool replaceSaver(string par1name,Saver par2saver)
        {
            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].Key == par1name)
                {
                    list[i] = new KeyValuePair<string, Saver>(par1name, par2saver);
                    return true;
                }
            }
			createSaver (par1name, par2saver);
            return false;
        }
コード例 #2
0
ファイル: SaveManager.cs プロジェクト: chaipokoi/Ocalm
 /// <summary>
 /// Créer une nouvelle sauvegarde associée au nom passé en paramètre
 /// </summary>
 /// <param name="par1name">Nom de la sauvegarde</param>
 /// <returns></returns>
 public static bool createSaver(string par1name, Saver par2saver)
 {
     if (par2saver.name == par1name)
     {
         foreach (KeyValuePair<string, Saver> en in list)
         {
             if (en.Key == par1name)
                 return false;
         }
         list.Add(new KeyValuePair<string, Saver>(par1name, par2saver));
         return true;
     }
     else
     {
         throw new Exception("Le nom de l'unité de sauvegarde et le nom de la clef doivent correspondre.");
     }
 }
コード例 #3
0
ファイル: SaveManager.cs プロジェクト: chaipokoi/Ocalm
        /// <summary>
        /// Charge toutes les unités de sauvegarde en fonction de celle répertoriés dans l'unité de sauvegarde SaverList
        /// </summary>
        public static bool load()
        {
            Saver l = new Saver("SaverList");
            l = l.load();
            if (l == null)
                return false;
            for (int i = 0; i < l.count(); i++)
            {
                string n = l.getDataAsString(i.ToString());
                Saver s = new Saver(n);

                s = s.load();
                createSaver(n, s);
            }
            return true;
        }
コード例 #4
0
ファイル: SaveManager.cs プロジェクト: chaipokoi/Ocalm
        /// <summary>
        /// Efface la liste lien avec tout les fichiers de sauvegarde présents dans la mémoire
        /// Efface la mémoire.
        /// </summary>
        public static void reset()
        {
            Saver m = getSaver("SaverList");
            if (m == null)
            {
                m = new Saver("SaverList").load();
                if (m == null)
                    return;
            }
            using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
            {
                for (int i = 0; i < m.count(); i++)
                {
                    string n = m.getDataAsString(i.ToString());

                    if (storage.FileExists(n + ".sav"))
                        storage.DeleteFile(n + ".sav");
                }
                if (storage.FileExists("SaverList" + ".sav"))
                    storage.DeleteFile("SaverList" + ".sav");
                list = new List<KeyValuePair<string, Saver>>();
            }
            SaveManager.toReset = true;
        }
コード例 #5
0
ファイル: Saver.cs プロジェクト: chaipokoi/Ocalm
        /// <summary>
        /// Charge les données sauvegardées en mémoire dans le fichier possédant le nom du saver
        /// </summary>
        /// <returns></returns>
        public Saver load()
        {
            string par1name = name;
			IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForDomain();
            if (storage.FileExists(par1name+".sav"))
            {
                try
                {
                    Stream stream = storage.OpenFile(par1name+".sav", FileMode.Open);
                    byte[] data = new Byte[1024];
                    stream.Read(data, 0, data.Length);
                    stream.Close();
                    string s = Encoding.UTF8.GetString(data, 0, data.Length);
                    string[] dat = s.Split("!".ToCharArray());
                    Saver saver = new Saver(par1name);
                    for (int i = 0; i < dat.Length-1; i++)
                    {
                        if (dat[i].Length > 0)
                        {
                                List<string> da = new List<string>(dat[i].Split("/".ToCharArray()));
                                string key = da[0];
                                string value = da[1];
                                saver.addData(key, value);
                        }
                    }
                    storage.Dispose();
                    return saver;
                }
                catch (FormatException)
                {
                    storage.Dispose();
                    return null;
                }
            }
            storage.Dispose();
            return null;
        }