public void Reset()
    {
        List<string> files = System.IO.Directory.GetFiles(Application.persistentDataPath, "*.xml").ToList();

        if(files != null && files.Count != 0)
        {
            foreach (string file in files) {
                File.Delete(file);
            }
        }

        //Unlocking partially tutorial level
        XmlSerializer serializer = 	new XmlSerializer(typeof(GameSaveState));
        using(TextWriter writer = new StreamWriter(GameStateSaver.FilePath()))
        {
            GameSaveState gss = new GameSaveState();

            for (int i = 0; i < StateChapterSelect.Instance.Chapters.Length; i++) {
                ChapterSaveState resetChapter = new ChapterSaveState();
                resetChapter.LevelNumber = StateChapterSelect.Instance.Chapters[i].LevelNumber;
                if(StateChapterSelect.Instance.Chapters[i].LevelNumber == 0)
                {
                    for (int j = 0; j < resetChapter.JigsawPeicesUnlocked.Length; j++) {
                        resetChapter.JigsawPeicesUnlocked[j] = 1.0f;
                    }
                    resetChapter.JigsawPeicesUnlocked[5] = 0.8f;
                    resetChapter.UnLocked = true;
                }
                gss.Chapters.Add(resetChapter);
            }

            serializer.Serialize(writer, gss);
            writer.Close();
        }

        Debug.Log("Reset game state");
    }
    public ChapterSaveState ToChapterSaveState()
    {
        ChapterSaveState state =  new ChapterSaveState();

        state.LevelNumber = this.LevelNumber;

        state.Completed = this.Completed;
        state.UnLocked = this.UnLocked;

        for (int i = 0; i < this.JigsawPeicesUnlocked.Length; i++) {
            state.JigsawPeicesUnlocked[i] = this.JigsawPeicesUnlocked[i];
        }

        return state;
    }