DB.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Runtime.CompilerServices;
  4. using DatabaseModel;
  5. public static class DB
  6. {
  7. public static IDictionary<int, AudioClipData> AudioClipData
  8. {
  9. get
  10. {
  11. return DB._audioClipData;
  12. }
  13. }
  14. public static IDictionary<int, CameraEffectProxyPrefabData> CameraEffectProxyPrefabData
  15. {
  16. get
  17. {
  18. return DB._cameraEffectProxyPrefabData;
  19. }
  20. }
  21. public static IList<EnemyAttrData> EnemyAttrData
  22. {
  23. get
  24. {
  25. return DB._enemyAttrData;
  26. }
  27. }
  28. public static IDictionary<string, Enhancement> Enhancements
  29. {
  30. get
  31. {
  32. return DB._enhancements;
  33. }
  34. }
  35. public static IDictionary<string, VoiceOver> VoiceOvers
  36. {
  37. get
  38. {
  39. return DB._voiceOvers;
  40. }
  41. }
  42. public static void Preload()
  43. {
  44. if (DB._isPreloaded)
  45. {
  46. return;
  47. }
  48. string fileName = "AudioClipData";
  49. Func<string, int> setKey = new Func<string, int>(int.Parse);
  50. DB._audioClipData = CSVHelper.Csv2Dictionary<int, AudioClipData>(fileName, setKey, new Func<string[], AudioClipData>(DatabaseModel.AudioClipData.SetValue));
  51. string fileName2 = "CameraEffectProxyPrefabData";
  52. Func<string, int> setKey2 = new Func<string, int>(int.Parse);
  53. DB._cameraEffectProxyPrefabData = CSVHelper.Csv2Dictionary<int, CameraEffectProxyPrefabData>(fileName2, setKey2, new Func<string[], CameraEffectProxyPrefabData>(DatabaseModel.CameraEffectProxyPrefabData.SetValue));
  54. string fileName3 = "EnemyAttrData";
  55. DB._enemyAttrData = CSVHelper.Csv2List<EnemyAttrData>(fileName3, new Func<string[], EnemyAttrData>(DatabaseModel.EnemyAttrData.SetValue));
  56. string fileName4 = "Enhancement";
  57. Func<string, string> setKey3 = (string a) => a;
  58. DB._enhancements = CSVHelper.Csv2Dictionary<string, Enhancement>(fileName4, setKey3, new Func<string[], Enhancement>(Enhancement.SetValue));
  59. string fileName5 = "VoiceOver";
  60. Func<string, string> setKey4 = (string a) => a;
  61. DB._voiceOvers = CSVHelper.Csv2Dictionary<string, VoiceOver>(fileName5, setKey4, new Func<string[], VoiceOver>(VoiceOver.SetValue));
  62. DB._isPreloaded = true;
  63. }
  64. private static IList<EnemyAttrData> _enemyAttrData;
  65. private static IDictionary<int, AudioClipData> _audioClipData;
  66. private static IDictionary<int, CameraEffectProxyPrefabData> _cameraEffectProxyPrefabData;
  67. private static IDictionary<string, Enhancement> _enhancements;
  68. private static IDictionary<string, VoiceOver> _voiceOvers;
  69. private static bool _isPreloaded;
  70. }