ConsoleLogNode.cs 971 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using GraphProcessor;
  3. using UnityEngine;
  4. namespace NodeGraphProcessor.Examples
  5. {
  6. [Serializable, NodeMenuItem("Debug/Console Log")]
  7. public class ConsoleNode : LinearConditionalNode
  8. {
  9. public override string name => "Console Log";
  10. [Input("Object")]
  11. public object obj;
  12. [Input("Log"), SerializeField, Tooltip("If Object is null, this will be the log.")]
  13. public string logText = "Log";
  14. [Setting("Log Type")]
  15. public LogType logType = LogType.Log;
  16. protected override void Process()
  17. {
  18. switch(logType)
  19. {
  20. case LogType.Error:
  21. case LogType.Exception:
  22. Debug.LogError(obj != null ? obj.ToString() : logText);
  23. break;
  24. case LogType.Assert:
  25. Debug.LogAssertion(obj != null ? obj.ToString() : logText);
  26. break;
  27. case LogType.Warning:
  28. Debug.LogWarning(obj != null ? obj.ToString() : logText);
  29. break;
  30. case LogType.Log:
  31. Debug.Log(obj != null ? obj.ToString() : logText);
  32. break;
  33. }
  34. }
  35. }
  36. }