Config.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Text;
  5. using System.Xml.Serialization;
  6. namespace COM3D2.PropMyItem.Plugin
  7. {
  8. // Token: 0x02000004 RID: 4
  9. public class Config
  10. {
  11. // Token: 0x17000001 RID: 1
  12. // (get) Token: 0x06000009 RID: 9 RVA: 0x0000249B File Offset: 0x0000069B
  13. // (set) Token: 0x0600000A RID: 10 RVA: 0x000024A3 File Offset: 0x000006A3
  14. public List<string> TargetBGList
  15. {
  16. get
  17. {
  18. return this._targetBGList;
  19. }
  20. set
  21. {
  22. this._targetBGList = value;
  23. }
  24. }
  25. // Token: 0x17000002 RID: 2
  26. // (get) Token: 0x0600000B RID: 11 RVA: 0x000024AC File Offset: 0x000006AC
  27. // (set) Token: 0x0600000C RID: 12 RVA: 0x000024B4 File Offset: 0x000006B4
  28. public List<SMenuInfo> MenuItems
  29. {
  30. get
  31. {
  32. return this._menuItems;
  33. }
  34. set
  35. {
  36. this._menuItems = value;
  37. }
  38. }
  39. // Token: 0x17000003 RID: 3
  40. // (get) Token: 0x0600000D RID: 13 RVA: 0x000024C0 File Offset: 0x000006C0
  41. public static Config Instance
  42. {
  43. get
  44. {
  45. if (Config._config == null)
  46. {
  47. string text = Directory.GetCurrentDirectory() + "\\Sybaris\\UnityInjector\\Config\\PropMyItem.xml";
  48. Config._config = new Config();
  49. Config._config.SetDefault();
  50. if (File.Exists(text))
  51. {
  52. Config._config.Load(text);
  53. }
  54. else
  55. {
  56. Config._config.Save();
  57. }
  58. }
  59. return Config._config;
  60. }
  61. }
  62. // Token: 0x0600000E RID: 14 RVA: 0x0000251C File Offset: 0x0000071C
  63. public void Load(string filePath)
  64. {
  65. try
  66. {
  67. XmlSerializer xmlSerializer = new XmlSerializer(typeof(Config));
  68. using (StreamReader streamReader = new StreamReader(filePath, new UTF8Encoding(false)))
  69. {
  70. Config config = (Config)xmlSerializer.Deserialize(streamReader);
  71. this.TargetBGList.Clear();
  72. this.TargetBGList.AddRange(config.TargetBGList.ToArray());
  73. this.MenuItems = config.MenuItems;
  74. }
  75. }
  76. catch (Exception)
  77. {
  78. this.SetDefault();
  79. }
  80. }
  81. // Token: 0x0600000F RID: 15 RVA: 0x000025B4 File Offset: 0x000007B4
  82. public void SetDefault()
  83. {
  84. try
  85. {
  86. string[] collection = new string[]
  87. {
  88. "MyRoom",
  89. "MyRoom_Night",
  90. "Shukuhakubeya_BedRoom",
  91. "Shukuhakubeya_BedRoom_Night",
  92. "Soap",
  93. "SMClub",
  94. "HeroineRoom_A1",
  95. "HeroineRoom_A1_night",
  96. "HeroineRoom_B1",
  97. "HeroineRoom_B1_night",
  98. "HeroineRoom_C1",
  99. "HeroineRoom_C1_night",
  100. "HeroineRoom_A",
  101. "HeroineRoom_A_night",
  102. "HeroineRoom_B",
  103. "HeroineRoom_B_night",
  104. "HeroineRoom_C",
  105. "HeroineRoom_C_night"
  106. };
  107. this.TargetBGList.AddRange(collection);
  108. }
  109. catch (Exception)
  110. {
  111. }
  112. }
  113. // Token: 0x06000010 RID: 16 RVA: 0x00002684 File Offset: 0x00000884
  114. public void Save()
  115. {
  116. string filePath = Directory.GetCurrentDirectory() + "\\Sybaris\\UnityInjector\\Config\\PropMyItem.xml";
  117. this.Save(filePath);
  118. }
  119. // Token: 0x06000011 RID: 17 RVA: 0x000026A8 File Offset: 0x000008A8
  120. public void Save(string filePath)
  121. {
  122. try
  123. {
  124. XmlSerializer xmlSerializer = new XmlSerializer(typeof(Config));
  125. StreamWriter streamWriter = new StreamWriter(filePath, false, new UTF8Encoding(false));
  126. xmlSerializer.Serialize(streamWriter, this);
  127. streamWriter.Close();
  128. }
  129. catch (Exception value)
  130. {
  131. Console.WriteLine(value);
  132. }
  133. }
  134. // Token: 0x04000004 RID: 4
  135. private List<string> _targetBGList = new List<string>();
  136. // Token: 0x04000005 RID: 5
  137. private List<SMenuInfo> _menuItems = new List<SMenuInfo>();
  138. // Token: 0x04000006 RID: 6
  139. private static Config _config;
  140. }
  141. }