ConfigLoader.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. using System.Collections.Generic;
  2. using System.IO;
  3. namespace ET.Server
  4. {
  5. [Callback(CallbackType.GetAllConfigBytes)]
  6. public class GetAllConfigBytes: IAction<ConfigComponent, Dictionary<string, byte[]>>
  7. {
  8. public void Handle(ConfigComponent configComponent, Dictionary<string, byte[]> output)
  9. {
  10. foreach (string file in Directory.GetFiles($"../Config", "*.bytes"))
  11. {
  12. string key = Path.GetFileNameWithoutExtension(file);
  13. output[key] = File.ReadAllBytes(file);
  14. }
  15. output["StartMachineConfigCategory"] = File.ReadAllBytes($"../Config/{Game.Options.StartConfig}/StartMachineConfigCategory.bytes");
  16. output["StartProcessConfigCategory"] = File.ReadAllBytes($"../Config/{Game.Options.StartConfig}/StartProcessConfigCategory.bytes");
  17. output["StartSceneConfigCategory"] = File.ReadAllBytes($"../Config/{Game.Options.StartConfig}/StartSceneConfigCategory.bytes");
  18. output["StartZoneConfigCategory"] = File.ReadAllBytes($"../Config/{Game.Options.StartConfig}/StartZoneConfigCategory.bytes");
  19. }
  20. }
  21. [Callback(CallbackType.GetOneConfigBytes)]
  22. public class GetOneConfigBytes: IFunc<string, byte[]>
  23. {
  24. public byte[] Handle(string configName)
  25. {
  26. byte[] configBytes = File.ReadAllBytes($"../Config/{configName}.bytes");
  27. return configBytes;
  28. }
  29. }
  30. }