test.c 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. class BarDuckAlarmpostObject {
  2. string postclassname;
  3. ref array<string> suondslist;
  4. float TriggerRadius;
  5. float TriggerCooldonw;
  6. }
  7. class BarDuckAlarmpostConfig
  8. {
  9. const static string cfgPathWay = "$profile:BRDK_MODS/BarDuckAlarmpost.json";
  10. const static string dirPathName = "$profile:\\BRDK_MODS";
  11. ref array<ref BarDuckAlarmpostObject> BarDuckAlarmpostObjects = new array<ref BarDuckAlarmpostObject>;
  12. void BarDuckAlarmpostConfig()
  13. {
  14. Print("[BarDuckAlarmpostConfig] config found, loading...");
  15. LoadBarDuckAlarmpostCFG();
  16. }
  17. private void LoadBarDuckAlarmpostCFG()
  18. {
  19. if (FileExist(cfgPathWay))
  20. {
  21. JsonFileLoader<BarDuckAlarmpostConfig>.JsonLoadFile(cfgPathWay, this);
  22. }
  23. else
  24. {
  25. CreateBarDuckAlarmpostConfig();
  26. }
  27. }
  28. private void SaveBarDuckAlarmpostCFG()
  29. {
  30. JsonFileLoader<BarDuckAlarmpostConfig>.JsonSaveFile( cfgPathWay, this );
  31. }
  32. private void CreateBarDuckAlarmpostConfig()
  33. {
  34. if (!FileExist(dirPathName))
  35. {
  36. Print("[BarDuckAlarmpostConfig] '" + dirPathName + "' does not exist, creating...");
  37. MakeDirectory(dirPathName);
  38. }
  39. BarDuckAlarmpostObject new_BarDuckAlarmpostObject = new BarDuckAlarmpostObject;
  40. new_BarDuckAlarmpostObject.postclassname = "RadioPost";
  41. new_BarDuckAlarmpostObject.suondslist = {"RadioPost_SoundSet", "ChemPost_SoundSet"};
  42. new_BarDuckAlarmpostObject.TriggerRadius = 10;
  43. new_BarDuckAlarmpostObject.TriggerCooldonw = 60;
  44. BarDuckAlarmpostObjects.Insert(new_BarDuckAlarmpostObject);
  45. SaveBarDuckAlarmpostCFG();
  46. }
  47. }
  48. static ref BarDuckAlarmpostConfig g_BarDuckAlarmpostConfig = new BarDuckAlarmpostConfig();
  49. static ref BarDuckAlarmpostConfig GetBarDuckAlarmpostConfig()
  50. {
  51. if(!g_BarDuckAlarmpostConfig) g_BarDuckAlarmpostConfig = new BarDuckAlarmpostConfig();
  52. return g_BarDuckAlarmpostConfig;
  53. }