Decompiled source of DrinkWater v1.2.1

Mods/DrinkWater.dll

Decompiled 2 weeks ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using DrinkWaters;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppRUMBLE.Environment;
using Il2CppRUMBLE.Managers;
using Il2CppRUMBLE.Players;
using Il2CppRUMBLE.Utilities;
using Il2CppSystem;
using MelonLoader;
using RumbleModUI;
using RumbleModdingAPI.RMAPI;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: MelonInfo(typeof(Class1), "DrinkWater", "1.1.0", "Davilonchi", null)]
[assembly: MelonColor(255, 67, 216, 250)]
[assembly: MelonAuthorColor(255, 67, 216, 250)]
[assembly: MelonGame("Buckethead Entertainment", "RUMBLE")]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("DrinkWater")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("DrinkWater")]
[assembly: AssemblyTitle("DrinkWater")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace DrinkWaters;

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

	public const string ModVersion = "1.1.0";

	public const string Description = "Reminds you to drink water";

	public const string Author = "Davilonchi";

	public const string Company = "";
}
public class Validation : ValidationParameters
{
	private int Length;

	public Validation(int i)
	{
		Length = i;
	}

	public override bool DoValidation(string Input)
	{
		if (Input.Length == Length)
		{
			return true;
		}
		return false;
	}
}
public class Class1 : MelonMod
{
	private Mod DrinkWater = new Mod();

	private GameObject newtablet;

	private int scenesUntillWater = 10;

	private int waterCounter;

	private bool init;

	private string currentScene = "Loader";

	public void OnUIInit()
	{
		//IL_0045: Unknown result type (might be due to invalid IL or missing references)
		//IL_004a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Expected O, but got Unknown
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_0073: Expected O, but got Unknown
		DrinkWater.ModName = "DrinkWater";
		DrinkWater.ModVersion = "1.1.0";
		DrinkWater.SetFolder("DrinkWater");
		DrinkWater.AddDescription("Description", "", "Reminds you to drink water", new Tags
		{
			IsSummary = true
		});
		DrinkWater.AddToList("Matches till break", 10, "Number of matches untill you get a warning to drink water next to the matchmaking lever", new Tags());
		DrinkWater.GetFromFile();
		UI.instance.AddMod(DrinkWater);
		MelonLogger.Msg("Added Mod");
		OnSettingSave();
	}

	public void OnSettingSave()
	{
		scenesUntillWater = (int)DrinkWater.Settings[1].SavedValue;
	}

	public override void OnLateInitializeMelon()
	{
		Actions.onMapInitialized += Openning;
		DrinkWater.ModSaved += OnSettingSave;
		UI.instance.UI_Initialized += OnUIInit;
	}

	public override void OnSceneWasLoaded(int buildIndex, string sceneName)
	{
		init = false;
		currentScene = sceneName;
		switch (sceneName)
		{
		case "Gym":
			CheckWater(sceneName);
			break;
		case "Map0":
		case "Map1":
			waterCounter++;
			break;
		}
	}

	public void Openning(string map)
	{
		init = true;
	}

	public override void OnUpdate()
	{
	}

	public void CheckWater(string sceneName)
	{
		if (waterCounter >= scenesUntillWater)
		{
			Nullable<int> val = new Nullable<int>();
			Singleton<SlabManager>.instance.SpawnNotificationSlab("Go ahead and drink some water", ref val, (ControllerType)1, (Il2CppReferenceArray<Location>)null);
			Singleton<SlabManager>.instance.ShowNextNotificationSlab((ControllerType)1);
			waterCounter = 0;
		}
	}
}