diff --git a/Dissonance/Dissonance.csproj b/Dissonance/Dissonance.csproj
index 2a702f7..e5ed6a8 100644
--- a/Dissonance/Dissonance.csproj
+++ b/Dissonance/Dissonance.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/Dissonance/DissonancePatch.cs b/Dissonance/DissonancePatch.cs
index 22ec5f9..c9b3e69 100644
--- a/Dissonance/DissonancePatch.cs
+++ b/Dissonance/DissonancePatch.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-using Harmony;
+using HarmonyLib;
using UnityEngine;
namespace Dissonance
@@ -14,7 +14,7 @@ namespace Dissonance
}
[HarmonyTargetMethod]
- static MethodBase DissonanceMethod(HarmonyInstance instance)
+ static MethodBase DissonanceMethod(Harmony instance)
{
throw new NotImplementedException();
}
diff --git a/Dissonance/DissonancePlugin.cs b/Dissonance/DissonancePlugin.cs
index a18dd3e..a02201e 100644
--- a/Dissonance/DissonancePlugin.cs
+++ b/Dissonance/DissonancePlugin.cs
@@ -1,14 +1,14 @@
using System;
using IllusionPlugin;
using UnityEngine;
-using Harmony;
+using HarmonyLib;
using System.Reflection;
namespace Dissonance
{
public class DissonancePlugin : IllusionPlugin.IEnhancedPlugin
{
- public static HarmonyInstance harmony { get; protected set; }
+ public static Harmony harmony { get; protected set; }
public string[] Filter { get; } = new string[] { "Gamecraft" };
@@ -28,7 +28,7 @@ namespace Dissonance
{
if (harmony == null)
{
- harmony = HarmonyInstance.Create(HarmonyID);
+ harmony = new Harmony(HarmonyID);
harmony.PatchAll(Assembly.GetExecutingAssembly());
}
Debug.Log(Name + " start & patch complete");
diff --git a/Dissonance/Inspector/AssetInspector.cs b/Dissonance/Inspector/AssetInspector.cs
index 3655860..40060d9 100644
--- a/Dissonance/Inspector/AssetInspector.cs
+++ b/Dissonance/Inspector/AssetInspector.cs
@@ -34,11 +34,27 @@ namespace Dissonance.Inspector
Debug.Log("AssetInspector Log dump\n[" + string.Join(",\n", filelines) + "]");
}
+ public static void Log(AssetBundle assetBundle) where T : UnityEngine.Object
+ {
+ Instance[] instances = Inspect(assetBundle);
+ string[] filelines = new string[instances.Length];
+ for (int i = 0; i < instances.Length; i++)
+ {
+ filelines[i] = instances[i].ToString() + ",";
+ }
+ Debug.Log("AssetInspector Log dump\n[" + string.Join(",\n", filelines) + "]");
+ }
+
public static void LogNames() where T : UnityEngine.Object
{
Debug.Log(string.Join("\n", InspectNames()));
}
+ public static void LogNames(AssetBundle assetBundle) where T : UnityEngine.Object
+ {
+ Debug.Log(string.Join("\n", InspectNames(assetBundle)));
+ }
+
public static void LogAll()
{
Log();
@@ -60,14 +76,25 @@ namespace Dissonance.Inspector
File.WriteAllLines(filename, filelines);
}
+ public static void Dump(string filename, AssetBundle assetBundle) where T : UnityEngine.Object
+ {
+ Instance[] instances = Inspect(assetBundle);
+ string[] filelines = new string[instances.Length];
+ for (int i = 0; i < instances.Length; i++)
+ {
+ filelines[i] = instances[i].ToString() + ",";
+ }
+ File.WriteAllLines(filename, filelines);
+ }
+
public static void DumpNames(string filename) where T : UnityEngine.Object
{
File.WriteAllLines(filename, InspectNames());
}
- public static void DumpAll(string filename)
+ public static void DumpNames(string filename, AssetBundle assetBundle) where T : UnityEngine.Object
{
- Dump(filename);
+ File.WriteAllLines(filename, InspectNames(assetBundle));
}
public static void DumpNamesAll(string filename)
@@ -75,32 +102,51 @@ namespace Dissonance.Inspector
DumpNames(filename);
}
+ public static void DumpNamesAll(string filename, AssetBundle assetBundle)
+ {
+ DumpNames(filename, assetBundle);
+ }
+
public static Instance[] Inspect() where T : UnityEngine.Object
{
if (allBundles == null) Init();
List allInstances = new List();
foreach (var b in allBundles)
{
- UnityEngine.Object[] assets = b.LoadAllAssets();
- for (int i = 0; i < assets.Length; i++)
- {
- allInstances.Add(new Instance(assets[i]));
- }
+ allInstances.AddRange(Inspect(b));
}
return allInstances.ToArray();
}
- public static string[] InspectNames() where T : UnityEngine.Object
+ public static Instance[] Inspect(AssetBundle assetBundle) where T : UnityEngine.Object
+ {
+ List allInstances = new List();
+ UnityEngine.Object[] assets = assetBundle.LoadAllAssets();
+ for (int i = 0; i < assets.Length; i++)
+ {
+ allInstances.Add(new Instance(assets[i]));
+ }
+ return allInstances.ToArray();
+ }
+
+ public static string[] InspectNames() where T : UnityEngine.Object
{
if (allBundles == null) Init();
List allNames = new List();
foreach (var b in allBundles)
{
- UnityEngine.Object[] assets = b.LoadAllAssets();
- for (int i = 0; i < assets.Length; i++)
- {
- allNames.Add(assets[i].name);
- }
+ allNames.AddRange(InspectNames(b));
+ }
+ return allNames.ToArray();
+ }
+
+ public static string[] InspectNames(AssetBundle assetBundle) where T : UnityEngine.Object
+ {
+ List allNames = new List();
+ UnityEngine.Object[] assets = assetBundle.LoadAllAssets();
+ for (int i = 0; i < assets.Length; i++)
+ {
+ allNames.Add(assets[i].name);
}
return allNames.ToArray();
}
diff --git a/Dissonance/Inspector/Instance.cs b/Dissonance/Inspector/Instance.cs
index 2208e75..c8d2923 100644
--- a/Dissonance/Inspector/Instance.cs
+++ b/Dissonance/Inspector/Instance.cs
@@ -116,7 +116,7 @@ namespace Dissonance.Inspector
count++;
}
sb.Append("\n]\n");
- sb.Append("}");
+ sb.Append("},");
return sb.ToString();
}
}