Initializer.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.IO;
  3. using UnityEngine;
  4. using VEngine.Editor.Builds;
  5. using VEngine.Editor.Simulation;
  6. using GFGGame;
  7. namespace VEngine.Editor
  8. {
  9. public static class Initializer
  10. {
  11. [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
  12. private static void Init()
  13. {
  14. Versions.DownloadDataPath = Path.Combine(Application.persistentDataPath, Utility.buildPath);
  15. Versions.PlatformName = Settings.GetPlatformName();
  16. var config = Settings.GetPlayerSettings();
  17. var settings = Settings.GetDefaultSettings();
  18. Versions.SimulationMode = settings.scriptPlayMode == ScriptPlayMode.Simulation;
  19. switch (settings.scriptPlayMode)
  20. {
  21. case ScriptPlayMode.Simulation:
  22. Versions.FuncCreateAsset = EditorAsset.Create;
  23. Versions.FuncCreateScene = EditorScene.Create;
  24. Versions.FuncCreateManifest = EditorManifestAsset.Create;
  25. SqliteController.Instance.dirPath = Path.Combine(Environment.CurrentDirectory, ResPathUtil.CONFIG_DIR_PATH);
  26. config.offlineMode = true;
  27. break;
  28. case ScriptPlayMode.Preload:
  29. Versions.PlayerDataPath = Path.Combine(Environment.CurrentDirectory, Settings.PlatformBuildPath);
  30. config.offlineMode = true;
  31. break;
  32. case ScriptPlayMode.Incremental:
  33. if (!Directory.Exists(Path.Combine(Application.streamingAssetsPath,
  34. Utility.buildPath)))
  35. config.assets.Clear();
  36. SqliteController.Instance.dirPath = null;
  37. config.offlineMode = false;
  38. break;
  39. default:
  40. throw new ArgumentOutOfRangeException();
  41. }
  42. //ILRuntime
  43. LauncherConfig.ILRuntimeMode = settings.ILRuntimeMode;
  44. }
  45. }
  46. }