using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
using crecheng.DSPModSave;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("DspFontPatcher")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DspFontPatcher")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("81DF3045-8007-4F6A-AAF6-903139D85B6C")]
[assembly: AssemblyFileVersion("0.1.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.1.0.0")]
[module: UnverifiableCode]
namespace DSPStarMapMemo;
public class MemoPool : MonoBehaviour
{
public struct Memo
{
public int id;
public int[] signalIconId;
public Color color;
public string desc;
}
public static Dictionary<int, Memo> memoPool = new Dictionary<int, Memo>();
public static void AddOrUpdate()
{
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
int num = 0;
if (((ManualBehaviour)UIRoot.instance.uiGame.starDetail).active)
{
num = UIRoot.instance.uiGame.starDetail.star.id;
}
else if (((ManualBehaviour)UIRoot.instance.uiGame.planetDetail).active)
{
num = UIRoot.instance.uiGame.planetDetail.planet.id;
}
UI.memo.id = num;
Memo value = default(Memo);
value.id = UI.memo.id;
value.color = UI.memo.color;
value.desc = UI.memo.desc;
value.signalIconId = new int[10];
for (int i = 0; i < 10; i++)
{
value.signalIconId[i] = UI.memo.signalIconId[i];
}
if (memoPool.ContainsKey(num))
{
memoPool[num] = value;
}
else
{
memoPool.Add(num, value);
}
}
}
internal class UI : MonoBehaviour
{
public static GameObject memoBase = new GameObject();
public static GameObject memoText = new GameObject();
public static GameObject iconPrefab = new GameObject();
public static GameObject[] icon = (GameObject[])(object)new GameObject[10];
public static GameObject iconBoxPrefab = new GameObject();
public static GameObject[] iconBox = (GameObject[])(object)new GameObject[10];
public static GameObject memoWindow;
public static GameObject descBox;
public static GameObject explainText;
public static GameObject emptyButton = new GameObject();
public static Sprite emptySprite;
public static int selectedIconNo;
public static MemoPool.Memo memo;
public static void Create()
{
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
//IL_011e: Unknown result type (might be due to invalid IL or missing references)
//IL_0142: Unknown result type (might be due to invalid IL or missing references)
//IL_0147: Unknown result type (might be due to invalid IL or missing references)
//IL_019d: Unknown result type (might be due to invalid IL or missing references)
//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
//IL_0224: Unknown result type (might be due to invalid IL or missing references)
//IL_02b4: Unknown result type (might be due to invalid IL or missing references)
//IL_0325: Unknown result type (might be due to invalid IL or missing references)
//IL_0353: Unknown result type (might be due to invalid IL or missing references)
//IL_03f4: Unknown result type (might be due to invalid IL or missing references)
//IL_0430: Unknown result type (might be due to invalid IL or missing references)
//IL_04b2: Unknown result type (might be due to invalid IL or missing references)
//IL_05a1: Unknown result type (might be due to invalid IL or missing references)
//IL_05d5: Unknown result type (might be due to invalid IL or missing references)
//IL_05f9: Unknown result type (might be due to invalid IL or missing references)
//IL_061d: Unknown result type (might be due to invalid IL or missing references)
//IL_0622: Unknown result type (might be due to invalid IL or missing references)
//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
//IL_06e9: Unknown result type (might be due to invalid IL or missing references)
//IL_0708: Unknown result type (might be due to invalid IL or missing references)
//IL_072c: Unknown result type (might be due to invalid IL or missing references)
//IL_07cd: Unknown result type (might be due to invalid IL or missing references)
//IL_07f4: Unknown result type (might be due to invalid IL or missing references)
//IL_07f9: Unknown result type (might be due to invalid IL or missing references)
//IL_085c: Unknown result type (might be due to invalid IL or missing references)
//IL_0866: Expected O, but got Unknown
//IL_08e9: Unknown result type (might be due to invalid IL or missing references)
//IL_090d: Unknown result type (might be due to invalid IL or missing references)
//IL_0a07: Unknown result type (might be due to invalid IL or missing references)
//IL_0a11: Expected O, but got Unknown
memo.id = 0;
memo.color = Color.white;
memo.desc = "";
memo.signalIconId = new int[10];
for (int i = 0; i < 10; i++)
{
memo.signalIconId[i] = 0;
}
GameObject val = GameObject.Find("UI Root/Overlay Canvas/In Game/Starmap UIs/Starmap Screen/starmap-star-ui/name-text");
memoBase.transform.parent = val.transform.parent;
((Object)memoBase).name = "memoBase";
memoBase.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
memoText = Object.Instantiate<GameObject>(val, memoBase.transform);
((Object)memoText).name = "memoText";
memoText.transform.localPosition = new Vector3(0f, -130f, 0f);
memoText.transform.localScale = new Vector3(1f, 1f, 1f);
memoText.GetComponent<RectTransform>().sizeDelta = Vector2.op_Implicit(new Vector3(300f, 150f, 0f));
memoText.GetComponent<Text>().alignment = (TextAnchor)0;
memoText.GetComponent<Text>().lineSpacing = 0.8f;
memoText.SetActive(false);
iconPrefab.AddComponent<RectTransform>().sizeDelta = Vector2.op_Implicit(new Vector3(28f, 28f, 0f));
iconPrefab.AddComponent<Image>();
for (int j = 0; j < 10; j++)
{
icon[j] = Object.Instantiate<GameObject>(iconPrefab.gameObject, memoBase.transform);
((Object)icon[j]).name = "icon" + j;
icon[j].transform.localPosition = new Vector3(30f * (float)j + 15f, -38f, 0f);
}
GameObject val2 = Object.Instantiate<GameObject>(memoBase, GameObject.Find("UI Root/Overlay Canvas/In Game/Starmap UIs/Starmap Screen/starmap-planet-ui").transform);
((Object)val2).name = "memoBase";
for (int k = 0; k < 10; k++)
{
GameObject gameObject = ((Component)val2.transform.Find("icon" + k)).gameObject;
gameObject.transform.localPosition = new Vector3(30f * (float)k + 15f, -38f, 0f);
}
GameObject gameObject2 = ((Component)UIRoot.instance.uiGame.planetDetail).gameObject;
memoWindow = Object.Instantiate<GameObject>(gameObject2, gameObject2.transform.parent);
((Component)memoWindow.transform.Find("black-bg")).gameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(-30f, 40f);
memoWindow.transform.Find("black-bg").localPosition = new Vector3(-105f, -105f, 0f);
Object.Destroy((Object)(object)((Component)memoWindow.transform.Find("black-bg/detail-tabs")).gameObject);
List<string> keepTransformList = new List<string> { "black-bg", "type-text" };
List<Type> list = new List<Type>();
list.Add(typeof(RectTransform));
List<Type> keepComponentList = list;
DestroyChildren(memoWindow.transform, keepTransformList, keepComponentList);
((Object)memoWindow).name = "memoWindow";
memoWindow.transform.localPosition = new Vector3(0f, -300f, 0f);
GameObject gameObject3 = ((Component)memoWindow.transform.Find("type-text")).gameObject;
gameObject3.transform.localPosition = new Vector3(-240f, -3f, 0f);
((Object)gameObject3).name = "typeText";
gameObject3.GetComponent<Text>().text = Localization.Translate("Memo");
gameObject3.GetComponent<Text>().resizeTextMaxSize = 20;
explainText = Object.Instantiate<GameObject>(gameObject3.gameObject, memoWindow.transform);
((Object)explainText).name = "explainText";
explainText.transform.localPosition = new Vector3(-240f, -190f, 0f);
explainText.GetComponent<Text>().text = Localization.Translate("Press [Enter] to insert a line break.");
explainText.GetComponent<Text>().resizeTextMaxSize = 20;
explainText.SetActive(false);
descBox = Object.Instantiate<GameObject>(((Component)UIRoot.instance.uiGame.blueprintBrowser.inspector.descTextInput).gameObject, memoWindow.transform);
keepTransformList = new List<string> { "value-text" };
list = new List<Type>();
list.Add(typeof(RectTransform));
list.Add(typeof(InputField));
list.Add(typeof(Image));
keepComponentList = list;
DestroyChildren(descBox.transform, keepTransformList, keepComponentList);
descBox.GetComponent<RectTransform>().anchorMax = new Vector2(0f, 1f);
((Object)descBox).name = "descBox";
descBox.transform.localPosition = new Vector3(-250f, -80f, 0f);
descBox.transform.localScale = new Vector3(0.87f, 0.87f, 0.87f);
descBox.GetComponent<RectTransform>().sizeDelta = Vector2.op_Implicit(new Vector3(300f, 120f, 0f));
Text component = ((Component)descBox.transform.Find("value-text")).GetComponent<Text>();
component.alignment = (TextAnchor)0;
component.lineSpacing = 0.8f;
component.fontSize = 20;
memoWindow.SetActive(false);
iconBoxPrefab = Object.Instantiate<GameObject>(((Component)UIRoot.instance.uiGame.blueprintBrowser.inspector.thumbIconImage1).gameObject, memoWindow.transform);
((Object)iconBoxPrefab).name = "iconBoxPrefab";
iconBoxPrefab.GetComponent<RectTransform>().anchorMax = new Vector2(0f, 1f);
iconBoxPrefab.GetComponent<RectTransform>().anchorMin = new Vector2(0f, 1f);
iconBoxPrefab.GetComponent<RectTransform>().pivot = new Vector2(0f, 1f);
iconBoxPrefab.transform.localPosition = new Vector3(45f, -120f, 0f);
iconBoxPrefab.SetActive(false);
emptySprite = iconBoxPrefab.GetComponent<Image>().sprite;
for (int l = 0; l < 10; l++)
{
iconBox[l] = Object.Instantiate<GameObject>(iconPrefab.gameObject, memoWindow.transform);
((Object)iconBox[l]).name = "iconBox" + l;
iconBox[l].transform.localPosition = new Vector3(26f * (float)l - 235f, -55f, 0f);
iconBox[l].GetComponent<RectTransform>().sizeDelta = Vector2.op_Implicit(new Vector3(24f, 24f, 0f));
iconBox[l].GetComponent<Image>().sprite = emptySprite;
iconBox[l].AddComponent<Button>();
iconBox[l].SetActive(true);
int iconNo = l;
((UnityEvent)iconBox[l].GetComponent<Button>().onClick).AddListener((UnityAction)delegate
{
OnClickIconBox(iconNo);
});
}
((UnityEvent<string>)(object)descBox.GetComponent<InputField>().onEndEdit).AddListener((UnityAction<string>)onEndEditDescBox);
emptyButton = Object.Instantiate<GameObject>(((Component)UIRoot.instance.uiGame.assemblerWindow.copyButton).gameObject, ((Component)UIRoot.instance.uiGame.signalPicker).transform);
emptyButton.GetComponent<RectTransform>().sizeDelta = new Vector2(40f, 40f);
emptyButton.transform.localPosition = new Vector3(575f, -60f, 0f);
((Component)emptyButton.transform.Find("Text")).GetComponent<Text>().alignment = (TextAnchor)4;
((Component)emptyButton.transform.Find("Text")).GetComponent<Text>().lineSpacing = 0.8f;
((Component)emptyButton.transform.Find("Text")).GetComponent<Text>().fontSize = 12;
((Component)emptyButton.transform.Find("Text")).GetComponent<Text>().text = Localization.Translate("No\nIcon");
Object.Destroy((Object)(object)((Component)emptyButton.transform.Find("Text")).GetComponent<Localizer>());
Object.Destroy((Object)(object)emptyButton.GetComponent<UIButton>());
((Object)emptyButton).name = "emptyButton";
emptyButton.SetActive(false);
((UnityEvent)emptyButton.GetComponent<Button>().onClick).AddListener(new UnityAction(onEmptyButton));
}
public static void onEndEditDescBox(string str)
{
memo.desc = str;
MemoPool.AddOrUpdate();
}
public static void OnClickIconBox(int iconNo)
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
if (!UISignalPicker.isOpened)
{
emptyButton.SetActive(true);
selectedIconNo = iconNo;
UISignalPicker.Popup(new Vector2(50f, 350f), (Action<int>)onIconBoxChanged);
}
}
public static void onIconBoxChanged(int signalId)
{
iconBox[selectedIconNo].GetComponent<Image>().sprite = LDB.signals.IconSprite(signalId);
memo.signalIconId[selectedIconNo] = signalId;
MemoPool.AddOrUpdate();
emptyButton.SetActive(false);
}
public static void onEmptyButton()
{
UISignalPicker.Close();
iconBox[selectedIconNo].GetComponent<Image>().sprite = emptySprite;
memo.signalIconId[selectedIconNo] = 0;
MemoPool.AddOrUpdate();
}
public static void MemoWindowOpen(int key)
{
//IL_0132: Unknown result type (might be due to invalid IL or missing references)
//IL_0137: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005d: Unknown result type (might be due to invalid IL or missing references)
if (MemoPool.memoPool.ContainsKey(key))
{
memo.id = MemoPool.memoPool[key].id;
memo.desc = MemoPool.memoPool[key].desc;
memo.color = MemoPool.memoPool[key].color;
InputField component = descBox.GetComponent<InputField>();
component.text = memo.desc;
for (int i = 0; i < 10; i++)
{
memo.signalIconId[i] = MemoPool.memoPool[key].signalIconId[i];
if (memo.signalIconId[i] != 0)
{
iconBox[i].GetComponent<Image>().sprite = LDB.signals.IconSprite(memo.signalIconId[i]);
}
else
{
iconBox[i].GetComponent<Image>().sprite = emptySprite;
}
}
}
else
{
memo.id = 0;
memo.desc = "";
memo.color = Color.white;
InputField component2 = descBox.GetComponent<InputField>();
component2.text = "";
for (int j = 0; j < 10; j++)
{
iconBox[j].GetComponent<Image>().sprite = emptySprite;
memo.signalIconId[j] = 0;
}
}
memoWindow.SetActive(true);
}
public static void DestroyChildren(Transform transform, List<string> keepTransformList, List<Type> keepComponentList)
{
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Expected O, but got Unknown
foreach (Transform item in transform)
{
Transform val = item;
LogManager.Logger.LogInfo((object)("Transform: " + ((Object)val).name));
if (!keepTransformList.Contains(((Object)val).name))
{
Object.Destroy((Object)(object)((Component)val).gameObject);
LogManager.Logger.LogInfo((object)("destroy: " + ((Object)val).name));
}
}
Component[] components = ((Component)transform).GetComponents<Component>();
foreach (Component val2 in components)
{
LogManager.Logger.LogInfo((object)("Component: " + (object)val2));
if (!keepComponentList.Contains(((object)val2).GetType()))
{
Object.Destroy((Object)(object)val2);
LogManager.Logger.LogInfo((object)("destory: " + ((object)val2).GetType()));
}
}
}
}
[BepInPlugin("Appun.DSP.plugin.StarMapMemo", "DSPStarMapMemo", "0.0.6")]
[BepInProcess("DSPGAME.exe")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class Main : BaseUnityPlugin, IModCanSave
{
public void Start()
{
LogManager.Logger = ((BaseUnityPlugin)this).Logger;
Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null);
UI.Create();
}
public void Import(BinaryReader r)
{
MemoPool.memoPool.Clear();
if (r.ReadInt32() == 1)
{
int num = r.ReadInt32();
for (int i = 0; i < num; i++)
{
int key = r.ReadInt32();
MemoPool.Memo value = default(MemoPool.Memo);
value.signalIconId = new int[10];
value.id = r.ReadInt32();
value.desc = r.ReadString();
value.color.r = r.ReadSingle();
value.color.g = r.ReadSingle();
value.color.b = r.ReadSingle();
value.color.a = r.ReadSingle();
for (int j = 0; j < 10; j++)
{
value.signalIconId[j] = r.ReadInt32();
}
MemoPool.memoPool.Add(key, value);
}
}
else
{
LogManager.Logger.LogInfo((object)"Save data version error");
}
}
public void Export(BinaryWriter w)
{
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_0090: Unknown result type (might be due to invalid IL or missing references)
//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
w.Write(1);
w.Write(MemoPool.memoPool.Count);
for (int i = 0; i < MemoPool.memoPool.Count; i++)
{
foreach (KeyValuePair<int, MemoPool.Memo> item in MemoPool.memoPool)
{
w.Write(item.Key);
w.Write(item.Value.id);
w.Write(item.Value.desc);
w.Write(item.Value.color.r);
w.Write(item.Value.color.g);
w.Write(item.Value.color.b);
w.Write(item.Value.color.a);
for (int j = 0; j < 10; j++)
{
w.Write(item.Value.signalIconId[j]);
}
}
}
}
public void IntoOtherSave()
{
if (MemoPool.memoPool.Count > 0)
{
MemoPool.memoPool.Clear();
}
}
}
public class LogManager
{
public static ManualLogSource Logger;
}
[HarmonyPatch]
internal class Patch
{
public static UIKeyTipNode ctrlToHideStarMemo = new UIKeyTipNode();
public static bool showMemoFlag = true;
[HarmonyPostfix]
[HarmonyPatch(typeof(UIStarmapStar), "_OnLateUpdate")]
public static void UIStarmapStar_OnInit_Postfix(UIStarmapStar __instance)
{
showMemo(__instance.star.id, ((Component)__instance).transform);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIStarmapPlanet), "_OnLateUpdate")]
public static void UIStarmapPlanet_OnInit_Postfix(UIStarmapPlanet __instance)
{
showMemo(__instance.planet.id, ((Component)__instance).transform);
}
public static void showMemo(int id, Transform tr)
{
//IL_012a: Unknown result type (might be due to invalid IL or missing references)
bool key = Input.GetKey((KeyCode)306);
GameObject gameObject = ((Component)tr.Find("memoBase")).gameObject;
if (!key)
{
if (MemoPool.memoPool.ContainsKey(id) && ((Component)tr.Find("name-text")).gameObject.activeSelf)
{
GameObject gameObject2 = ((Component)tr.Find("memoBase/memoText")).gameObject;
gameObject2.GetComponent<Text>().text = MemoPool.memoPool[id].desc;
gameObject2.SetActive(true);
for (int i = 0; i < 10; i++)
{
int num = MemoPool.memoPool[id].signalIconId[i];
GameObject gameObject3 = ((Component)tr.Find("memoBase/icon" + i)).gameObject;
if (num != 0)
{
gameObject3.GetComponent<Image>().sprite = LDB.signals.IconSprite(num);
gameObject3.SetActive(true);
}
else
{
gameObject3.SetActive(false);
}
}
gameObject.transform.localPosition = tr.Find("name-text").localPosition;
gameObject.SetActive(true);
}
else
{
gameObject.SetActive(false);
}
}
else
{
gameObject.SetActive(false);
}
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIStarmap), "_OnLateUpdate")]
public static void UIStarmap_OnLateUpdate_Postfix(UIStarmap __instance)
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
((Graphic)__instance.playerNameText).rectTransform.anchoredPosition = ((Graphic)__instance.playerNameText).rectTransform.anchoredPosition - new Vector2(70f, 0f);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIStarDetail), "_OnOpen")]
public static void UIStarDetail_OnOpen_Postfix(UIStarDetail __instance)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Invalid comparison between Unknown and I4
if ((int)UIGame.viewMode != 3)
{
UI.MemoWindowOpen(__instance.star.id);
}
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIPlanetDetail), "_OnOpen")]
public static void UIPlanetDetail_OnOpen_Postfix(UIPlanetDetail __instance)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Invalid comparison between Unknown and I4
if ((int)UIGame.viewMode != 3)
{
UI.MemoWindowOpen(__instance.planet.id);
}
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIStarDetail), "_OnClose")]
[HarmonyPatch(typeof(UIPlanetDetail), "_OnClose")]
public static void UIStarDetail_OnClose_Postfix()
{
//IL_003a: 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 (!((ManualBehaviour)UIRoot.instance.uiGame.starDetail).active && !((ManualBehaviour)UIRoot.instance.uiGame.planetDetail).active)
{
UI.memo.color = Color.white;
UI.memo.id = 0;
UI.memo.desc = "";
for (int i = 0; i < 10; i++)
{
UI.memo.signalIconId[i] = 0;
}
UI.memoWindow.SetActive(false);
}
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIStarDetail), "RefreshDynamicProperties")]
public static void UIStarDetail_RefreshDynamicProperties_Postfix(UIStarDetail __instance)
{
//IL_0011: 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_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)
UI.memoWindow.transform.localPosition = ((Component)__instance).transform.localPosition - new Vector3(0f, ((Component)__instance).GetComponent<RectTransform>().sizeDelta.y + 40f, 0f);
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIPlanetDetail), "RefreshDynamicProperties")]
public static void UIPlanetDetail_RefreshDynamicProperties_Postfix(UIPlanetDetail __instance)
{
//IL_0011: 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_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)
UI.memoWindow.transform.localPosition = ((Component)__instance).transform.localPosition - new Vector3(0f, ((Component)__instance).GetComponent<RectTransform>().sizeDelta.y + 40f, 0f);
}
}