Reorganize, revert changes for "fixing" Atlas maps

This commit is contained in:
msk
2023-07-31 00:12:10 -07:00
parent cf4b2847be
commit 73d8a5b89d
5 changed files with 70 additions and 41 deletions
+3
View File
@@ -0,0 +1,3 @@
{
"omnisharp.useModernNet": false
}
+1 -1
View File
@@ -13,7 +13,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PackageName: TNH_Quality_of_Life_Improvements PackageName: TNH_Quality_of_Life_Improvements
Author: muskit Author: muskit
Version: 1.2.4 Version: 1.2.5
Icon: {fileID: 2800000, guid: af542f3f6d6914f4e96d0326e8b296cc, type: 3} Icon: {fileID: 2800000, guid: af542f3f6d6914f4e96d0326e8b296cc, type: 3}
ReadMe: {fileID: 102900000, guid: efa2d6091ed77bd4b879a74bd81d6cbc, type: 3} ReadMe: {fileID: 102900000, guid: efa2d6091ed77bd4b879a74bd81d6cbc, type: 3}
WebsiteURL: https://github.com/muskit/TNH-Quality-of-Life-Improvements WebsiteURL: https://github.com/muskit/TNH-Quality-of-Life-Improvements
+12 -1
View File
@@ -83,6 +83,15 @@ public static AssetBundle bundle;
private Harmony harmony; private Harmony harmony;
// Could soft-lock if we're not in TNH!
public static IEnumerator WaitForTNHInit()
{
while (InPlay.tnhManager == null || FindObjectOfType<TNH_Manager>() == null)
{
yield return null;
}
}
private void SceneChanged(Scene from, Scene to) private void SceneChanged(Scene from, Scene to)
{ {
playerCamera = GameObject.FindGameObjectWithTag("MainCamera"); playerCamera = GameObject.FindGameObjectWithTag("MainCamera");
@@ -274,7 +283,7 @@ public static AssetBundle bundle;
// stick stats to hand after game over // stick stats to hand after game over
if (cfgShowHolds.Value || cfgShowTokens.Value) if (cfgShowHolds.Value || cfgShowTokens.Value)
InPlay.Patch(harmony); TNHInfo.Patch(harmony);
// show numerical representation of shop values // show numerical representation of shop values
if (cfgShowNumbersAtShop.Value) if (cfgShowNumbersAtShop.Value)
@@ -284,6 +293,8 @@ public static AssetBundle bundle;
// player tokens // player tokens
ShopTokenPatch.Patch(harmony); ShopTokenPatch.Patch(harmony);
} }
Logger.LogInfo("Successfully ran patches!");
} }
private void ToggleHPVisibility(object sender, ButtonClickEventArgs args) private void ToggleHPVisibility(object sender, ButtonClickEventArgs args)
+9 -32
View File
@@ -1,7 +1,6 @@
using HarmonyLib; using HarmonyLib;
using System.Reflection; using System.Reflection;
using UnityEngine; using UnityEngine;
using UnityEngine.UI;
using FistVR; using FistVR;
namespace TNHQoLImprovements namespace TNHQoLImprovements
@@ -13,9 +12,6 @@ namespace TNHQoLImprovements
{ {
public static TNH_Manager tnhManager; public static TNH_Manager tnhManager;
private static Transform[] hands;
private static GameObject tnhInfo;
public static bool InHold() public static bool InHold()
{ {
if (tnhManager == null) if (tnhManager == null)
@@ -24,39 +20,20 @@ namespace TNHQoLImprovements
return tnhManager.Phase == TNH_Phase.Hold; return tnhManager.Phase == TNH_Phase.Hold;
} }
// Bring extra info into game over
public static void Patch(Harmony harmony)
{
var original = typeof(TNH_Manager).GetMethod("SetPhase", BindingFlags.NonPublic | BindingFlags.Instance);
var patch = typeof(InPlay).GetMethod("MoveStatsToController", BindingFlags.NonPublic | BindingFlags.Static);
harmony.Patch(original, postfix: new HarmonyMethod(patch));
}
private static void MoveStatsToController(TNH_Phase p)
{
if (tnhManager == null)
return;
if (p == TNH_Phase.Dead || p == TNH_Phase.Completed)
{
int handSide = tnhManager.RadarHand == TNH_RadarHand.Left ? 0 : 1;
tnhInfo.transform.SetParent(hands[handSide], false);
tnhInfo.GetComponent<TNHInfo>().GameOverPos();
}
}
void Start() void Start()
{ {
tnhManager = FindObjectOfType<TNH_Manager>(); tnhManager = FindObjectOfType<TNH_Manager>();
var rig = Object.FindObjectOfType<FVRMovementManager>().transform; TNHInfo.instance = Instantiate<GameObject>(MeatKitPlugin.bundle.LoadAsset<GameObject>("TNHInfo"),
hands = new Transform[] { FindObjectOfType<TAH_Reticle>().transform.GetChild(3))
rig.transform.GetChild(1), rig.transform.GetChild(0) .GetComponent<TNHInfo>();
}; TNHInfo.instance.transform.localScale = new Vector3(0.002f, 0.002f, 0.002f);
}
tnhInfo = Instantiate<GameObject>(MeatKitPlugin.bundle.LoadAsset<GameObject>("TNHInfo"), FindObjectOfType<TAH_Reticle>().transform.GetChild(3)); void OnDestroy()
tnhInfo.transform.localScale = new Vector3(0.002f, 0.002f, 0.002f); {
// Destroy statics
tnhManager = null;
} }
} }
} }
+42 -4
View File
@@ -1,4 +1,5 @@
using HarmonyLib; using HarmonyLib;
using System.Reflection;
using UnityEngine; using UnityEngine;
using FistVR; using FistVR;
@@ -6,12 +7,39 @@ namespace TNHQoLImprovements
{ {
class TNHInfo : MonoBehaviour class TNHInfo : MonoBehaviour
{ {
public static TNHInfo instance;
public Transform[] hands;
private GameObject holdCounter; private GameObject holdCounter;
private GameObject tokenCounter; private GameObject tokenCounter;
private GameObject waveCounter; private GameObject waveCounter;
public void Start() // Bring extra info into game over
public static void Patch(Harmony harmony)
{ {
var original = typeof(TNH_Manager).GetMethod("SetPhase", BindingFlags.NonPublic | BindingFlags.Instance);
var patch = typeof(TNHInfo).GetMethod("MoveStatsToController", BindingFlags.NonPublic | BindingFlags.Static);
harmony.Patch(original, postfix: new HarmonyMethod(patch));
}
private static void MoveStatsToController(TNH_Phase p)
{
if (InPlay.tnhManager == null)
return;
if (p == TNH_Phase.Dead || p == TNH_Phase.Completed)
{
int handSide = InPlay.tnhManager.RadarHand == TNH_RadarHand.Left ? 0 : 1;
instance.transform.SetParent(instance.hands[handSide], false);
instance.GetComponent<TNHInfo>().GameOverPos();
}
}
void Start()
{
instance = this;
if (MeatKitPlugin.cfgShowHolds.Value) if (MeatKitPlugin.cfgShowHolds.Value)
holdCounter = Instantiate<GameObject>(MeatKitPlugin.bundle.LoadAsset<GameObject>("HoldCounter"), transform); holdCounter = Instantiate<GameObject>(MeatKitPlugin.bundle.LoadAsset<GameObject>("HoldCounter"), transform);
if (MeatKitPlugin.cfgShowTokens.Value) if (MeatKitPlugin.cfgShowTokens.Value)
@@ -19,10 +47,15 @@ namespace TNHQoLImprovements
if (MeatKitPlugin.cfgShowWaves.Value) if (MeatKitPlugin.cfgShowWaves.Value)
waveCounter = Instantiate<GameObject>(MeatKitPlugin.bundle.LoadAsset<GameObject>("WaveCounter"), transform); waveCounter = Instantiate<GameObject>(MeatKitPlugin.bundle.LoadAsset<GameObject>("WaveCounter"), transform);
var rig = Object.FindObjectOfType<FVRMovementManager>().transform;
hands = new Transform[] {
rig.transform.GetChild(1), rig.transform.GetChild(0)
};
PlayPos(); PlayPos();
} }
public void PlayPos() private void PlayPos()
{ {
transform.localPosition = new Vector3(0, 0, -1.2f); transform.localPosition = new Vector3(0, 0, -1.2f);
if (holdCounter != null) if (holdCounter != null)
@@ -35,7 +68,7 @@ namespace TNHQoLImprovements
waveCounter.transform.localPosition = new Vector3(333, 0, 0); waveCounter.transform.localPosition = new Vector3(333, 0, 0);
} }
public void GameOverPos() private void GameOverPos()
{ {
transform.localScale = new Vector3(.0002f, .0002f, .0002f); transform.localScale = new Vector3(.0002f, .0002f, .0002f);
transform.localPosition = Vector3.zero; transform.localPosition = Vector3.zero;
@@ -60,7 +93,7 @@ namespace TNHQoLImprovements
} }
} }
public void Update() private void Update()
{ {
// game over area; do not update anything else // game over area; do not update anything else
if (InPlay.tnhManager.Phase == TNH_Phase.Dead || InPlay.tnhManager.Phase == TNH_Phase.Completed) if (InPlay.tnhManager.Phase == TNH_Phase.Dead || InPlay.tnhManager.Phase == TNH_Phase.Completed)
@@ -100,5 +133,10 @@ namespace TNHQoLImprovements
waveCounter.SetActive(false); waveCounter.SetActive(false);
} }
} }
void OnDestroy()
{
instance = null;
}
} }
} }