From 607c8268ee22870ea95137eac224c7defb54a93d Mon Sep 17 00:00:00 2001 From: CatsArmy Date: Wed, 24 Jan 2024 17:15:52 +0200 Subject: [PATCH 01/10] Fixed some issues refacotring fix in next commit --- LethalProgression/LP_NetworkManager.cs | 3 - LethalProgression/LethalProgression.csproj | 71 +++++++-------- .../Patches/QuickMenuManagerPatch.cs | 91 +++++++++++-------- LethalProgression/Patches/XPPatches.cs | 15 +-- LethalProgression/SkillBase.cs | 13 +-- LethalProgression/SkillGUI.cs | 13 +-- LethalProgression/Skills/HandSlots.cs | 21 ++--- LethalProgression/Skills/LootValue.cs | 6 +- LethalProgression/XP.cs | 25 ++--- 9 files changed, 116 insertions(+), 142 deletions(-) diff --git a/LethalProgression/LP_NetworkManager.cs b/LethalProgression/LP_NetworkManager.cs index 04e92bb..7206cab 100644 --- a/LethalProgression/LP_NetworkManager.cs +++ b/LethalProgression/LP_NetworkManager.cs @@ -1,7 +1,4 @@ using HarmonyLib; -using System; -using System.Collections.Generic; -using System.Text; using Unity.Netcode; using UnityEngine; using Object = UnityEngine.Object; diff --git a/LethalProgression/LethalProgression.csproj b/LethalProgression/LethalProgression.csproj index 2266b7b..d99bc79 100644 --- a/LethalProgression/LethalProgression.csproj +++ b/LethalProgression/LethalProgression.csproj @@ -10,92 +10,88 @@ - - - - - - - - - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\0Harmony.dll - - - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Assembly-CSharp.dll - + + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\0Harmony.dll + + + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Assembly-CSharp.dll + - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\BepInEx.dll + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\BepInEx.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\ClientNetworkTransform.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\ClientNetworkTransform.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Facepunch.Steamworks.Win64.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Facepunch.Steamworks.Win64.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\HarmonyXInterop.dll + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\HarmonyXInterop.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\Mono.Cecil.dll + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\Mono.Cecil.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\Mono.Cecil.Mdb.dll + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\Mono.Cecil.Mdb.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\Mono.Cecil.Pdb.dll + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\Mono.Cecil.Pdb.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\Mono.Cecil.Rocks.dll + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\Mono.Cecil.Rocks.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\MonoMod.RuntimeDetour.dll + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\MonoMod.RuntimeDetour.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\BepInEx\core\MonoMod.Utils.dll + C:\Users\bergm_69gfgdx\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Default\BepInEx\core\MonoMod.Utils.dll - ..\..\..\Libraries\Newtonsoft.Json.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Newtonsoft.Json.dll + + + C:\Users\bergm_69gfgdx\Downloads\FlipMods-ReservedItemSlotCore-1.8.13\ReservedItemSlotCore.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.InputSystem.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.InputSystem.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.InputSystem.ForUI.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.InputSystem.ForUI.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.Netcode.Components.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.Netcode.Components.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.Netcode.Runtime.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.Netcode.Runtime.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.Networking.Transport.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.Networking.Transport.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.TextMeshPro.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\Unity.TextMeshPro.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.AnimationModule.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.AnimationModule.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.AssetBundleModule.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.AssetBundleModule.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.AudioModule.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.AudioModule.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.CoreModule.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.CoreModule.dll - ..\..\..\..\SteamLibrary\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.UI.dll + C:\Program Files (x86)\Steam\steamapps\common\Lethal Company\Lethal Company_Data\Managed\UnityEngine.UI.dll @@ -113,7 +109,7 @@ Resources.Designer.cs - + diff --git a/LethalProgression/Patches/QuickMenuManagerPatch.cs b/LethalProgression/Patches/QuickMenuManagerPatch.cs index cc836ac..395c275 100644 --- a/LethalProgression/Patches/QuickMenuManagerPatch.cs +++ b/LethalProgression/Patches/QuickMenuManagerPatch.cs @@ -1,16 +1,7 @@ using HarmonyLib; -using BepInEx.Configuration; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.IO; -using System.Xml.Linq; using TMPro; using UnityEngine; using UnityEngine.UI; -using Object = UnityEngine.Object; namespace LethalProgression.Patches { @@ -18,6 +9,7 @@ namespace LethalProgression.Patches internal class QuickMenuManagerPatch { private static GameObject _xpBar; + private static GameObject _xpInfoContainer; private static GameObject _xpBarProgress; private static TextMeshProUGUI _xpText; private static TextMeshProUGUI _xpLevel; @@ -60,9 +52,9 @@ private static void XPMenuUpdate(QuickMenuManager __instance) // XP Text. Values of how much XP you need to level up. // XP Level, which is just the level you're on. // Profit, which is how much money you've made. - _xpText.text = LP_NetworkManager.xpInstance.GetXP().ToString() + " / " + LP_NetworkManager.xpInstance.xpReq.Value.ToString(); - _xpLevel.text = "Level: " + LP_NetworkManager.xpInstance.GetLevel().ToString(); - _profit.text = "You've made.. " + LP_NetworkManager.xpInstance.GetProfit().ToString() + "$"; + _xpText.text = $"{LP_NetworkManager.xpInstance.GetXP()} / {LP_NetworkManager.xpInstance.xpReq.Value}"; + _xpLevel.text = $"Level: {LP_NetworkManager.xpInstance.GetLevel()}"; + _profit.text = $"You've made.. {LP_NetworkManager.xpInstance.GetProfit()}$"; // Set the bar fill _xpBarProgress.GetComponent().fillAmount = LP_NetworkManager.xpInstance.GetXP() / (float)LP_NetworkManager.xpInstance.xpReq.Value; } @@ -70,13 +62,38 @@ private static void XPMenuUpdate(QuickMenuManager __instance) public static void MakeNewXPBar() { GameObject _pauseMenu = GameObject.Find("/Systems/UI/Canvas/QuickMenu"); + GameObject _gameXPText = GameObject.Find("/Systems/UI/Canvas/EndgameStats/LevelUp/Total"); + if (!_xpInfoContainer) + { + _xpInfoContainer = new GameObject("XpInfoContainer"); + //setlocal pos to be the same as old one + _xpInfoContainer.transform.SetParent(_pauseMenu.transform, false); + + ////// Level Text ///// + _xpLevel = GameObject.Instantiate(_gameXPText).GetComponent(); + _xpLevel.name = "XPLevel"; + _xpLevel.alignment = TextAlignmentOptions.Center; + _xpLevel.SetText("Level: 0"); + _xpLevel.transform.SetParent(_xpInfoContainer.transform, false); + _xpLevel.color = new Color(1f, 0.6f, 0f, 1f); + + _xpLevel.transform.Translate(-1f, 0.4f, 0f); + ///// PROFIT! ///// + _profit = GameObject.Instantiate(_gameXPText).GetComponent(); + _profit.name = "XPProfit"; + _profit.alignment = TextAlignmentOptions.Center; + _profit.SetText("You've made.. 0$."); + _profit.transform.SetParent(_xpInfoContainer.transform, false); + _profit.color = new Color(1f, 0.6f, 0f, 1f); + _profit.transform.Translate(-0.8f, 0f, 0f); + } if (!_xpBar) { ////// XP Bar ////// GameObject _gameXPBar = GameObject.Find("/Systems/UI/Canvas/EndgameStats/LevelUp/LevelUpBox"); _xpBar = GameObject.Instantiate(_gameXPBar); _xpBar.name = "XPBar"; - _xpBar.transform.SetParent(_pauseMenu.transform, false); + _xpBar.transform.SetParent(_xpInfoContainer.transform, false); _xpBar.transform.localScale = new Vector3(0.75f, 0.75f, 0.75f); _xpBar.transform.Translate(-2f, 1f, 0f); @@ -98,7 +115,6 @@ public static void MakeNewXPBar() _xpBarProgress.transform.localPosition = new Vector3(pos.x + 7, pos.y - 3.5f, 0f); ////// XP Text ////// - GameObject _gameXPText = GameObject.Find("/Systems/UI/Canvas/EndgameStats/LevelUp/Total"); _xpText = GameObject.Instantiate(_gameXPText).GetComponent(); _xpText.name = "XPText"; _xpText.alignment = TextAlignmentOptions.Center; @@ -107,27 +123,8 @@ public static void MakeNewXPBar() _xpText.color = new Color(1f, 0.6f, 0f, 1f); _xpText.transform.Translate(-0.75f, 0.21f, 0f); - - ////// Level Text ///// - _xpLevel = GameObject.Instantiate(_gameXPText).GetComponent(); - _xpLevel.name = "XPLevel"; - _xpLevel.alignment = TextAlignmentOptions.Center; - _xpLevel.SetText("Level: 0"); - _xpLevel.transform.SetParent(_xpBar.transform, false); - _xpLevel.color = new Color(1f, 0.6f, 0f, 1f); - - _xpLevel.transform.Translate(-1f, 0.4f, 0f); - - ///// PROFIT! ///// - _profit = GameObject.Instantiate(_gameXPText).GetComponent(); - _profit.name = "XPProfit"; - _profit.alignment = TextAlignmentOptions.Center; - _profit.SetText("You've made.. 0$."); - _profit.transform.SetParent(_xpBar.transform, false); - _profit.color = new Color(1f, 0.6f, 0f, 1f); - - _profit.transform.Translate(-0.8f, 0f, 0f); } + _xpInfoContainer.transform.localPosition = _xpBar.transform.localPosition; } private static GameObject skillTreeButton; [HarmonyPostfix] @@ -152,12 +149,30 @@ private static void MakeSkillTreeButton() skillTreeButton.name = "Skills"; skillTreeButton.GetComponentInChildren().text = "> Skills"; + Transform form = _xpText.transform; + skillTreeButton.transform.localPosition = new Vector3(form.position.x, form.position.y, + form.position.z); + // Change the onClick event to our own. + skillTreeButton.transform.position += new Vector3(0.55f, 1.1f - 0.01f); - skillTreeButton.transform.Translate(0.7f, 1.1f, 0f); + //yOff = +1.1f, - 0.01f]]']]]] + Button.ButtonClickedEvent OnClickEvent = new Button.ButtonClickedEvent(); + OnClickEvent.AddListener(OpenSkillTree); + skillTreeButton.GetComponent