118 lines
2.9 KiB
C#
118 lines
2.9 KiB
C#
using System;
|
|
using System.Reflection;
|
|
using UnityEditor;
|
|
|
|
namespace WoLfulus.LineEnding
|
|
{
|
|
public static class LogEntry
|
|
{
|
|
public static object instance = null;
|
|
|
|
public static string condition
|
|
{
|
|
get
|
|
{
|
|
return (string)_condition.GetValue(instance);
|
|
}
|
|
}
|
|
|
|
public static int errorNum
|
|
{
|
|
get
|
|
{
|
|
return (int)_errorNum.GetValue(instance);
|
|
}
|
|
}
|
|
|
|
public static string file
|
|
{
|
|
get
|
|
{
|
|
return (string)_file.GetValue(instance);
|
|
}
|
|
}
|
|
|
|
public static int line
|
|
{
|
|
get
|
|
{
|
|
return (int)_line.GetValue(instance);
|
|
}
|
|
}
|
|
|
|
public static Mode mode
|
|
{
|
|
get
|
|
{
|
|
return (Mode)((int)_mode.GetValue(instance));
|
|
}
|
|
}
|
|
|
|
public static int instanceID
|
|
{
|
|
get
|
|
{
|
|
return (int)_instanceID.GetValue(instance);
|
|
}
|
|
}
|
|
|
|
public static int identifier
|
|
{
|
|
get
|
|
{
|
|
return (int)_identifier.GetValue(instance);
|
|
}
|
|
}
|
|
|
|
public static int isWorldPlaying
|
|
{
|
|
get
|
|
{
|
|
return (int)_isWorldPlaying.GetValue(instance);
|
|
}
|
|
}
|
|
|
|
private static Type _type = null;
|
|
|
|
private static FieldInfo _condition;
|
|
private static FieldInfo _errorNum;
|
|
private static FieldInfo _file;
|
|
private static FieldInfo _line;
|
|
private static FieldInfo _mode;
|
|
private static FieldInfo _instanceID;
|
|
private static FieldInfo _identifier;
|
|
private static FieldInfo _isWorldPlaying;
|
|
|
|
static LogEntry()
|
|
{
|
|
Initialize();
|
|
}
|
|
|
|
static void Initialize()
|
|
{
|
|
if (_type == null)
|
|
{
|
|
var flags = BindingFlags.Instance | BindingFlags.Public;
|
|
|
|
var assembly = Assembly.GetAssembly(typeof(Editor));
|
|
_type = assembly.GetType("UnityEditorInternal.LogEntry");
|
|
if (_type == null) // 2017 Fix
|
|
{
|
|
_type = assembly.GetType("UnityEditor.LogEntry");
|
|
}
|
|
|
|
_condition = _type.GetField("condition", flags);
|
|
_errorNum = _type.GetField("errorNum", flags);
|
|
_file = _type.GetField("file", flags);
|
|
_line = _type.GetField("line", flags);
|
|
_mode = _type.GetField("mode", flags);
|
|
_instanceID = _type.GetField("instanceID", flags);
|
|
_identifier = _type.GetField("identifier", flags);
|
|
_isWorldPlaying = _type.GetField("isWorldPlaying", flags);
|
|
|
|
instance = Activator.CreateInstance(_type);
|
|
}
|
|
}
|
|
}
|
|
}
|