UnityHelper.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #if ENABLE_MONO && (DEVELOPMENT_BUILD || UNITY_EDITOR)
  2. using UnityEngine;
  3. namespace SingularityGroup.HotReload {
  4. static class UnityHelper {
  5. static string m_DataPath;
  6. public static string DataPath { get { Init(); return m_DataPath; } }
  7. static string m_PersistentDataPath;
  8. public static string PersistentDataPath { get { Init(); return m_PersistentDataPath; } }
  9. static string m_TemporaryCachePath;
  10. public static string TemporaryCachePath { get { Init(); return m_TemporaryCachePath; } }
  11. static string m_StreamingAssetsPath;
  12. public static string StreamingAssetsPath { get { Init(); return m_StreamingAssetsPath; } }
  13. static string m_OperatingSystem;
  14. public static string OperatingSystem { get { Init(); return m_OperatingSystem; } }
  15. static RuntimePlatform m_Platform;
  16. public static RuntimePlatform Platform { get { Init(); return m_Platform; } }
  17. static bool m_IsEditor;
  18. public static bool IsEditor { get { Init(); return m_IsEditor; } }
  19. static bool initialized;
  20. public static void Init() {
  21. if(initialized) return;
  22. m_DataPath = Application.dataPath;
  23. m_PersistentDataPath = Application.persistentDataPath;
  24. m_StreamingAssetsPath = Application.streamingAssetsPath;
  25. m_TemporaryCachePath = Application.temporaryCachePath;
  26. m_OperatingSystem = SystemInfo.operatingSystem;
  27. m_Platform = Application.platform;
  28. m_IsEditor = Application.isEditor;
  29. initialized = true;
  30. }
  31. }
  32. }
  33. #endif