@ElmApp.h 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /******************************************************************************/
  2. class ElmApp : ElmData
  3. {
  4. enum FLAG
  5. {
  6. EMBED_ENGINE_DATA =1<<0,
  7. PUBLISH_PROJ_DATA =1<<1,
  8. PUBLISH_PHYSX_DLL =1<<2,
  9. PUBLISH_DATA_AS_PAK =1<<3,
  10. ANDROID_EXPANSION =1<<4,
  11. PUBLISH_STEAM_DLL =1<<5,
  12. PUBLISH_OPEN_VR_DLL =1<<6,
  13. EMBED_ENGINE_DATA_FULL=1<<7,
  14. //WINDOWS_CODE_SIGN =1<< ,
  15. };
  16. Str dirs_windows, dirs_nonwindows,
  17. headers_windows, headers_mac, headers_linux, headers_android, headers_ios,
  18. libs_windows, libs_mac, libs_linux, libs_android, libs_ios,
  19. package, android_license_key, location_usage_reason, cb_app_id_ios, cb_app_signature_ios, cb_app_id_google, cb_app_signature_google;
  20. int build;
  21. ulong fb_app_id;
  22. Edit::STORAGE_MODE storage;
  23. byte supported_orientations, // DIR_FLAG
  24. flag;
  25. UID icon, notification_icon,
  26. image_portrait, image_landscape, // splash screen
  27. gui_skin;
  28. TimeStamp dirs_windows_time, dirs_nonwindows_time,
  29. headers_windows_time, headers_mac_time, headers_linux_time, headers_android_time, headers_ios_time,
  30. fb_app_id_time, cb_app_id_ios_time, cb_app_signature_ios_time, cb_app_id_google_time, cb_app_signature_google_time,
  31. libs_windows_time, libs_mac_time, libs_linux_time, libs_android_time, libs_ios_time,
  32. package_time, android_license_key_time, location_usage_reason_time, build_time, storage_time, supported_orientations_time,
  33. embed_engine_data_time, publish_proj_data_time, publish_physx_dll_time, publish_steam_dll_time, publish_open_vr_dll_time, publish_data_as_pak_time, android_expansion_time,
  34. icon_time, notification_icon_time, image_portrait_time, image_landscape_time, gui_skin_time;
  35. // get
  36. bool equal(C ElmApp &src)C;
  37. bool newer(C ElmApp &src)C;
  38. virtual bool mayContain(C UID &id)C override;
  39. int embedEngineData( )C;
  40. ElmApp& embedEngineData(int e);
  41. bool publishProjData ()C; ElmApp& publishProjData (bool on);
  42. bool publishPhysxDll ()C; ElmApp& publishPhysxDll (bool on);
  43. bool publishSteamDll ()C; ElmApp& publishSteamDll (bool on);
  44. bool publishOpenVRDll()C; ElmApp& publishOpenVRDll(bool on);
  45. bool publishDataAsPak()C; ElmApp& publishDataAsPak(bool on);
  46. bool androidExpansion()C; ElmApp& androidExpansion(bool on);
  47. //bool windowsCodeSign ()C {return FlagTest(flag, WINDOWS_CODE_SIGN );} ElmApp& windowsCodeSign (bool on) {FlagSet(flag, WINDOWS_CODE_SIGN , on); return T;}
  48. // operations
  49. virtual void newData()override;
  50. uint undo(C ElmApp &src);
  51. uint sync(C ElmApp &src, bool manual);
  52. // io
  53. virtual bool save(File &f)C override;
  54. virtual bool load(File &f)override;
  55. class StorageMode
  56. {
  57. Edit::STORAGE_MODE mode;
  58. cchar8 *name;
  59. };
  60. static StorageMode StorageModes[]
  61. ;
  62. virtual void save(MemPtr<TextNode> nodes)C override;
  63. virtual void load(C MemPtr<TextNode> &nodes)override;
  64. public:
  65. ElmApp();
  66. };
  67. /******************************************************************************/
  68. /******************************************************************************/
  69. /******************************************************************************/