AutoTranslatorPlugin.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Reflection;
  6. using System.Text;
  7. using ExIni;
  8. using IllusionPlugin;
  9. using XUnity.AutoTranslator.Plugin.Core;
  10. using XUnity.AutoTranslator.Plugin.Core.Configuration;
  11. using XUnity.AutoTranslator.Plugin.Core.Constants;
  12. namespace XUnity.AutoTranslator.Plugin.IPA
  13. {
  14. public class AutoTranslatorPlugin : IPlugin, IConfiguration
  15. {
  16. private IniFile _file;
  17. private string _configPath;
  18. private string _dataFolder;
  19. public AutoTranslatorPlugin()
  20. {
  21. _dataFolder = "Plugins";
  22. _configPath = Path.Combine( _dataFolder, "AutoTranslatorConfig.ini" );
  23. }
  24. public IniFile Preferences
  25. {
  26. get
  27. {
  28. return ( _file ?? ( _file = ReloadConfig() ) ); ;
  29. }
  30. }
  31. public string DataPath
  32. {
  33. get
  34. {
  35. return _dataFolder;
  36. }
  37. }
  38. public IniFile ReloadConfig()
  39. {
  40. if( !File.Exists( _configPath ) )
  41. {
  42. return ( _file ?? new IniFile() );
  43. }
  44. IniFile ini = IniFile.FromFile( _configPath );
  45. if( _file == null )
  46. {
  47. return ( _file = ini );
  48. }
  49. _file.Merge( ini );
  50. return _file;
  51. }
  52. public void SaveConfig()
  53. {
  54. _file.Save( _configPath );
  55. }
  56. public string Name => PluginInfo.Name;
  57. public string Version => PluginInfo.Version;
  58. public void OnApplicationQuit()
  59. {
  60. }
  61. public void OnApplicationStart()
  62. {
  63. PluginLoader.LoadWithConfig( this );
  64. }
  65. public void OnFixedUpdate()
  66. {
  67. }
  68. public void OnLevelWasInitialized( int level )
  69. {
  70. }
  71. public void OnLevelWasLoaded( int level )
  72. {
  73. }
  74. public void OnUpdate()
  75. {
  76. }
  77. }
  78. }