CompilationFinishedLogger.cs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. // logger for compilation finished hook.
  2. // where we need a callback and Debug.Log.
  3. // for Unity 2020+ we use ILPostProcessor.
  4. #if !UNITY_2020_3_OR_NEWER
  5. using Mono.CecilX;
  6. using UnityEngine;
  7. namespace Mirror.Weaver
  8. {
  9. public class CompilationFinishedLogger : Logger
  10. {
  11. public void Warning(string message) => Warning(message, null);
  12. public void Warning(string message, MemberReference mr)
  13. {
  14. if (mr != null) message = $"{message} (at {mr})";
  15. if (CompilationFinishedHook.UnityLogEnabled) Debug.LogWarning(message);
  16. CompilationFinishedHook.OnWeaverWarning?.Invoke(message);
  17. }
  18. public void Error(string message) => Error(message, null);
  19. public void Error(string message, MemberReference mr)
  20. {
  21. if (mr != null) message = $"{message} (at {mr})";
  22. if (CompilationFinishedHook.UnityLogEnabled) Debug.LogError(message);
  23. CompilationFinishedHook.OnWeaverError?.Invoke(message);
  24. }
  25. }
  26. }
  27. #endif