Decompiled source of StreamerCam v1.0.0

Mods/StreamerCam.dll

Decompiled 2 days ago
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using Il2CppRUMBLE.Managers;
using Il2CppRUMBLE.Utilities;
using MelonLoader;
using RumbleModUI;
using RumbleModdingAPI;
using StreamerCam;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(Main), "StreamerCam", "1.0.0", "YourName", null)]
[assembly: MelonGame("Buckethead Entertainment", "RUMBLE")]
[assembly: MelonColor(255, 123, 0, 123)]
[assembly: MelonAuthorColor(255, 255, 119, 255)]
[assembly: VerifyLoaderVersion(0, 6, 6, true)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("StreamerCam")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("StreamerCam")]
[assembly: AssemblyTitle("StreamerCam")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace StreamerCam;

public static class BuildInfo
{
	public const string ModName = "StreamerCam";

	public const string ModVersion = "1.0.0";

	public const string Author = "YourName";
}
public class Main : MelonMod
{
	private string currentScene = "Loader";

	private Mod StreamerCam = new Mod();

	private bool enabled = true;

	private List<ModSetting> settings = new List<ModSetting>();

	private GameObject UIs;

	private GameObject monitorObject;

	private GameObject BG;

	private RectTransform monitor;

	private Vector2 initScale;

	private Vector2 initPosition;

	public override void OnSceneWasLoaded(int buildIndex, string sceneName)
	{
		currentScene = sceneName;
	}

	public override void OnLateInitializeMelon()
	{
		Calls.onMapInitialized += mapLoaded;
		UI.instance.UI_Initialized += UIInit;
	}

	private void UIInit()
	{
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Expected O, but got Unknown
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Expected O, but got Unknown
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ac: Expected O, but got Unknown
		//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d7: Expected O, but got Unknown
		//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0102: Expected O, but got Unknown
		StreamerCam.ModName = "StreamerCam";
		StreamerCam.ModVersion = "1.0.0";
		StreamerCam.SetFolder("StreamerCam");
		settings.Add((ModSetting)(object)StreamerCam.AddToList("Enabled", false, 0, "Toggles Mod On/Off", new Tags()));
		settings.Add((ModSetting)(object)StreamerCam.AddToList("Offset x", -320f, "", new Tags()));
		settings.Add((ModSetting)(object)StreamerCam.AddToList("Offset y", -115f, "", new Tags()));
		settings.Add((ModSetting)(object)StreamerCam.AddToList("Scale x", 0.125f, "", new Tags()));
		settings.Add((ModSetting)(object)StreamerCam.AddToList("Scale y", 0.125f, "", new Tags()));
		StreamerCam.GetFromFile();
		StreamerCam.ModSaved += Save;
		UI.instance.AddMod(StreamerCam);
	}

	public void Save()
	{
		//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: 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)
		enabled = (bool)settings[0].SavedValue;
		if (enabled)
		{
			BG.SetActive(false);
			((Component)monitor).transform.localScale = Vector2.op_Implicit(new Vector2((float)settings[3].SavedValue, (float)settings[4].SavedValue));
			monitor.anchoredPosition = new Vector2((float)settings[1].SavedValue, (float)settings[2].SavedValue);
		}
		else
		{
			BG.SetActive(true);
			((Component)monitor).transform.localScale = Vector2.op_Implicit(initScale);
			monitor.anchoredPosition = initPosition;
		}
	}

	public void mapLoaded()
	{
		//IL_00be: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0122: Unknown result type (might be due to invalid IL or missing references)
		//IL_0127: Unknown result type (might be due to invalid IL or missing references)
		//IL_0164: Unknown result type (might be due to invalid IL or missing references)
		if (currentScene != "Loader" && enabled)
		{
			UIs = ((Component)((Component)Singleton<PlayerManager>.instance.LocalPlayer.Controller).transform.FindChild("UI").FindChild("LocalUI").FindChild("ScreenSpaceUI")).gameObject;
			BG = ((Component)UIs.transform.FindChild("BG")).gameObject;
			monitorObject = ((Component)UIs.transform.FindChild("ScreenSpaceMonitor")).gameObject;
			monitor = monitorObject.GetComponent<RectTransform>();
			initScale = Vector2.op_Implicit(((Component)monitor).transform.localScale);
			initPosition = monitor.anchoredPosition;
			BG.SetActive(false);
			((Component)monitor).transform.localScale = Vector2.op_Implicit(new Vector2((float)settings[3].SavedValue, (float)settings[4].SavedValue));
			monitor.anchoredPosition = new Vector2((float)settings[1].SavedValue, (float)settings[2].SavedValue);
			MelonLogger.Msg("Camera Adjusted");
		}
	}
}