Exemplo n.º 1
0
        /// <summary>
        /// Loads all saved game progress, and returns the results in a an array indexed by 'slot'.
        /// </summary>
        /// <returns>The game progress.</returns>
        public static Models.GameProgress[] LoadGameProgress()
        {
            Models.GameProgress[] savedGameProgress = new Models.GameProgress[Constants.SlotsCount];

            for (int slot=0; slot < savedGameProgress.Length; slot++) {
                string savedGameProgressFilePath = GetSavedGameProgressFilePath (slot);
                if (File.Exists (savedGameProgressFilePath)) {
                    string serializedGameProgress = File.ReadAllText (savedGameProgressFilePath);
                    savedGameProgress [slot] = Deserialize (serializedGameProgress);
                }
            }

            return savedGameProgress;
        }
Exemplo n.º 2
0
        public static Models.GameProgress Deserialize(string serializedGameProgress)
        {
            Csv csv = new Csv (serializedGameProgress);
            int[] savedGameData = csv.ToIntArray ();
            int dataIndex = 0;

            Models.GameProgress gameProgress = new Models.GameProgress (savedGameData [dataIndex++]);

            while (dataIndex < savedGameData.Length) {
                int worldNumber = savedGameData [dataIndex++];
                int levelNumber = savedGameData [dataIndex++];
                int moves = savedGameData [dataIndex++];
                int stars = savedGameData [dataIndex++];
                Models.SolvedLevel solvedLevel = new Models.SolvedLevel (worldNumber, levelNumber, moves, stars);
                gameProgress.AddSolvedLevel (solvedLevel);
            }

            return gameProgress;
        }