summaryrefslogtreecommitdiff
path: root/DiscoBot/DSA_Game/Save/Properties.cs
blob: 5d99a5659c796d5038e428f8a82e62c9a9db901a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DiscoBot.DSA_Game.Save
{
    using System.IO;

    using DiscoBot.Audio;
    using DiscoBot.Auxiliary;
    using DiscoBot.Commands;

    using Newtonsoft.Json;

    public class Properties
    {
        public List<CommandInfo> CommandInfos { get; set; }

        public List<Sound> Sounds { get; set; }

        public static Properties Deserialize(string path = @"..\..\Properties.json")
        {   
            try
            {
                return JsonConvert.DeserializeObject<Properties>(File.ReadAllText(path)); // Deserialize Data and create CommandInfo Struct
            }
            catch (Exception e)
            {
                // ignored
                return null;
            }
        }

        public void Serialize(string path = @"..\..\Properties.json")
        {/*
            var stream = new StreamWriter(path); // Load properties file
            var reader = new JsonTextWriter(stream); // create stream reader*/

            try
            {
                 File.WriteAllText(path, JsonConvert.SerializeObject(this, Formatting.Indented)); // Deserialize Data and create CommandInfo Struct
            }
            catch (Exception e)
            {
                // ignored
            }
        }
    }
}