Files
BetterAmongUs/Patches/SplashIntroPatch.cs
T
D1GQ 9466cc0d2d Reworked API data loader
Command overhaul:
Removed command /whisper
Removed command /name
Removed command /ban. now is part of /kick
2024-11-20 15:10:23 -06:00

75 lines
2.9 KiB
C#

using BetterAmongUs.Helpers;
using HarmonyLib;
using UnityEngine;
namespace BetterAmongUs.Patches;
class SplashIntroPatch
{
public static bool BetterIntro = false;
public static bool IsReallyDoneLoading = false;
private static GameObject BetterLogo;
[HarmonyPatch(typeof(SplashManager))]
class SplashManagerPatch
{
[HarmonyPatch(nameof(SplashManager.Start))]
[HarmonyPrefix]
public static void Start_Prefix(SplashManager __instance)
{
__instance.logoAnimFinish.transform.Find("BlackOverlay").transform.SetLocalY(100f);
}
[HarmonyPatch(nameof(SplashManager.Update))]
[HarmonyPrefix]
public static bool Update_Prefix(SplashManager __instance)
{
if (Time.time - __instance.startTime > 2f && BetterIntro)
{
UnityEngine.Object.Destroy(__instance.logoAnimFinish.GetComponent<AudioSource>());
}
if (Input.GetKeyDown(KeyCode.Mouse0) || Input.GetKeyDown(KeyCode.Mouse1))
{
if (Time.time - __instance.startTime > 2f || BetterIntro)
{
IsReallyDoneLoading = true;
__instance.sceneChanger.AllowFinishLoadingScene();
__instance.startedSceneLoad = true;
}
}
if (__instance.doneLoadingRefdata && !__instance.startedSceneLoad && Time.time - __instance.startTime > __instance.minimumSecondsBeforeSceneChange)
{
if (!BetterIntro)
{
__instance.startTime = Time.time;
__instance.logoAnimFinish.gameObject.SetActive(false);
__instance.logoAnimFinish.gameObject.SetActive(true);
GameObject InnerLogo = __instance.logoAnimFinish.transform.Find("LogoRoot/ISLogo").gameObject;
BetterLogo = UnityEngine.Object.Instantiate(InnerLogo, InnerLogo.transform.parent);
InnerLogo.DestroyObj();
BetterLogo.name = "BetterLogo";
BetterLogo.GetComponent<SpriteRenderer>().sprite = Utils.LoadSprite("BetterAmongUs.Resources.Images.BetterAmongUs-By-The-Enhanced-Network-Logo.png", 150f);
__instance.logoAnimFinish.transform.Find("BlackOverlay").transform.SetLocalY(0f);
__instance.loadingObject.SetActive(false);
__instance.startedSceneLoad = false;
BetterIntro = true;
return false;
}
__instance.startedSceneLoad = true;
if (__instance.startedSceneLoad && BetterIntro)
{
IsReallyDoneLoading = true;
__instance.sceneChanger.AllowFinishLoadingScene();
__instance.startedSceneLoad = true;
}
}
return false;
}
}
}