public static void Postfix() { bool controlDown = InputManager.GetKeyDown(InputManager.m_CurrentContext, KeyCode.RightControl); bool middleMouseDown = Settings.options.useMiddleMouseButton && CustomInput.GetMouseButtonDown(2); bool altDown = Settings.options.useKeyPresses && (CustomInput.GetKeyDown(KeyCode.LeftAlt) || CustomInput.GetKeyDown(KeyCode.RightAlt)); bool saveToFile = middleMouseDown || altDown; if ((!controlDown && !saveToFile) || InterfaceManager.IsOverlayActiveImmediate()) { return; } SaveInformation(saveToFile); }
public static void Postfix(PlayerManager __instance, ref string __result) { if (__instance?.m_InteractiveObjectUnderCrosshair?.name is null) { return; } if (__result is null || string.IsNullOrWhiteSpace(GameManager.m_ActiveScene)) { return; } switch (KeyTracker.currentMode) { case GrabberMode.Name: __result += "\nname = " + __instance.m_InteractiveObjectUnderCrosshair.name; break; case GrabberMode.Position: __result += "\nposition = " + FormatHelper.FormatVector(__instance.m_InteractiveObjectUnderCrosshair.transform.position); break; case GrabberMode.Rotation: __result += "\nrotation = " + FormatHelper.FormatVector(__instance.m_InteractiveObjectUnderCrosshair.transform.rotation.eulerAngles); break; case GrabberMode.Scene: __result += "\nscene = " + GameManager.m_ActiveScene; break; case GrabberMode.LootTable: Container container = __instance.m_InteractiveObjectUnderCrosshair.GetComponentInChildren <Container>(); if (container != null) { __result += "\nloottable = " + LootTableHelper.GetLootTableName(container); } break; } if (Settings.options.useDeleteFunction && CustomInput.GetKeyDown(Settings.options.deleteKey)) { UnityEngine.Object.Destroy(__instance.m_InteractiveObjectUnderCrosshair); } }