public Save(List <Chapter> chaps, int nbPlay, StringIntDictionary mInt, StringFloatDictionary mFloat, SerializableDate dt) { chapters = chaps; nbPlayer = nbPlay; metaInt = mInt; metaFloat = mFloat; lastOpenDate = dt; }
private void Reset() { IntDictionary = new StringIntDictionary() { }; BooleanDictionary = new StringBooleanDictionary { }; }
public void Add() { var dictionary = new StringIntDictionary(); dictionary.Add(new System.Collections.Generic.KeyValuePair <string, int>("a", 1)); dictionary.Add("b", 2); Assert.AreEqual(dictionary["a"], 1); Assert.AreEqual(dictionary["b"], 2); }
private StringIntDictionary CreateTestDictionary() { var dictionary = new StringIntDictionary(); for (var i = 0; i < 25; i++) { string key = new string((char)('a' + i), 1); dictionary.Add(key, i); } return(dictionary); }
private void Load() { LevelData = new StringIntDictionary(); PlayerData = new StringIntDictionary(); if (PlayerPrefs.HasKey("Levels Data")) { var json = PlayerPrefs.GetString("Levels Data"); LevelData = JsonUtility.FromJson <StringIntDictionary>(json); } if (PlayerPrefs.HasKey("Player Data")) { var json = PlayerPrefs.GetString("Player Data"); PlayerData = JsonUtility.FromJson <StringIntDictionary>(json); } if (PlayerPrefs.HasKey("Last Level")) { LastLevel = PlayerPrefs.GetString("Last Level"); } }
/// <summary> /// Creates a Json file representing the empty save at the index "save" /// </summary> /// <param name="save"></param> /// <param name="nbPlayer"></param> public void CreateSaveFile(int save, int nbPlayer) { //création du file StreamWriter streamWriter = File.CreateText(Application.persistentDataPath + "/Saves/SaveFile" + save + ".json"); //création des dictionnaires de metadonnées StringIntDictionary mInt = new StringIntDictionary(); mInt.Add("jumpNumber1", 0); mInt.Add("playerDeath1", 0); StringFloatDictionary mFloat = new StringFloatDictionary(); mFloat.Add("distance1", 0); mFloat.Add("totalTimePlayed", 0); List <Chapter> chapters = new List <Chapter>(); if (nbPlayer == 1) { //On créer les chapitres et les tableaux, puis on l'écrit sur le nouveau fichier. List <Level> lvlPrologque_Solo = new List <Level>(); lvlPrologque_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); lvlPrologque_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); lvlPrologque_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); lvlPrologque_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); lvlPrologque_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); List <Level> lvlChap1_Solo = new List <Level>(); lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //0 - The entrance - 2 Collectibles lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //1 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //2 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //3 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //4 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //5 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //6 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //7 - The room of a thousand stairs - 2 Collectibles lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); // GhostRoom lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //8 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //9 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //10 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //11 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //12 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //13 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //14 - The second encounter - 3 Collectibles lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //15 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //16 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //17 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //18 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //19 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //20 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //21 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //22 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); // - Fresh air - 4 Collectibles lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //23 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //24 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //25 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //26 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //27 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //28 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //29 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //30 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //31 - The third encounter - 3 Collectibles lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //32 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //33 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //34 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //35 lvlChap1_Solo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //36 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //37 - The show - 0 Collectibles lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //38 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //39 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //40 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //41 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //42 lvlChap1_Solo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //43 - The confrontation - 0 Collectibles chapters.Add(new Chapter(lvlPrologque_Solo)); chapters.Add(new Chapter(lvlChap1_Solo)); } if (nbPlayer == 2) { mInt.Add("jumpNumber2", 0); mInt.Add("playerDeath2", 0); mFloat.Add("distance2", 0); //On créer les chapitres et les tableaux, puis on l'écrit sur le nouveau fichier. List <Level> lvlPrologque_Duo = new List <Level>(); lvlPrologque_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); lvlPrologque_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); lvlPrologque_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); lvlPrologque_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); lvlPrologque_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); List <Level> lvlChap1_Duo = new List <Level>(); lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //0 - The entrance - 2 Collectibles lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { false }, false)); //1 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //2 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //3 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //4 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //5 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { false }, false)); //6 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //7 - The room of a thousand stairs - 4 Collectibles lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); // GhostRoom lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //8 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { false }, false)); //9 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //10 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //11 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { false }, false)); //12 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //13 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //14 - The second encounter - 3 Collectibles lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //15 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //16 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //17 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //18 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //19 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { false }, false)); //20 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //21 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //22 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); // - Fresh air - 5 Collectibles lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //23 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //24 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //25 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { false }, false)); //26 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //27 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //28 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //29 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { false }, false)); //30 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //31 - The third encounter - 4 Collectibles lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //32 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { false }, false)); //33 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { }, false)); //34 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //35 lvlChap1_Duo.Add(new Level(false, new bool[] { false }, new bool[] { false }, false)); //36 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //37 - The show - 0 Collectibles lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //38 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //39 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //40 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //41 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, false)); //42 lvlChap1_Duo.Add(new Level(false, new bool[] { }, new bool[] { }, true)); //43 - The confrontation - 0 Collectibles chapters.Add(new Chapter(lvlPrologque_Duo)); chapters.Add(new Chapter(lvlChap1_Duo)); } // chapters.Add(new Chapter(lvlChap1)); //enfin, on créer la save qui contient toutes les informations Save createdSave = new Save(chapters, nbPlayer, mInt, mFloat, new SerializableDate(DateTime.Now)); string saveFileContent = JsonUtility.ToJson(createdSave, true); //On rempli le nouveau SaveFile streamWriter.Write(saveFileContent); streamWriter.Close(); LoadSaveFile(save); }