A game about forced loneliness, made by TACStudios
1using System; 2using System.Text.RegularExpressions; 3 4namespace UnityEngine.TestTools.Logging 5{ 6 [Serializable] 7 internal class LogMatch 8 { 9 [SerializeField] 10 private bool m_UseRegex; 11 [SerializeField] 12 private string m_Message; 13 [SerializeField] 14 private string m_MessageRegex; 15 [SerializeField] 16 private string m_LogType; 17 18 public string Message 19 { 20 get { return m_Message; } 21 set 22 { 23 m_Message = value; 24 m_UseRegex = false; 25 } 26 } 27 28 public Regex MessageRegex 29 { 30 get 31 { 32 if (!m_UseRegex) 33 { 34 return null; 35 } 36 37 return new Regex(m_MessageRegex); 38 } 39 set 40 { 41 if (value != null) 42 { 43 m_MessageRegex = value.ToString(); 44 m_UseRegex = true; 45 } 46 else 47 { 48 m_MessageRegex = null; 49 m_UseRegex = false; 50 } 51 } 52 } 53 54 public LogType? LogType 55 { 56 get 57 { 58 if (!string.IsNullOrEmpty(m_LogType)) 59 { 60 return Enum.Parse(typeof(LogType), m_LogType) as LogType ? ; 61 } 62 63 return null; 64 } 65 set 66 { 67 if (value != null) 68 { 69 m_LogType = value.Value.ToString(); 70 } 71 else 72 { 73 m_LogType = null; 74 } 75 } 76 } 77 78 public bool Matches(LogEvent log) 79 { 80 if (LogType != null && LogType != log.LogType) 81 { 82 return false; 83 } 84 85 if (m_UseRegex) 86 { 87 return MessageRegex.IsMatch(log.Message); 88 } 89 90 return Message.Equals(log.Message); 91 } 92 93 public override string ToString() 94 { 95 if (m_UseRegex) 96 return string.Format("[{0}] Regex: {1}", LogType, MessageRegex); 97 return string.Format("[{0}] {1}", LogType, Message); 98 } 99 } 100}