using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using BepInEx;
using BepInEx.Configuration;
using Bounce.Singletons;
using Bounce.Unmanaged;
using RadialUI;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("IconsPlugin")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("IconsPlugin")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("IconsPlugin")]
[assembly: ComVisible(false)]
[assembly: Guid("c303405d-e66c-4316-9cdb-4e3ca15c6360")]
[assembly: AssemblyFileVersion("2.3.1.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("2.3.1.0")]
namespace LordAshes;
[BepInPlugin("org.lordashes.plugins.icons", "Icons Plug-In", "2.3.1.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class IconsPlugin : BaseUnityPlugin
{
public enum DiagnostiocLevel
{
none,
low,
medium,
high,
ultra
}
public enum BoardState
{
boardNotReady,
boardIconsBuildDelay,
boardReady
}
public static class Utility
{
public static void PostOnMainPage(MemberInfo plugin)
{
SceneManager.sceneLoaded += delegate(Scene scene, LoadSceneMode mode)
{
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
//IL_0079: Expected O, but got Unknown
try
{
if (((Scene)(ref scene)).name == "UI")
{
TextMeshProUGUI uITextByName = GetUITextByName("BETA");
if (Object.op_Implicit((Object)(object)uITextByName))
{
((TMP_Text)uITextByName).text = "INJECTED BUILD - unstable mods";
}
}
else
{
TextMeshProUGUI uITextByName2 = GetUITextByName("TextMeshPro Text");
if (Object.op_Implicit((Object)(object)uITextByName2))
{
BepInPlugin val = (BepInPlugin)Attribute.GetCustomAttribute(plugin, typeof(BepInPlugin));
if (((TMP_Text)uITextByName2).text.EndsWith("</size>"))
{
((TMP_Text)uITextByName2).text = ((TMP_Text)uITextByName2).text + "\n\nMods Currently Installed:\n";
}
TextMeshProUGUI val2 = uITextByName2;
((TMP_Text)val2).text = ((TMP_Text)val2).text + "\nLord Ashes' " + val.Name + " - " + val.Version;
}
}
}
catch (Exception ex)
{
Debug.Log((object)ex);
}
};
}
public static bool isBoardLoaded()
{
return SimpleSingletonBehaviour<CameraController>.HasInstance && SingletonStateMBehaviour<BoardSessionManager, State<BoardSessionManager>>.HasInstance && !BoardSessionManager.IsLoading;
}
public static bool StrictKeyCheck(KeyboardShortcut check)
{
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
if (!((KeyboardShortcut)(ref check)).IsUp())
{
return false;
}
KeyCode[] array = new KeyCode[6];
RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
KeyCode[] array2 = (KeyCode[])(object)array;
foreach (KeyCode val in array2)
{
if (Input.GetKey(val) != ((KeyboardShortcut)(ref check)).Modifiers.Contains(val))
{
return false;
}
}
return true;
}
private static TextMeshProUGUI GetUITextByName(string name)
{
TextMeshProUGUI[] array = Object.FindObjectsOfType<TextMeshProUGUI>();
for (int i = 0; i < array.Length; i++)
{
if (((Object)array[i]).name == name)
{
return array[i];
}
}
return null;
}
public static GameObject GetBaseLoader(CreatureGuid cid)
{
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
try
{
CreatureBoardAsset val = null;
CreaturePresenter.TryGetAsset(cid, ref val);
if ((Object)(object)val != (Object)null)
{
CreatureBase match = null;
StartWith(val, "_base", ref match);
Transform match2 = null;
Traverse(((Component)match).transform, "BaseLoader", ref match2, logSteps: false);
if ((Object)(object)match2 != (Object)null)
{
return ((Component)match2.GetChild(0)).gameObject;
}
Debug.Log((object)"Icons Plugin: Found No Base. Found Children Are...");
Traverse(((Component)match).transform, "{Dummy}", ref match2, logSteps: true);
return null;
}
return null;
}
catch
{
return null;
}
}
public static GameObject GetAssetLoader(CreatureGuid cid)
{
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
try
{
CreatureBoardAsset val = null;
CreaturePresenter.TryGetAsset(cid, ref val);
if ((Object)(object)val != (Object)null)
{
Transform match = null;
StartWith(val, "_creatureRoot", ref match);
Transform match2 = null;
Traverse(match, "AssetLoader", ref match2, logSteps: false);
if ((Object)(object)match2 != (Object)null)
{
if (match2.childCount > 0)
{
return ((Component)match2.GetChild(0)).gameObject;
}
return null;
}
return null;
}
return null;
}
catch
{
return null;
}
}
public static void StartWith<T>(CreatureBoardAsset asset, string seek, ref T match)
{
try
{
Type typeFromHandle = typeof(CreatureBoardAsset);
match = default(T);
foreach (FieldInfo runtimeField in typeFromHandle.GetRuntimeFields())
{
if (runtimeField.Name == seek)
{
match = (T)runtimeField.GetValue(asset);
break;
}
}
}
catch
{
match = default(T);
}
}
public static void Traverse(Transform root, string seek, ref Transform match, bool logSteps)
{
if (logSteps)
{
Debug.Log((object)("Icons Plugin: Seeking Child Named '" + seek + "'. Found '" + ((Object)root).name + "'"));
}
try
{
if ((Object)(object)match != (Object)null)
{
return;
}
if (((Object)root).name == seek)
{
match = root;
return;
}
foreach (Transform item in ExtensionMethods.Children(root))
{
Traverse(item, seek, ref match, logSteps);
}
}
catch
{
}
}
public static string GetCreatureName(string nameBlock)
{
if (nameBlock == null)
{
return "(Unknown)";
}
if (!nameBlock.Contains("<size=0>"))
{
return nameBlock;
}
return nameBlock.Substring(0, nameBlock.IndexOf("<size=0>")).Trim();
}
}
public const string Name = "Icons Plug-In";
public const string Guid = "org.lordashes.plugins.icons";
public const string Version = "2.3.1.0";
private List<CreatureGuid> iconifiedAssets = new List<CreatureGuid>();
private static BoardState boardReady;
private List<DatumChange> backlog = new List<DatumChange>();
private GameObject icon0;
private GameObject icon1;
private GameObject icon2;
private GameObject icon3;
private GameObject icon4;
private GameObject icon5;
private GameObject icon6;
private GameObject icon7;
private GameObject icon8;
private GameObject icon9;
private GameObject icon10;
private GameObject icon11;
private Vector3 offset0;
private Vector3 offset1;
private Vector3 offset2;
private Vector3 offset3;
private Vector3 offset4;
private Vector3 offset5;
private Vector3 offset6;
private Vector3 offset7;
private Vector3 offset8;
private Vector3 offset9;
private Vector3 offset10;
private Vector3 offset11;
private ConfigEntry<KeyboardShortcut> triggerIconsMenu { get; set; }
private ConfigEntry<bool> performanceHigh { get; set; }
private ConfigEntry<float> delayIconProcessing { get; set; }
private ConfigEntry<DiagnostiocLevel> diagnosticLevel { get; set; }
private ConfigEntry<bool> iconsOverHead { get; set; }
private void Awake()
{
//IL_0093: Unknown result type (might be due to invalid IL or missing references)
diagnosticLevel = ((BaseUnityPlugin)this).Config.Bind<DiagnostiocLevel>("Setting", "Diagnostic Details In Log", DiagnostiocLevel.low, (ConfigDescription)null);
Debug.Log((object)("Icons Plugin: " + ((object)this).GetType().AssemblyQualifiedName + " is Active. (Diagnostic Level: " + diagnosticLevel.Value.ToString() + ")"));
triggerIconsMenu = ((BaseUnityPlugin)this).Config.Bind<KeyboardShortcut>("Hotkeys", "Icons Toggle Menu", new KeyboardShortcut((KeyCode)105, (KeyCode[])(object)new KeyCode[1] { (KeyCode)306 }), (ConfigDescription)null);
performanceHigh = ((BaseUnityPlugin)this).Config.Bind<bool>("Settings", "Use High Performance (uses higher CPU load)", true, (ConfigDescription)null);
delayIconProcessing = ((BaseUnityPlugin)this).Config.Bind<float>("Setting", "Delay Icon Processing On Startup", 3f, (ConfigDescription)null);
iconsOverHead = ((BaseUnityPlugin)this).Config.Bind<bool>("Setting", "Show Icons Overhead", false, (ConfigDescription)null);
RadialSubmenu.EnsureMainMenuItem("org.hollofox.plugins.RadialUIPlugin.Icons", (MenuType)1, "Icons", Image.LoadSprite("Icons/Icons.png", (CacheType)999));
Regex regex = new Regex("Icons/org.lordashes.plugins.icons/(.+)\\.(P|p)(N|n)(G|g)$");
string[] array = File.Catalog(false);
foreach (string iconFile in array)
{
if (diagnosticLevel.Value >= DiagnostiocLevel.ultra)
{
Debug.Log((object)("Icons Plugin: Comparing '" + iconFile + "' To Regex"));
}
if (!regex.IsMatch(iconFile))
{
continue;
}
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)("Icons Plugin: Found Icons '" + iconFile + "'"));
}
RadialSubmenu.CreateSubMenuItem("org.hollofox.plugins.RadialUIPlugin.Icons", Path.GetFileNameWithoutExtension(iconFile), Image.LoadSprite(iconFile, (CacheType)999), (Action<CreatureGuid, string, MapMenuItem>)delegate(CreatureGuid a, string b, MapMenuItem c)
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
ToggleIcon(a, iconFile);
}, false, (Func<bool>)delegate
{
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
if (diagnosticLevel.Value >= DiagnostiocLevel.medium)
{
Debug.Log((object)("Icons Plugin: Adding Icon '" + iconFile + "'"));
}
return LocalClient.HasControlOfCreature(new CreatureGuid(RadialUIPlugin.GetLastRadialTargetCreature()));
});
}
AssetDataPlugin.Subscribe("org.lordashes.plugins.icons", (Action<DatumChange>)delegate(DatumChange change)
{
HandleRequest((DatumChange[])(object)new DatumChange[1] { change });
});
Utility.PostOnMainPage(((object)this).GetType());
}
private void Update()
{
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
if (Utility.isBoardLoaded())
{
if (boardReady == BoardState.boardNotReady)
{
boardReady = BoardState.boardIconsBuildDelay;
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)"Icons Plugin: Board Loaded Delaying Message Processing To Allow Minis To Load");
}
((MonoBehaviour)this).StartCoroutine("DelayIconProcessing", (object)new object[1] { delayIconProcessing.Value });
}
if (Utility.StrictKeyCheck(triggerIconsMenu.Value))
{
ShowIconMenu(LocalClient.SelectedCreatureId);
}
if (performanceHigh.Value)
{
foreach (CreatureGuid iconifiedAsset in iconifiedAssets)
{
SyncBaseWithIcons(iconifiedAsset);
}
return;
}
_ = LocalClient.SelectedCreatureId;
if (true && iconifiedAssets.Contains(LocalClient.SelectedCreatureId))
{
SyncBaseWithIcons(LocalClient.SelectedCreatureId);
}
}
else if (boardReady != 0)
{
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)"Icons Plugin: Board Unloaded");
}
boardReady = BoardState.boardNotReady;
}
}
public void ShowIconMenu(CreatureGuid cid)
{
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0044: Expected O, but got Unknown
//IL_0116: Unknown result type (might be due to invalid IL or missing references)
//IL_011d: Expected O, but got Unknown
if (diagnosticLevel.Value >= DiagnostiocLevel.medium)
{
Debug.Log((object)"Icons Plugin: Showing WinForms Based Menu");
}
Form menu = new Form();
((Control)menu).SuspendLayout();
menu.FormBorderStyle = (FormBorderStyle)0;
menu.ControlBox = false;
menu.MinimizeBox = false;
menu.MaximizeBox = false;
menu.ShowInTaskbar = false;
menu.AllowTransparency = true;
menu.TransparencyKey = Color.CornflowerBlue;
((Control)menu).BackColor = Color.CornflowerBlue;
int num = 0;
int num2 = 0;
Regex regex = new Regex("Icons/org.lordashes.plugins.icons/(.+)\\.(P|p)(N|n)(G|g)$");
string[] array = File.Catalog(false);
foreach (string text in array)
{
if (regex.IsMatch(text))
{
num2++;
string iconFile = text;
PictureBox val = new PictureBox();
val.SizeMode = (PictureBoxSizeMode)2;
val.Load(File.Find(text, (CacheType)999)[0]);
((Control)val).Top = 5;
((Control)val).Left = num;
((Control)val).Click += delegate
{
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
menu.Close();
ToggleIcon(cid, iconFile);
};
((Control)menu).Controls.Add((Control)(object)val);
num += 70;
}
}
((Control)menu).Width = 70 * num2;
((Control)menu).Height = 100;
((Control)menu).ResumeLayout();
menu.StartPosition = (FormStartPosition)1;
((Control)menu).Show();
if (diagnosticLevel.Value >= DiagnostiocLevel.ultra)
{
Debug.Log((object)"Menu Focus...");
}
((Control)menu).Focus();
}
private void ToggleIcon(CreatureGuid cid, string iconFile)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
if (RadialUIPlugin.GetLastRadialTargetCreature() != NGuid.Empty && RadialUIPlugin.GetLastRadialTargetCreature() != default(NGuid))
{
((CreatureGuid)(ref cid))..ctor(RadialUIPlugin.GetLastRadialTargetCreature());
}
else
{
cid = LocalClient.SelectedCreatureId;
}
if (diagnosticLevel.Value >= DiagnostiocLevel.medium)
{
Debug.Log((object)("Icons Plugin: Toggling Icon (" + iconFile + ") State On Creature " + ((object)(CreatureGuid)(ref cid)).ToString()));
}
UpdateIconList(((object)(CreatureGuid)(ref cid)).ToString(), iconFile);
}
private void UpdateIconList(string cid, string iconFile)
{
iconFile = Path.GetFileNameWithoutExtension(iconFile);
string text = AssetDataPlugin.ReadInfo(cid, "org.lordashes.plugins.icons");
if (text == null)
{
text = "";
}
text = ((!text.Contains("[" + iconFile + "]")) ? (text + "[" + iconFile + "]") : text.Replace("[" + iconFile + "]", ""));
AssetDataPlugin.SetInfo(cid, "org.lordashes.plugins.icons", text, false);
}
public void HandleRequest(DatumChange[] changes)
{
//IL_013d: Unknown result type (might be due to invalid IL or missing references)
//IL_0124: Unknown result type (might be due to invalid IL or missing references)
if (boardReady == BoardState.boardNotReady)
{
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)"Icons Plugin: Adding Request To Backlog");
}
backlog.AddRange(changes);
return;
}
foreach (DatumChange val in changes)
{
try
{
if (val.key == "org.lordashes.plugins.icons")
{
string text = AssetDataPlugin.ReadInfo(val.source, "org.lordashes.plugins.icons");
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)("Icons Plugin: Icons for Creature '" + val.source + "' have changed to '" + text + "'"));
}
if (text != "")
{
text = text.Substring(1);
text = text.Substring(0, text.Length - 1);
string[] iconFiles = text.Split(new string[1] { "][" }, StringSplitOptions.RemoveEmptyEntries);
UpdateActiveIcons(new CreatureGuid(val.source), iconFiles);
}
else
{
UpdateActiveIcons(new CreatureGuid(val.source), new string[0]);
}
}
}
catch (Exception)
{
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)"Icons Plugin: Failure to process change. Placing back on backlog.");
}
backlog.Add(val);
}
}
}
private void UpdateActiveIcons(CreatureGuid cid, string[] iconFiles)
{
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0049: Unknown result type (might be due to invalid IL or missing references)
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
//IL_00ef: Expected O, but got Unknown
//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
//IL_027e: Unknown result type (might be due to invalid IL or missing references)
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)("Icons Plugin: Updating Creature '" + ((object)(CreatureGuid)(ref cid)).ToString() + "' Icons"));
}
CreatureBoardAsset val = default(CreatureBoardAsset);
CreaturePresenter.TryGetAsset(cid, ref val);
iconifiedAssets.Remove(cid);
for (int i = 0; i < 12; i++)
{
Object.Destroy((Object)(object)GameObject.Find("StateIcon" + i + ":" + ((object)(CreatureGuid)(ref cid)).ToString()));
}
if (iconFiles.Length == 0)
{
return;
}
Transform transform = Utility.GetAssetLoader(val.CreatureId).transform;
iconifiedAssets.Add(cid);
if (!((Object)(object)val != (Object)null))
{
return;
}
GameObject[] array = (GameObject[])(object)new GameObject[12];
for (int j = 0; j < iconFiles.Length; j++)
{
array[j] = new GameObject();
((Object)array[j]).name = "StateIcon" + j + ":" + ((object)(CreatureGuid)(ref cid)).ToString();
Canvas val2 = array[j].AddComponent<Canvas>();
Image val3 = array[j].AddComponent<Image>();
((Component)val3).transform.SetParent(((Component)val2).transform);
array[j].GetComponent<Image>().sprite = Image.LoadSprite("Icons/org.lordashes.plugins.icons/" + iconFiles[j] + ".PNG", (CacheType)999);
if (!iconsOverHead.Value)
{
((Component)array[j].GetComponent<Image>()).transform.localScale = new Vector3(0.001f, 0.001f, 0.001f);
}
else
{
((Component)array[j].GetComponent<Image>()).transform.localScale = new Vector3(0.003f, 0.003f, 0.003f);
}
array[j].SetActive(true);
if (!iconsOverHead.Value)
{
array[j].transform.SetParent(transform);
}
else
{
array[j].transform.SetParent(transform, true);
}
}
if (diagnosticLevel.Value >= DiagnostiocLevel.ultra)
{
Debug.Log((object)("Icons Plugin: Updating Creature '" + ((object)(CreatureGuid)(ref cid)).ToString() + "' Icons Position"));
}
SyncBaseWithIcons(cid);
}
private void SyncBaseWithIcons(CreatureGuid cid)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_067a: Unknown result type (might be due to invalid IL or missing references)
//IL_0bce: Unknown result type (might be due to invalid IL or missing references)
//IL_0bd8: Unknown result type (might be due to invalid IL or missing references)
//IL_0bdd: Unknown result type (might be due to invalid IL or missing references)
//IL_0bf1: Unknown result type (might be due to invalid IL or missing references)
//IL_0bf6: Unknown result type (might be due to invalid IL or missing references)
//IL_0bfb: Unknown result type (might be due to invalid IL or missing references)
//IL_0c0c: Unknown result type (might be due to invalid IL or missing references)
//IL_0c17: Unknown result type (might be due to invalid IL or missing references)
//IL_0c1c: Unknown result type (might be due to invalid IL or missing references)
//IL_0c41: Unknown result type (might be due to invalid IL or missing references)
//IL_0c50: Unknown result type (might be due to invalid IL or missing references)
//IL_0c81: Unknown result type (might be due to invalid IL or missing references)
//IL_0c8b: Unknown result type (might be due to invalid IL or missing references)
//IL_0c90: Unknown result type (might be due to invalid IL or missing references)
//IL_0ca4: Unknown result type (might be due to invalid IL or missing references)
//IL_0ca9: Unknown result type (might be due to invalid IL or missing references)
//IL_0cae: Unknown result type (might be due to invalid IL or missing references)
//IL_0cbe: Unknown result type (might be due to invalid IL or missing references)
//IL_0cc8: Unknown result type (might be due to invalid IL or missing references)
//IL_0ccd: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce1: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce6: Unknown result type (might be due to invalid IL or missing references)
//IL_0ceb: Unknown result type (might be due to invalid IL or missing references)
//IL_0cfc: Unknown result type (might be due to invalid IL or missing references)
//IL_0d07: Unknown result type (might be due to invalid IL or missing references)
//IL_0d0c: Unknown result type (might be due to invalid IL or missing references)
//IL_0d31: Unknown result type (might be due to invalid IL or missing references)
//IL_0d40: Unknown result type (might be due to invalid IL or missing references)
//IL_0d57: Unknown result type (might be due to invalid IL or missing references)
//IL_0d62: Unknown result type (might be due to invalid IL or missing references)
//IL_0d67: Unknown result type (might be due to invalid IL or missing references)
//IL_0d8c: Unknown result type (might be due to invalid IL or missing references)
//IL_0d9b: Unknown result type (might be due to invalid IL or missing references)
//IL_0f9a: Unknown result type (might be due to invalid IL or missing references)
//IL_0fa4: Unknown result type (might be due to invalid IL or missing references)
//IL_0fa9: Unknown result type (might be due to invalid IL or missing references)
//IL_0fbd: Unknown result type (might be due to invalid IL or missing references)
//IL_0fc2: Unknown result type (might be due to invalid IL or missing references)
//IL_0fc7: Unknown result type (might be due to invalid IL or missing references)
//IL_0fd7: Unknown result type (might be due to invalid IL or missing references)
//IL_0fe1: Unknown result type (might be due to invalid IL or missing references)
//IL_0fe6: Unknown result type (might be due to invalid IL or missing references)
//IL_0ffa: Unknown result type (might be due to invalid IL or missing references)
//IL_0fff: Unknown result type (might be due to invalid IL or missing references)
//IL_1004: Unknown result type (might be due to invalid IL or missing references)
//IL_1014: Unknown result type (might be due to invalid IL or missing references)
//IL_101e: Unknown result type (might be due to invalid IL or missing references)
//IL_1023: Unknown result type (might be due to invalid IL or missing references)
//IL_1037: Unknown result type (might be due to invalid IL or missing references)
//IL_103c: Unknown result type (might be due to invalid IL or missing references)
//IL_1041: Unknown result type (might be due to invalid IL or missing references)
//IL_1051: Unknown result type (might be due to invalid IL or missing references)
//IL_105b: Unknown result type (might be due to invalid IL or missing references)
//IL_1060: Unknown result type (might be due to invalid IL or missing references)
//IL_1074: Unknown result type (might be due to invalid IL or missing references)
//IL_1079: Unknown result type (might be due to invalid IL or missing references)
//IL_107e: Unknown result type (might be due to invalid IL or missing references)
//IL_108f: Unknown result type (might be due to invalid IL or missing references)
//IL_109a: Unknown result type (might be due to invalid IL or missing references)
//IL_109f: Unknown result type (might be due to invalid IL or missing references)
//IL_10c4: Unknown result type (might be due to invalid IL or missing references)
//IL_10d3: Unknown result type (might be due to invalid IL or missing references)
//IL_10ea: Unknown result type (might be due to invalid IL or missing references)
//IL_10f5: Unknown result type (might be due to invalid IL or missing references)
//IL_10fa: Unknown result type (might be due to invalid IL or missing references)
//IL_111f: Unknown result type (might be due to invalid IL or missing references)
//IL_112e: Unknown result type (might be due to invalid IL or missing references)
//IL_1145: Unknown result type (might be due to invalid IL or missing references)
//IL_1150: Unknown result type (might be due to invalid IL or missing references)
//IL_1155: Unknown result type (might be due to invalid IL or missing references)
//IL_117a: Unknown result type (might be due to invalid IL or missing references)
//IL_1189: Unknown result type (might be due to invalid IL or missing references)
//IL_11a0: Unknown result type (might be due to invalid IL or missing references)
//IL_11ab: Unknown result type (might be due to invalid IL or missing references)
//IL_11b0: Unknown result type (might be due to invalid IL or missing references)
//IL_11d5: Unknown result type (might be due to invalid IL or missing references)
//IL_11e4: Unknown result type (might be due to invalid IL or missing references)
//IL_0dcc: Unknown result type (might be due to invalid IL or missing references)
//IL_0dd6: Unknown result type (might be due to invalid IL or missing references)
//IL_0ddb: Unknown result type (might be due to invalid IL or missing references)
//IL_0def: Unknown result type (might be due to invalid IL or missing references)
//IL_0df4: Unknown result type (might be due to invalid IL or missing references)
//IL_0df9: Unknown result type (might be due to invalid IL or missing references)
//IL_0e09: Unknown result type (might be due to invalid IL or missing references)
//IL_0e13: Unknown result type (might be due to invalid IL or missing references)
//IL_0e18: Unknown result type (might be due to invalid IL or missing references)
//IL_0e2c: Unknown result type (might be due to invalid IL or missing references)
//IL_0e31: Unknown result type (might be due to invalid IL or missing references)
//IL_0e36: Unknown result type (might be due to invalid IL or missing references)
//IL_0e46: Unknown result type (might be due to invalid IL or missing references)
//IL_0e50: Unknown result type (might be due to invalid IL or missing references)
//IL_0e55: Unknown result type (might be due to invalid IL or missing references)
//IL_0e69: Unknown result type (might be due to invalid IL or missing references)
//IL_0e6e: Unknown result type (might be due to invalid IL or missing references)
//IL_0e73: Unknown result type (might be due to invalid IL or missing references)
//IL_0e84: Unknown result type (might be due to invalid IL or missing references)
//IL_0e8f: Unknown result type (might be due to invalid IL or missing references)
//IL_0e94: Unknown result type (might be due to invalid IL or missing references)
//IL_0eb9: Unknown result type (might be due to invalid IL or missing references)
//IL_0ec8: Unknown result type (might be due to invalid IL or missing references)
//IL_0edf: Unknown result type (might be due to invalid IL or missing references)
//IL_0eea: Unknown result type (might be due to invalid IL or missing references)
//IL_0eef: Unknown result type (might be due to invalid IL or missing references)
//IL_0f14: Unknown result type (might be due to invalid IL or missing references)
//IL_0f23: Unknown result type (might be due to invalid IL or missing references)
//IL_0f3a: Unknown result type (might be due to invalid IL or missing references)
//IL_0f45: Unknown result type (might be due to invalid IL or missing references)
//IL_0f4a: Unknown result type (might be due to invalid IL or missing references)
//IL_0f6f: Unknown result type (might be due to invalid IL or missing references)
//IL_0f7e: Unknown result type (might be due to invalid IL or missing references)
//IL_06e2: Unknown result type (might be due to invalid IL or missing references)
//IL_06ec: Unknown result type (might be due to invalid IL or missing references)
//IL_06f1: Unknown result type (might be due to invalid IL or missing references)
//IL_0713: Unknown result type (might be due to invalid IL or missing references)
//IL_0718: Unknown result type (might be due to invalid IL or missing references)
//IL_0723: Unknown result type (might be due to invalid IL or missing references)
//IL_0728: Unknown result type (might be due to invalid IL or missing references)
//IL_0739: Unknown result type (might be due to invalid IL or missing references)
//IL_073f: Unknown result type (might be due to invalid IL or missing references)
//IL_0744: Unknown result type (might be due to invalid IL or missing references)
//IL_0769: Unknown result type (might be due to invalid IL or missing references)
//IL_0778: Unknown result type (might be due to invalid IL or missing references)
//IL_078e: Unknown result type (might be due to invalid IL or missing references)
//IL_1229: Unknown result type (might be due to invalid IL or missing references)
//IL_1233: Unknown result type (might be due to invalid IL or missing references)
//IL_1238: Unknown result type (might be due to invalid IL or missing references)
//IL_124c: Unknown result type (might be due to invalid IL or missing references)
//IL_1251: Unknown result type (might be due to invalid IL or missing references)
//IL_1256: Unknown result type (might be due to invalid IL or missing references)
//IL_1267: Unknown result type (might be due to invalid IL or missing references)
//IL_1272: Unknown result type (might be due to invalid IL or missing references)
//IL_1277: Unknown result type (might be due to invalid IL or missing references)
//IL_129c: Unknown result type (might be due to invalid IL or missing references)
//IL_12ab: Unknown result type (might be due to invalid IL or missing references)
//IL_12dc: Unknown result type (might be due to invalid IL or missing references)
//IL_12e6: Unknown result type (might be due to invalid IL or missing references)
//IL_12eb: Unknown result type (might be due to invalid IL or missing references)
//IL_12ff: Unknown result type (might be due to invalid IL or missing references)
//IL_1304: Unknown result type (might be due to invalid IL or missing references)
//IL_1309: Unknown result type (might be due to invalid IL or missing references)
//IL_1319: Unknown result type (might be due to invalid IL or missing references)
//IL_1323: Unknown result type (might be due to invalid IL or missing references)
//IL_1328: Unknown result type (might be due to invalid IL or missing references)
//IL_133c: Unknown result type (might be due to invalid IL or missing references)
//IL_1341: Unknown result type (might be due to invalid IL or missing references)
//IL_1346: Unknown result type (might be due to invalid IL or missing references)
//IL_1357: Unknown result type (might be due to invalid IL or missing references)
//IL_1362: Unknown result type (might be due to invalid IL or missing references)
//IL_1367: Unknown result type (might be due to invalid IL or missing references)
//IL_138c: Unknown result type (might be due to invalid IL or missing references)
//IL_139b: Unknown result type (might be due to invalid IL or missing references)
//IL_13b2: Unknown result type (might be due to invalid IL or missing references)
//IL_13bd: Unknown result type (might be due to invalid IL or missing references)
//IL_13c2: Unknown result type (might be due to invalid IL or missing references)
//IL_13e7: Unknown result type (might be due to invalid IL or missing references)
//IL_13f6: Unknown result type (might be due to invalid IL or missing references)
//IL_096a: Unknown result type (might be due to invalid IL or missing references)
//IL_0974: Unknown result type (might be due to invalid IL or missing references)
//IL_0979: Unknown result type (might be due to invalid IL or missing references)
//IL_099b: Unknown result type (might be due to invalid IL or missing references)
//IL_09a0: Unknown result type (might be due to invalid IL or missing references)
//IL_09ab: Unknown result type (might be due to invalid IL or missing references)
//IL_09b0: Unknown result type (might be due to invalid IL or missing references)
//IL_09c0: Unknown result type (might be due to invalid IL or missing references)
//IL_09ca: Unknown result type (might be due to invalid IL or missing references)
//IL_09cf: Unknown result type (might be due to invalid IL or missing references)
//IL_09f1: Unknown result type (might be due to invalid IL or missing references)
//IL_09f6: Unknown result type (might be due to invalid IL or missing references)
//IL_0a01: Unknown result type (might be due to invalid IL or missing references)
//IL_0a06: Unknown result type (might be due to invalid IL or missing references)
//IL_0a16: Unknown result type (might be due to invalid IL or missing references)
//IL_0a20: Unknown result type (might be due to invalid IL or missing references)
//IL_0a25: Unknown result type (might be due to invalid IL or missing references)
//IL_0a47: Unknown result type (might be due to invalid IL or missing references)
//IL_0a4c: Unknown result type (might be due to invalid IL or missing references)
//IL_0a57: Unknown result type (might be due to invalid IL or missing references)
//IL_0a5c: Unknown result type (might be due to invalid IL or missing references)
//IL_0a6d: Unknown result type (might be due to invalid IL or missing references)
//IL_0a73: Unknown result type (might be due to invalid IL or missing references)
//IL_0a78: Unknown result type (might be due to invalid IL or missing references)
//IL_0a9d: Unknown result type (might be due to invalid IL or missing references)
//IL_0ab2: Unknown result type (might be due to invalid IL or missing references)
//IL_0ac9: Unknown result type (might be due to invalid IL or missing references)
//IL_0acf: Unknown result type (might be due to invalid IL or missing references)
//IL_0ad4: Unknown result type (might be due to invalid IL or missing references)
//IL_0af9: Unknown result type (might be due to invalid IL or missing references)
//IL_0b08: Unknown result type (might be due to invalid IL or missing references)
//IL_0b1f: Unknown result type (might be due to invalid IL or missing references)
//IL_0b25: Unknown result type (might be due to invalid IL or missing references)
//IL_0b2a: Unknown result type (might be due to invalid IL or missing references)
//IL_0b4f: Unknown result type (might be due to invalid IL or missing references)
//IL_0b64: Unknown result type (might be due to invalid IL or missing references)
//IL_0b7a: Unknown result type (might be due to invalid IL or missing references)
//IL_0b8c: Unknown result type (might be due to invalid IL or missing references)
//IL_0b9e: Unknown result type (might be due to invalid IL or missing references)
//IL_07db: Unknown result type (might be due to invalid IL or missing references)
//IL_07e5: Unknown result type (might be due to invalid IL or missing references)
//IL_07ea: Unknown result type (might be due to invalid IL or missing references)
//IL_080c: Unknown result type (might be due to invalid IL or missing references)
//IL_0811: Unknown result type (might be due to invalid IL or missing references)
//IL_081c: Unknown result type (might be due to invalid IL or missing references)
//IL_0821: Unknown result type (might be due to invalid IL or missing references)
//IL_0831: Unknown result type (might be due to invalid IL or missing references)
//IL_083b: Unknown result type (might be due to invalid IL or missing references)
//IL_0840: Unknown result type (might be due to invalid IL or missing references)
//IL_0862: Unknown result type (might be due to invalid IL or missing references)
//IL_0867: Unknown result type (might be due to invalid IL or missing references)
//IL_0872: Unknown result type (might be due to invalid IL or missing references)
//IL_0877: Unknown result type (might be due to invalid IL or missing references)
//IL_0888: Unknown result type (might be due to invalid IL or missing references)
//IL_088e: Unknown result type (might be due to invalid IL or missing references)
//IL_0893: Unknown result type (might be due to invalid IL or missing references)
//IL_08b8: Unknown result type (might be due to invalid IL or missing references)
//IL_08cd: Unknown result type (might be due to invalid IL or missing references)
//IL_08e4: Unknown result type (might be due to invalid IL or missing references)
//IL_08ea: Unknown result type (might be due to invalid IL or missing references)
//IL_08ef: Unknown result type (might be due to invalid IL or missing references)
//IL_0914: Unknown result type (might be due to invalid IL or missing references)
//IL_0929: Unknown result type (might be due to invalid IL or missing references)
//IL_093f: Unknown result type (might be due to invalid IL or missing references)
//IL_0951: Unknown result type (might be due to invalid IL or missing references)
//IL_15f5: Unknown result type (might be due to invalid IL or missing references)
//IL_15ff: Unknown result type (might be due to invalid IL or missing references)
//IL_1604: Unknown result type (might be due to invalid IL or missing references)
//IL_1618: Unknown result type (might be due to invalid IL or missing references)
//IL_161d: Unknown result type (might be due to invalid IL or missing references)
//IL_1622: Unknown result type (might be due to invalid IL or missing references)
//IL_1632: Unknown result type (might be due to invalid IL or missing references)
//IL_163c: Unknown result type (might be due to invalid IL or missing references)
//IL_1641: Unknown result type (might be due to invalid IL or missing references)
//IL_1655: Unknown result type (might be due to invalid IL or missing references)
//IL_165a: Unknown result type (might be due to invalid IL or missing references)
//IL_165f: Unknown result type (might be due to invalid IL or missing references)
//IL_166f: Unknown result type (might be due to invalid IL or missing references)
//IL_1679: Unknown result type (might be due to invalid IL or missing references)
//IL_167e: Unknown result type (might be due to invalid IL or missing references)
//IL_1692: Unknown result type (might be due to invalid IL or missing references)
//IL_1697: Unknown result type (might be due to invalid IL or missing references)
//IL_169c: Unknown result type (might be due to invalid IL or missing references)
//IL_16ac: Unknown result type (might be due to invalid IL or missing references)
//IL_16b6: Unknown result type (might be due to invalid IL or missing references)
//IL_16bb: Unknown result type (might be due to invalid IL or missing references)
//IL_16cf: Unknown result type (might be due to invalid IL or missing references)
//IL_16d4: Unknown result type (might be due to invalid IL or missing references)
//IL_16d9: Unknown result type (might be due to invalid IL or missing references)
//IL_16ea: Unknown result type (might be due to invalid IL or missing references)
//IL_16f5: Unknown result type (might be due to invalid IL or missing references)
//IL_16fa: Unknown result type (might be due to invalid IL or missing references)
//IL_171f: Unknown result type (might be due to invalid IL or missing references)
//IL_172e: Unknown result type (might be due to invalid IL or missing references)
//IL_1745: Unknown result type (might be due to invalid IL or missing references)
//IL_1750: Unknown result type (might be due to invalid IL or missing references)
//IL_1755: Unknown result type (might be due to invalid IL or missing references)
//IL_177a: Unknown result type (might be due to invalid IL or missing references)
//IL_1789: Unknown result type (might be due to invalid IL or missing references)
//IL_17a0: Unknown result type (might be due to invalid IL or missing references)
//IL_17ab: Unknown result type (might be due to invalid IL or missing references)
//IL_17b0: Unknown result type (might be due to invalid IL or missing references)
//IL_17d5: Unknown result type (might be due to invalid IL or missing references)
//IL_17e4: Unknown result type (might be due to invalid IL or missing references)
//IL_17fb: Unknown result type (might be due to invalid IL or missing references)
//IL_1806: Unknown result type (might be due to invalid IL or missing references)
//IL_180b: Unknown result type (might be due to invalid IL or missing references)
//IL_1830: Unknown result type (might be due to invalid IL or missing references)
//IL_183f: Unknown result type (might be due to invalid IL or missing references)
//IL_1427: Unknown result type (might be due to invalid IL or missing references)
//IL_1431: Unknown result type (might be due to invalid IL or missing references)
//IL_1436: Unknown result type (might be due to invalid IL or missing references)
//IL_144a: Unknown result type (might be due to invalid IL or missing references)
//IL_144f: Unknown result type (might be due to invalid IL or missing references)
//IL_1454: Unknown result type (might be due to invalid IL or missing references)
//IL_1464: Unknown result type (might be due to invalid IL or missing references)
//IL_146e: Unknown result type (might be due to invalid IL or missing references)
//IL_1473: Unknown result type (might be due to invalid IL or missing references)
//IL_1487: Unknown result type (might be due to invalid IL or missing references)
//IL_148c: Unknown result type (might be due to invalid IL or missing references)
//IL_1491: Unknown result type (might be due to invalid IL or missing references)
//IL_14a1: Unknown result type (might be due to invalid IL or missing references)
//IL_14ab: Unknown result type (might be due to invalid IL or missing references)
//IL_14b0: Unknown result type (might be due to invalid IL or missing references)
//IL_14c4: Unknown result type (might be due to invalid IL or missing references)
//IL_14c9: Unknown result type (might be due to invalid IL or missing references)
//IL_14ce: Unknown result type (might be due to invalid IL or missing references)
//IL_14df: Unknown result type (might be due to invalid IL or missing references)
//IL_14ea: Unknown result type (might be due to invalid IL or missing references)
//IL_14ef: Unknown result type (might be due to invalid IL or missing references)
//IL_1514: Unknown result type (might be due to invalid IL or missing references)
//IL_1523: Unknown result type (might be due to invalid IL or missing references)
//IL_153a: Unknown result type (might be due to invalid IL or missing references)
//IL_1545: Unknown result type (might be due to invalid IL or missing references)
//IL_154a: Unknown result type (might be due to invalid IL or missing references)
//IL_156f: Unknown result type (might be due to invalid IL or missing references)
//IL_157e: Unknown result type (might be due to invalid IL or missing references)
//IL_1595: Unknown result type (might be due to invalid IL or missing references)
//IL_15a0: Unknown result type (might be due to invalid IL or missing references)
//IL_15a5: Unknown result type (might be due to invalid IL or missing references)
//IL_15ca: Unknown result type (might be due to invalid IL or missing references)
//IL_15d9: Unknown result type (might be due to invalid IL or missing references)
//IL_1884: Unknown result type (might be due to invalid IL or missing references)
//IL_188e: Unknown result type (might be due to invalid IL or missing references)
//IL_1893: Unknown result type (might be due to invalid IL or missing references)
//IL_18a7: Unknown result type (might be due to invalid IL or missing references)
//IL_18ac: Unknown result type (might be due to invalid IL or missing references)
//IL_18b1: Unknown result type (might be due to invalid IL or missing references)
//IL_18c2: Unknown result type (might be due to invalid IL or missing references)
//IL_18cd: Unknown result type (might be due to invalid IL or missing references)
//IL_18d2: Unknown result type (might be due to invalid IL or missing references)
//IL_18f7: Unknown result type (might be due to invalid IL or missing references)
//IL_1906: Unknown result type (might be due to invalid IL or missing references)
//IL_1937: Unknown result type (might be due to invalid IL or missing references)
//IL_1941: Unknown result type (might be due to invalid IL or missing references)
//IL_1946: Unknown result type (might be due to invalid IL or missing references)
//IL_195a: Unknown result type (might be due to invalid IL or missing references)
//IL_195f: Unknown result type (might be due to invalid IL or missing references)
//IL_1964: Unknown result type (might be due to invalid IL or missing references)
//IL_1974: Unknown result type (might be due to invalid IL or missing references)
//IL_197e: Unknown result type (might be due to invalid IL or missing references)
//IL_1983: Unknown result type (might be due to invalid IL or missing references)
//IL_1997: Unknown result type (might be due to invalid IL or missing references)
//IL_199c: Unknown result type (might be due to invalid IL or missing references)
//IL_19a1: Unknown result type (might be due to invalid IL or missing references)
//IL_19b2: Unknown result type (might be due to invalid IL or missing references)
//IL_19bd: Unknown result type (might be due to invalid IL or missing references)
//IL_19c2: Unknown result type (might be due to invalid IL or missing references)
//IL_19e7: Unknown result type (might be due to invalid IL or missing references)
//IL_19f6: Unknown result type (might be due to invalid IL or missing references)
//IL_1a0d: Unknown result type (might be due to invalid IL or missing references)
//IL_1a18: Unknown result type (might be due to invalid IL or missing references)
//IL_1a1d: Unknown result type (might be due to invalid IL or missing references)
//IL_1a42: Unknown result type (might be due to invalid IL or missing references)
//IL_1a51: Unknown result type (might be due to invalid IL or missing references)
//IL_1c50: Unknown result type (might be due to invalid IL or missing references)
//IL_1c5a: Unknown result type (might be due to invalid IL or missing references)
//IL_1c5f: Unknown result type (might be due to invalid IL or missing references)
//IL_1c73: Unknown result type (might be due to invalid IL or missing references)
//IL_1c78: Unknown result type (might be due to invalid IL or missing references)
//IL_1c7d: Unknown result type (might be due to invalid IL or missing references)
//IL_1c8d: Unknown result type (might be due to invalid IL or missing references)
//IL_1c97: Unknown result type (might be due to invalid IL or missing references)
//IL_1c9c: Unknown result type (might be due to invalid IL or missing references)
//IL_1cb0: Unknown result type (might be due to invalid IL or missing references)
//IL_1cb5: Unknown result type (might be due to invalid IL or missing references)
//IL_1cba: Unknown result type (might be due to invalid IL or missing references)
//IL_1cca: Unknown result type (might be due to invalid IL or missing references)
//IL_1cd4: Unknown result type (might be due to invalid IL or missing references)
//IL_1cd9: Unknown result type (might be due to invalid IL or missing references)
//IL_1ced: Unknown result type (might be due to invalid IL or missing references)
//IL_1cf2: Unknown result type (might be due to invalid IL or missing references)
//IL_1cf7: Unknown result type (might be due to invalid IL or missing references)
//IL_1d07: Unknown result type (might be due to invalid IL or missing references)
//IL_1d11: Unknown result type (might be due to invalid IL or missing references)
//IL_1d16: Unknown result type (might be due to invalid IL or missing references)
//IL_1d2a: Unknown result type (might be due to invalid IL or missing references)
//IL_1d2f: Unknown result type (might be due to invalid IL or missing references)
//IL_1d34: Unknown result type (might be due to invalid IL or missing references)
//IL_1d45: Unknown result type (might be due to invalid IL or missing references)
//IL_1d50: Unknown result type (might be due to invalid IL or missing references)
//IL_1d55: Unknown result type (might be due to invalid IL or missing references)
//IL_1d7a: Unknown result type (might be due to invalid IL or missing references)
//IL_1d89: Unknown result type (might be due to invalid IL or missing references)
//IL_1da0: Unknown result type (might be due to invalid IL or missing references)
//IL_1dab: Unknown result type (might be due to invalid IL or missing references)
//IL_1db0: Unknown result type (might be due to invalid IL or missing references)
//IL_1dd5: Unknown result type (might be due to invalid IL or missing references)
//IL_1de4: Unknown result type (might be due to invalid IL or missing references)
//IL_1dfb: Unknown result type (might be due to invalid IL or missing references)
//IL_1e06: Unknown result type (might be due to invalid IL or missing references)
//IL_1e0b: Unknown result type (might be due to invalid IL or missing references)
//IL_1e30: Unknown result type (might be due to invalid IL or missing references)
//IL_1e3f: Unknown result type (might be due to invalid IL or missing references)
//IL_1e56: Unknown result type (might be due to invalid IL or missing references)
//IL_1e61: Unknown result type (might be due to invalid IL or missing references)
//IL_1e66: Unknown result type (might be due to invalid IL or missing references)
//IL_1e8b: Unknown result type (might be due to invalid IL or missing references)
//IL_1e9a: Unknown result type (might be due to invalid IL or missing references)
//IL_1a82: Unknown result type (might be due to invalid IL or missing references)
//IL_1a8c: Unknown result type (might be due to invalid IL or missing references)
//IL_1a91: Unknown result type (might be due to invalid IL or missing references)
//IL_1aa5: Unknown result type (might be due to invalid IL or missing references)
//IL_1aaa: Unknown result type (might be due to invalid IL or missing references)
//IL_1aaf: Unknown result type (might be due to invalid IL or missing references)
//IL_1abf: Unknown result type (might be due to invalid IL or missing references)
//IL_1ac9: Unknown result type (might be due to invalid IL or missing references)
//IL_1ace: Unknown result type (might be due to invalid IL or missing references)
//IL_1ae2: Unknown result type (might be due to invalid IL or missing references)
//IL_1ae7: Unknown result type (might be due to invalid IL or missing references)
//IL_1aec: Unknown result type (might be due to invalid IL or missing references)
//IL_1afc: Unknown result type (might be due to invalid IL or missing references)
//IL_1b06: Unknown result type (might be due to invalid IL or missing references)
//IL_1b0b: Unknown result type (might be due to invalid IL or missing references)
//IL_1b1f: Unknown result type (might be due to invalid IL or missing references)
//IL_1b24: Unknown result type (might be due to invalid IL or missing references)
//IL_1b29: Unknown result type (might be due to invalid IL or missing references)
//IL_1b3a: Unknown result type (might be due to invalid IL or missing references)
//IL_1b45: Unknown result type (might be due to invalid IL or missing references)
//IL_1b4a: Unknown result type (might be due to invalid IL or missing references)
//IL_1b6f: Unknown result type (might be due to invalid IL or missing references)
//IL_1b7e: Unknown result type (might be due to invalid IL or missing references)
//IL_1b95: Unknown result type (might be due to invalid IL or missing references)
//IL_1ba0: Unknown result type (might be due to invalid IL or missing references)
//IL_1ba5: Unknown result type (might be due to invalid IL or missing references)
//IL_1bca: Unknown result type (might be due to invalid IL or missing references)
//IL_1bd9: Unknown result type (might be due to invalid IL or missing references)
//IL_1bf0: Unknown result type (might be due to invalid IL or missing references)
//IL_1bfb: Unknown result type (might be due to invalid IL or missing references)
//IL_1c00: Unknown result type (might be due to invalid IL or missing references)
//IL_1c25: Unknown result type (might be due to invalid IL or missing references)
//IL_1c34: Unknown result type (might be due to invalid IL or missing references)
bool flag = false;
if (cid == default(CreatureGuid))
{
return;
}
CreatureBoardAsset val = default(CreatureBoardAsset);
CreaturePresenter.TryGetAsset(cid, ref val);
if ((Object)(object)val == (Object)null)
{
return;
}
icon0 = GameObject.Find("StateIcon0:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon1 = GameObject.Find("StateIcon1:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon2 = GameObject.Find("StateIcon2:" + ((object)(CreatureGuid)(ref cid)).ToString());
if (iconsOverHead.Value)
{
icon3 = GameObject.Find("StateIcon3:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon4 = GameObject.Find("StateIcon4:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon5 = GameObject.Find("StateIcon5:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon6 = GameObject.Find("StateIcon6:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon7 = GameObject.Find("StateIcon7:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon8 = GameObject.Find("StateIcon8:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon9 = GameObject.Find("StateIcon9:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon10 = GameObject.Find("StateIcon10:" + ((object)(CreatureGuid)(ref cid)).ToString());
icon11 = GameObject.Find("StateIcon11:" + ((object)(CreatureGuid)(ref cid)).ToString());
}
if ((Object)(object)icon0 == (Object)null && (Object)(object)icon0 == (Object)null && (Object)(object)icon0 == (Object)null)
{
return;
}
if (val.IsExplicitlyHidden && (Object)(object)icon0 != (Object)null)
{
if ((Object)(object)icon0 != (Object)null)
{
((Behaviour)icon0.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon1 != (Object)null)
{
((Behaviour)icon1.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon2 != (Object)null)
{
((Behaviour)icon2.GetComponent<Canvas>()).enabled = false;
}
if (iconsOverHead.Value)
{
if ((Object)(object)icon3 != (Object)null)
{
((Behaviour)icon3.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon4 != (Object)null)
{
((Behaviour)icon4.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon5 != (Object)null)
{
((Behaviour)icon5.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon6 != (Object)null)
{
((Behaviour)icon6.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon7 != (Object)null)
{
((Behaviour)icon7.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon8 != (Object)null)
{
((Behaviour)icon8.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon9 != (Object)null)
{
((Behaviour)icon9.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon10 != (Object)null)
{
((Behaviour)icon10.GetComponent<Canvas>()).enabled = false;
}
if ((Object)(object)icon11 != (Object)null)
{
((Behaviour)icon11.GetComponent<Canvas>()).enabled = false;
}
}
}
else if (!val.IsExplicitlyHidden && (Object)(object)icon0 != (Object)null)
{
if ((Object)(object)icon0 != (Object)null)
{
((Behaviour)icon0.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon1 != (Object)null)
{
((Behaviour)icon1.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon2 != (Object)null)
{
((Behaviour)icon2.GetComponent<Canvas>()).enabled = true;
}
if (iconsOverHead.Value)
{
if ((Object)(object)icon3 != (Object)null)
{
((Behaviour)icon3.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon4 != (Object)null)
{
((Behaviour)icon4.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon5 != (Object)null)
{
((Behaviour)icon5.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon6 != (Object)null)
{
((Behaviour)icon6.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon7 != (Object)null)
{
((Behaviour)icon7.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon8 != (Object)null)
{
((Behaviour)icon8.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon9 != (Object)null)
{
((Behaviour)icon9.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon10 != (Object)null)
{
((Behaviour)icon10.GetComponent<Canvas>()).enabled = true;
}
if ((Object)(object)icon11 != (Object)null)
{
((Behaviour)icon11.GetComponent<Canvas>()).enabled = true;
}
}
}
if (val.IsExplicitlyHidden)
{
return;
}
Vector3 localScale = default(Vector3);
((Vector3)(ref localScale))..ctor((float)Math.Sqrt(((MovableBoardAsset)val).Scale) / 1000f, (float)Math.Sqrt(((MovableBoardAsset)val).Scale) / 1000f, (float)Math.Sqrt(((MovableBoardAsset)val).Scale) / 1000f);
Transform transform = Utility.GetBaseLoader(val.CreatureId).transform;
if (!iconsOverHead.Value)
{
if ((Object)(object)icon0 != (Object)null && (Object)(object)icon1 == (Object)null && (Object)(object)icon2 == (Object)null)
{
offset0 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0f, 0.05f * (float)Math.Sqrt(((MovableBoardAsset)val).Scale), -0.45f) * ((MovableBoardAsset)val).Scale;
icon0.transform.position = offset0 + transform.position;
icon0.transform.eulerAngles = new Vector3(20f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon0.transform.localScale = localScale;
}
else if ((Object)(object)icon0 != (Object)null && (Object)(object)icon1 != (Object)null && (Object)(object)icon2 == (Object)null)
{
offset0 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.125f, 0.05f * (float)Math.Sqrt(((MovableBoardAsset)val).Scale), -0.425f) * ((MovableBoardAsset)val).Scale;
offset1 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.125f, 0.05f * (float)Math.Sqrt(((MovableBoardAsset)val).Scale), -0.425f) * ((MovableBoardAsset)val).Scale;
icon0.transform.position = offset0 + transform.position;
icon0.transform.eulerAngles = new Vector3(20f, ((Component)Camera.main).transform.eulerAngles.y - 20f, 0f);
icon1.transform.position = offset1 + transform.position;
icon1.transform.eulerAngles = new Vector3(20f, ((Component)Camera.main).transform.eulerAngles.y + 20f, 0f);
icon0.transform.localScale = localScale;
icon1.transform.localScale = localScale;
}
else
{
offset0 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.125f, 0.05f * (float)Math.Sqrt(((MovableBoardAsset)val).Scale), -0.425f) * ((MovableBoardAsset)val).Scale;
offset1 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0f, 0.05f * (float)Math.Sqrt(((MovableBoardAsset)val).Scale), -0.45f) * ((MovableBoardAsset)val).Scale;
offset2 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.125f, 0.05f * (float)Math.Sqrt(((MovableBoardAsset)val).Scale), -0.425f) * ((MovableBoardAsset)val).Scale;
icon0.transform.position = offset0 + transform.position;
icon0.transform.eulerAngles = new Vector3(20f, ((Component)Camera.main).transform.eulerAngles.y - 20f, 0f);
icon1.transform.position = offset1 + transform.position;
icon1.transform.eulerAngles = new Vector3(20f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon2.transform.position = offset2 + transform.position;
icon2.transform.eulerAngles = new Vector3(20f, ((Component)Camera.main).transform.eulerAngles.y + 20f, 0f);
icon0.transform.localScale = localScale;
icon1.transform.localScale = localScale;
icon2.transform.localScale = localScale;
}
return;
}
if ((Object)(object)icon1 == (Object)null)
{
offset0 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0f, 0.7f, 0f);
icon0.transform.position = offset0 + val.HookHead.position;
icon0.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
return;
}
if ((Object)(object)icon2 == (Object)null)
{
offset1 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.17f, 0.7f, 0f);
offset0 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.17f, 0.7f, 0f);
icon1.transform.position = offset1 + val.HookHead.position;
icon1.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon0.transform.position = offset0 + val.HookHead.position;
icon0.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
return;
}
if ((Object)(object)icon3 == (Object)null)
{
offset2 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.34f, 0.7f, 0f);
offset0 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.34f, 0.7f, 0f);
offset1 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0f, 0.7f, 0f);
icon2.transform.position = offset2 + val.HookHead.position;
icon2.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon0.transform.position = offset0 + val.HookHead.position;
icon0.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon1.transform.position = offset1 + val.HookHead.position;
icon1.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
return;
}
offset3 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.51f, 0.7f, 0f);
offset0 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.51f, 0.7f, 0f);
offset1 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.17f, 0.7f, 0f);
offset2 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.17f, 0.7f, 0f);
icon3.transform.position = offset3 + val.HookHead.position;
icon3.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon0.transform.position = offset0 + val.HookHead.position;
icon0.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon1.transform.position = offset1 + val.HookHead.position;
icon1.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon2.transform.position = offset2 + val.HookHead.position;
icon2.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
if ((Object)(object)icon4 == (Object)null)
{
return;
}
if ((Object)(object)icon5 == (Object)null)
{
offset4 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0f, 1.04f, 0f);
icon4.transform.position = offset4 + val.HookHead.position;
icon4.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
return;
}
if ((Object)(object)icon6 == (Object)null)
{
offset5 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.17f, 1.04f, 0f);
offset4 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.17f, 1.04f, 0f);
icon5.transform.position = offset5 + val.HookHead.position;
icon5.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon4.transform.position = offset4 + val.HookHead.position;
icon4.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
return;
}
if ((Object)(object)icon7 == (Object)null)
{
offset6 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.34f, 1.04f, 0f);
offset5 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0f, 1.04f, 0f);
offset4 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.34f, 1.04f, 0f);
icon6.transform.position = offset6 + val.HookHead.position;
icon6.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon5.transform.position = offset5 + val.HookHead.position;
icon5.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon4.transform.position = offset4 + val.HookHead.position;
icon4.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
return;
}
offset7 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.51f, 1.04f, 0f);
offset6 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.17f, 1.04f, 0f);
offset5 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.17f, 1.04f, 0f);
offset4 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.51f, 1.04f, 0f);
icon7.transform.position = offset7 + val.HookHead.position;
icon7.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon6.transform.position = offset6 + val.HookHead.position;
icon6.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon5.transform.position = offset5 + val.HookHead.position;
icon5.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon4.transform.position = offset4 + val.HookHead.position;
icon4.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
if (!((Object)(object)icon8 == (Object)null))
{
if ((Object)(object)icon9 == (Object)null)
{
offset8 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0f, 1.38f, 0f);
icon8.transform.position = offset8 + val.HookHead.position;
icon8.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
}
else if ((Object)(object)icon10 == (Object)null)
{
offset9 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.17f, 1.38f, 0f);
offset8 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.17f, 1.38f, 0f);
icon9.transform.position = offset9 + val.HookHead.position;
icon9.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon8.transform.position = offset8 + val.HookHead.position;
icon8.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
}
else if ((Object)(object)icon11 == (Object)null)
{
offset10 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.34f, 1.38f, 0f);
offset9 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0f, 1.38f, 0f);
offset8 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.34f, 1.38f, 0f);
icon10.transform.position = offset10 + val.HookHead.position;
icon10.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon9.transform.position = offset9 + val.HookHead.position;
icon9.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon8.transform.position = offset8 + val.HookHead.position;
icon8.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
}
else
{
offset11 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.51f, 1.38f, 0f);
offset10 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(0.17f, 1.38f, 0f);
offset9 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.17f, 1.38f, 0f);
offset8 = Quaternion.AngleAxis(((Component)Camera.main).transform.eulerAngles.y, Vector3.up) * new Vector3(-0.51f, 1.38f, 0f);
icon11.transform.position = offset11 + val.HookHead.position;
icon11.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon10.transform.position = offset10 + val.HookHead.position;
icon10.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon9.transform.position = offset9 + val.HookHead.position;
icon9.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
icon8.transform.position = offset8 + val.HookHead.position;
icon8.transform.eulerAngles = new Vector3(0f, ((Component)Camera.main).transform.eulerAngles.y, 0f);
}
}
}
public IEnumerator DelayIconProcessing(object[] inputs)
{
int passes = 0;
while (boardReady == BoardState.boardIconsBuildDelay)
{
passes++;
if (diagnosticLevel.Value >= DiagnostiocLevel.ultra)
{
Debug.Log((object)("Icons Plugin: Backlog Pass " + passes));
}
yield return (object)new WaitForSeconds((float)inputs[0]);
DatumChange[] changes = backlog.ToArray();
backlog.Clear();
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)("Icons Plugin: Processing Backlog Of " + changes.Length + " Items"));
}
HandleRequest(changes);
if (backlog.Count == 0)
{
if (diagnosticLevel.Value >= DiagnostiocLevel.high)
{
Debug.Log((object)"Icons Plugin: Backlog processed.");
}
boardReady = BoardState.boardReady;
break;
}
if (passes >= 10)
{
backlog.Clear();
Debug.LogWarning((object)"Icons Plugin: Unable to process backlog. Removing.");
break;
}
}
}
}