[TASK] Initial commit with basic product setup
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using UnityEditor;
|
||||
|
||||
namespace WoLfulus.LineEnding
|
||||
{
|
||||
[InitializeOnLoad]
|
||||
public static class LogEntries
|
||||
{
|
||||
private static Type _type;
|
||||
|
||||
private static PropertyInfo _consoleFlags;
|
||||
private static MethodInfo _SetConsoleFlag;
|
||||
private static MethodInfo _RowGotDoubleClicked;
|
||||
private static MethodInfo _GetStatusText;
|
||||
private static MethodInfo _GetStatusMask;
|
||||
private static MethodInfo _StartGettingEntries;
|
||||
private static MethodInfo _EndGettingEntries;
|
||||
private static MethodInfo _GetFirstTwoLinesEntryTextAndModeInternal;
|
||||
private static MethodInfo _GetEntryCount;
|
||||
private static MethodInfo _GetEntryInternal;
|
||||
private static MethodInfo _GetCount;
|
||||
private static MethodInfo _GetCountsByType;
|
||||
private static MethodInfo _GetStatusViewErrorIndex;
|
||||
private static MethodInfo _ClickStatusBar;
|
||||
private static MethodInfo _Clear;
|
||||
|
||||
|
||||
static LogEntries()
|
||||
{
|
||||
var flags = BindingFlags.Static | BindingFlags.Public;
|
||||
|
||||
if (_type == null)
|
||||
{
|
||||
Assembly assembly = Assembly.GetAssembly(typeof(Editor));
|
||||
_type = assembly.GetType("UnityEditorInternal.LogEntries");
|
||||
if (_type == null) // 2017 Fix
|
||||
{
|
||||
_type = assembly.GetType("UnityEditor.LogEntries");
|
||||
}
|
||||
|
||||
_consoleFlags = _type.GetProperty("consoleFlags", flags);
|
||||
_SetConsoleFlag = _type.GetMethod("SetConsoleFlag", flags);
|
||||
|
||||
_RowGotDoubleClicked = _type.GetMethod("RowGotDoubleClicked", flags);
|
||||
|
||||
_GetStatusText = _type.GetMethod("GetStatusText", flags);
|
||||
_GetStatusMask = _type.GetMethod("GetStatusMask", flags);
|
||||
|
||||
_StartGettingEntries = _type.GetMethod("StartGettingEntries", flags);
|
||||
_EndGettingEntries = _type.GetMethod("EndGettingEntries", flags);
|
||||
|
||||
_GetFirstTwoLinesEntryTextAndModeInternal = _type.GetMethod("GetFirstTwoLinesEntryTextAndModeInternal", flags);
|
||||
|
||||
_GetEntryCount = _type.GetMethod("GetEntryCount", flags);
|
||||
_GetEntryInternal = _type.GetMethod("GetEntryInternal", flags);
|
||||
|
||||
_GetCount = _type.GetMethod("GetCount", flags);
|
||||
_GetCountsByType = _type.GetMethod("GetCountsByType", flags);
|
||||
|
||||
_GetStatusViewErrorIndex = _type.GetMethod("GetStatusViewErrorIndex", flags);
|
||||
_ClickStatusBar = _type.GetMethod("ClickStatusBar", flags);
|
||||
|
||||
_Clear = _type.GetMethod("Clear", flags);
|
||||
}
|
||||
}
|
||||
|
||||
public static int consoleFlags
|
||||
{
|
||||
get
|
||||
{
|
||||
return (int)_consoleFlags.GetValue(null, null);
|
||||
}
|
||||
set
|
||||
{
|
||||
_consoleFlags.SetValue(null, value, null);
|
||||
}
|
||||
}
|
||||
|
||||
public static void RowGotDoubleClicked(int index)
|
||||
{
|
||||
_RowGotDoubleClicked.Invoke(null, new object[1] { index });
|
||||
}
|
||||
|
||||
public static string GetStatusText()
|
||||
{
|
||||
return (string)_GetStatusText.Invoke(null, new object[0]);
|
||||
}
|
||||
|
||||
public static int GetStatusMask()
|
||||
{
|
||||
return (int)_GetStatusMask.Invoke(null, new object[0]);
|
||||
}
|
||||
|
||||
public static int StartGettingEntries()
|
||||
{
|
||||
return (int)_StartGettingEntries.Invoke(null, new object[0]);
|
||||
}
|
||||
|
||||
public static void SetConsoleFlag(int bit, bool value)
|
||||
{
|
||||
_SetConsoleFlag.Invoke(null, new object[2] { bit, value });
|
||||
}
|
||||
|
||||
public static void EndGettingEntries()
|
||||
{
|
||||
_EndGettingEntries.Invoke(null, new object[0]);
|
||||
}
|
||||
|
||||
public static int GetCount()
|
||||
{
|
||||
return (int)_GetCount.Invoke(null, new object[0]);
|
||||
}
|
||||
|
||||
public static void GetCountsByType(ref int errorCount, ref int warningCount, ref int logCount)
|
||||
{
|
||||
_GetCountsByType.Invoke(null, new object[3] { errorCount, warningCount, logCount });
|
||||
}
|
||||
|
||||
public static void GetFirstTwoLinesEntryTextAndModeInternal(int row, ref int mask, ref string outString)
|
||||
{
|
||||
_GetFirstTwoLinesEntryTextAndModeInternal.Invoke(null, new object[3] { row, mask, outString });
|
||||
}
|
||||
|
||||
public static bool GetEntryInternal(int row, object outputEntry)
|
||||
{
|
||||
return (bool)_GetEntryInternal.Invoke(null, new object[2] { row, outputEntry });
|
||||
}
|
||||
|
||||
public static int GetEntryCount(int row)
|
||||
{
|
||||
return (int)_GetEntryCount.Invoke(null, new object[1] { row });
|
||||
}
|
||||
|
||||
public static void Clear()
|
||||
{
|
||||
_Clear.Invoke(null, new object[0]);
|
||||
}
|
||||
|
||||
public static int GetStatusViewErrorIndex()
|
||||
{
|
||||
return (int)_GetStatusViewErrorIndex.Invoke(null, new object[0]);
|
||||
}
|
||||
|
||||
public static void ClickStatusBar(int count)
|
||||
{
|
||||
_ClickStatusBar.Invoke(null, new object[1] { count });
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user