ReloadConfigConsoleHandler.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using NLog;
  3. namespace ET.Server
  4. {
  5. [ConsoleHandler(ConsoleMode.ReloadConfig)]
  6. public class ReloadConfigConsoleHandler: IConsoleHandler
  7. {
  8. public async ETTask Run(ModeContex contex, string content)
  9. {
  10. switch (content)
  11. {
  12. case ConsoleMode.ReloadConfig:
  13. contex.Parent.RemoveComponent<ModeContex>();
  14. Log.Console("C must have config name, like: C UnitConfig");
  15. break;
  16. default:
  17. string[] ss = content.Split(" ");
  18. string configName = ss[1];
  19. string category = $"{configName}Category";
  20. Type type = Game.EventSystem.GetType($"ET.{category}");
  21. if (type == null)
  22. {
  23. Log.Console($"reload config but not find {category}");
  24. return;
  25. }
  26. ConfigComponent.Instance.LoadOneConfig(type);
  27. Log.Console($"reload config {configName} finish!");
  28. break;
  29. }
  30. await ETTask.CompletedTask;
  31. }
  32. }
  33. }