Add startup message
This commit is contained in:
parent
7c304c8bdc
commit
037a653eca
2 changed files with 72 additions and 26 deletions
36
CLre/CLre.cs
36
CLre/CLre.cs
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -19,6 +20,11 @@ namespace CLre
|
||||||
public override string Version { get; } = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
public override string Version { get; } = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||||
|
|
||||||
internal static Harmony harmonyInstance = null;
|
internal static Harmony harmonyInstance = null;
|
||||||
|
|
||||||
|
internal static bool _isInidicatorActive = true;
|
||||||
|
|
||||||
|
internal static string _indicatorMsg = " CLre loading...";
|
||||||
|
|
||||||
// called when Cardlife shuts down
|
// called when Cardlife shuts down
|
||||||
public override void OnApplicationQuit()
|
public override void OnApplicationQuit()
|
||||||
{
|
{
|
||||||
|
@ -46,6 +52,8 @@ namespace CLre
|
||||||
// misc
|
// misc
|
||||||
LogIPAPlugins();
|
LogIPAPlugins();
|
||||||
Fixes.BugfixAttributeUtility.LogBugfixes();
|
Fixes.BugfixAttributeUtility.LogBugfixes();
|
||||||
|
BuildIndicatorMessage();
|
||||||
|
API.App.Client.MenuReady += (_, __) => { _isInidicatorActive = false; }; // dismiss CLre msg
|
||||||
|
|
||||||
// Log info
|
// Log info
|
||||||
API.Utility.Logging.MetaLog($"{Name} init complete.");
|
API.Utility.Logging.MetaLog($"{Name} init complete.");
|
||||||
|
@ -104,11 +112,35 @@ namespace CLre
|
||||||
API.Utility.Logging.Log(sb.ToString());
|
API.Utility.Logging.Log(sb.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void BuildIndicatorMessage()
|
||||||
|
{
|
||||||
|
int fixCount = Fixes.BugfixAttributeUtility.Count;
|
||||||
|
int modCount = IllusionInjector.PluginManager.Plugins.Count();
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.AppendFormat(" {0} {1}\n", Name, Version);
|
||||||
|
sb.AppendFormat("{0} bugfixes, {1} plugins, no frills", fixCount, modCount);
|
||||||
|
#if DEBUG
|
||||||
|
sb.AppendFormat(" DEBUG version\n");
|
||||||
|
#endif
|
||||||
|
#if RELEASE
|
||||||
|
sb.AppendFormat(" RELEASE version\n");
|
||||||
|
#endif
|
||||||
|
sb.AppendFormat(" Starting up...\n");
|
||||||
|
_indicatorMsg = sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnGUI()
|
public override void OnGUI()
|
||||||
{
|
{
|
||||||
if (GUI.Button(new Rect(10, 10, 50, 50), "TEST"))
|
// CLre startup inidicator
|
||||||
|
if (_isInidicatorActive)
|
||||||
{
|
{
|
||||||
|
GUILayout.BeginVertical();
|
||||||
|
GUILayout.Label(_indicatorMsg);
|
||||||
|
if (GUILayout.Button("Hide"))
|
||||||
|
{
|
||||||
|
_isInidicatorActive = false;
|
||||||
|
}
|
||||||
|
GUILayout.EndVertical();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,30 +29,17 @@ namespace CLre.Fixes
|
||||||
|
|
||||||
internal static class BugfixAttributeUtility
|
internal static class BugfixAttributeUtility
|
||||||
{
|
{
|
||||||
|
public static int Count { get; private set; }
|
||||||
|
|
||||||
public static void LogBugfixes()
|
public static void LogBugfixes()
|
||||||
{
|
{
|
||||||
List<uint> keys = new List<uint>();
|
API.Utility.Logging.Log(BugfixMessage());
|
||||||
Dictionary<uint, BugfixStruct> fixes = new Dictionary<uint, BugfixStruct>();
|
|
||||||
foreach (Type t in Assembly.GetExecutingAssembly().GetTypes())
|
|
||||||
{
|
|
||||||
BugfixAttribute b = t.GetCustomAttribute<BugfixAttribute>(true);
|
|
||||||
if (b != null)
|
|
||||||
{
|
|
||||||
if (!fixes.ContainsKey(b.id))
|
|
||||||
{
|
|
||||||
BugfixStruct bugfixStruct = new BugfixStruct{id = b.id};
|
|
||||||
bugfixStruct.Merge(b);
|
|
||||||
fixes[b.id] = bugfixStruct;
|
|
||||||
keys.Add(b.id);
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
public static string BugfixMessage()
|
||||||
{
|
{
|
||||||
BugfixStruct bugfixStruct = fixes[b.id];
|
Dictionary<uint, BugfixStruct> fixes = Bugfixes();
|
||||||
bugfixStruct.Merge(b);
|
List<uint> keys = new List<uint>(fixes.Keys);
|
||||||
fixes[b.id] = bugfixStruct;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
keys.Sort();
|
keys.Sort();
|
||||||
//keys.Sort((u, u1) => u.CompareTo(u1));
|
//keys.Sort((u, u1) => u.CompareTo(u1));
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
@ -64,10 +51,37 @@ namespace CLre.Fixes
|
||||||
sb.Append("\n");
|
sb.Append("\n");
|
||||||
}
|
}
|
||||||
sb.AppendFormat("-----------------------------\n");
|
sb.AppendFormat("-----------------------------\n");
|
||||||
API.Utility.Logging.Log(sb.ToString());
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private struct BugfixStruct
|
public static Dictionary<uint, BugfixStruct> Bugfixes()
|
||||||
|
{
|
||||||
|
Dictionary<uint, BugfixStruct> fixes = new Dictionary<uint, BugfixStruct>();
|
||||||
|
foreach (Type t in Assembly.GetExecutingAssembly().GetTypes())
|
||||||
|
{
|
||||||
|
BugfixAttribute b = t.GetCustomAttribute<BugfixAttribute>(true);
|
||||||
|
if (b != null)
|
||||||
|
{
|
||||||
|
if (!fixes.ContainsKey(b.id))
|
||||||
|
{
|
||||||
|
BugfixStruct bugfixStruct = new BugfixStruct{id = b.id};
|
||||||
|
bugfixStruct.Merge(b);
|
||||||
|
fixes[b.id] = bugfixStruct;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
BugfixStruct bugfixStruct = fixes[b.id];
|
||||||
|
bugfixStruct.Merge(b);
|
||||||
|
fixes[b.id] = bugfixStruct;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Count = fixes.Count;
|
||||||
|
return fixes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct BugfixStruct
|
||||||
{
|
{
|
||||||
public string name;
|
public string name;
|
||||||
public string description;
|
public string description;
|
||||||
|
|
Loading…
Reference in a new issue