Decompiled source of SeasonalLeaves v2.2.1

Mods/SeasonalLeaves.dll

Decompiled 2 weeks ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using Il2CppSystem.Collections.Generic;
using MelonLoader;
using RumbleModUI;
using SeasonalLeaves;
using UnhollowerBaseLib;
using UnityEngine;
using UnityEngine.VFX;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(SeasonalLeavesClass), "SeasonalLeaves", "2.2.1", "Baumritter", null)]
[assembly: MelonGame("Buckethead Entertainment", "RUMBLE")]
[assembly: MelonColor(ConsoleColor.DarkGreen)]
[assembly: AssemblyTitle("SeasonalLeaves")]
[assembly: AssemblyDescription("Changes the color of all leaves based on season.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SeasonalLeaves")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("80d96e94-eda2-46b0-9b8b-23557ea773b5")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace SeasonalLeaves;

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

	public const string ModVersion = "2.2.1";

	public const string Description = "Changes the color of all leaves based on season.";

	public const string Author = "Baumritter";

	public const string Company = "";
}
public class LeaveShading : MonoBehaviour
{
	public Color[] shades = (Color[])(object)new Color[3];

	public void ApplyShading(Color Base)
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		float num = default(float);
		float num2 = default(float);
		float num3 = default(float);
		Color.RGBToHSV(Base, ref num, ref num2, ref num3);
		if (num2 > 0.9f)
		{
			num2 = 0.9f;
		}
		if (num2 < 0.1f)
		{
			num2 = 0.1f;
		}
		if (num3 > 0.9f)
		{
			num3 = 0.9f;
		}
		if (num3 < 0.1f)
		{
			num3 = 0.1f;
		}
		shades[0] = Color.HSVToRGB(num, num2 - 0.1f, num3 - 0.1f);
		shades[1] = Color.HSVToRGB(num, num2, num3);
		shades[2] = Color.HSVToRGB(num, num2 + 0.1f, num3 + 0.1f);
	}
}
public class SeasonalLeavesClass : MelonMod
{
	private const double SceneDelay = 6.0;

	private const int LeavesColorTopOld = 1352;

	private const int LeavesColorMidOld = 1353;

	private const int LeavesColorBotOld = 1355;

	private const int LeavesColorMid = 1359;

	private const int LeavesColorBot = 1361;

	private const int GrassColor1 = 1340;

	private const int GrassColor2 = 1342;

	private const int VFXGradientID = 977;

	private const string SettingsFolder = "Settings";

	private readonly bool debuglog = false;

	private readonly bool debuglog2 = false;

	private bool loaddelaydone = false;

	private bool loadlockout = false;

	private bool DoOnce = false;

	private bool gradientenb = true;

	private bool ObjectGet = false;

	private float loop = 0f;

	private float looop = 0f;

	private int gradienttype = 0;

	private int ColorRefreshRate = 5;

	private DateTime loaddelay;

	private string currentscene;

	private Color color_placeholder = new Color(1f, 1f, 1f, 1f);

	private Color color_cust_cherry = new Color(0.8f, 0.52f, 0.57f, 1f);

	private Color color_sumr_lshgrn = new Color(0f, 0.15f, 0f, 1f);

	private Color color_sumr_drkgrn = new Color(0.05f, 0.04f, 0f, 1f);

	private Color color_fall_drkred = new Color(0.19f, 0.06f, 0f, 1f);

	private Color color_fall_orange = new Color(0.25f, 0.1f, 0f, 1f);

	private Color color_fall_yellow = new Color(0.25f, 0.16f, 0f, 1f);

	private Color color_wntr_lghblu = new Color(0.5f, 0.5f, 0.8f, 1f);

	private Gradient gradient;

	private GradientColorKey[] keys = (GradientColorKey[])(object)new GradientColorKey[2];

	private List<string> gymleaves = new List<string>();

	private List<string> parkleaves = new List<string>();

	private string gymgrass;

	private string ringleaves;

	private string pitleaves;

	private List<Material> Trees = new List<Material>();

	private List<Material> Grass = new List<Material>();

	private Material PlaceHolder;

	private GameObject VFXHolder;

	private VisualEffect VFX_Obj;

	private LeaveShading Shading = new LeaveShading();

	private UI UI;

	private Mod Mod = new Mod();

	private ModSetting<bool> ReInit;

	public override void OnLateInitializeMelon()
	{
		//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0200: Unknown result type (might be due to invalid IL or missing references)
		//IL_0227: Unknown result type (might be due to invalid IL or missing references)
		//IL_022c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0253: Unknown result type (might be due to invalid IL or missing references)
		//IL_0258: Unknown result type (might be due to invalid IL or missing references)
		((MelonBase)this).OnLateInitializeMelon();
		UI = RumbleModUIClass.UI_Obj;
		Mod.ModName = "SeasonalLeaves";
		Mod.ModVersion = "2.2.1";
		Mod.SetFolder("SeasonalLeaves");
		Mod.SetSubFolder("Settings");
		Mod.AddToList("Description", (AvailableTypes)0, "", "Changes the color of all leaves based on season.");
		Mod.AddToList("RGB", false, 1, "Turns the RGB theme on/off.");
		Mod.AddToList("Cursed", false, 1, "Turns the Cursed theme on/off.");
		Mod.AddToList("Season", true, 1, "Turns the Seasonal theme on/off.");
		Mod.AddToList("Cherry", false, 1, "Turns the Cherry theme on/off.");
		Mod.SetLinkGroup(1, "Themes");
		ReInit = Mod.AddToList("Re-init Objects", false, 0, "Gets the Objects again.");
		Mod.GetFromFile();
		gymleaves.Add("--------------SCENE--------------/Gym_Production/Main static group/Foliage/Root_leaves");
		gymleaves.Add("--------------SCENE--------------/Gym_Production/Main static group/Foliage/Root_leaves_001");
		gymleaves.Add("--------------SCENE--------------/Gym_Production/Main static group/Foliage/Root_leaves_002");
		gymleaves.Add("--------------SCENE--------------/Gym_Production/Main static group/Foliage/Root_leaves_003");
		gymleaves.Add("--------------SCENE--------------/Gym_Production/Main static group/Gymarena/Leave_sphere__23_");
		gymleaves.Add("--------------SCENE--------------/Gym_Production/Main static group/Gymarena/Leave_sphere__24_");
		gymgrass = "--------------SCENE--------------/Grass";
		parkleaves.Add("________________SCENE_________________/Park/Main static group/Leaves/Leave_sphere_park");
		parkleaves.Add("________________SCENE_________________/Park/Main static group/Leaves/Leave_sphere_park_001");
		parkleaves.Add("________________SCENE_________________/Park/Main static group/Leaves/Leave_sphere_park_002");
		parkleaves.Add("________________SCENE_________________/Park/Main static group/Leaves/Leave_sphere_park_003");
		ringleaves = "Map0_production/Main static group/leave";
		pitleaves = "Map1_production/Main static group/Leaves_Map2";
		Shading.shades[0] = Color.HSVToRGB(looop / 360f, 1f, 1f);
		Shading.shades[1] = Color.HSVToRGB(looop / 360f, 0.66f, 0.66f);
		Shading.shades[2] = Color.HSVToRGB(looop / 360f, 0.33f, 0.33f);
	}

	public override void OnUpdate()
	{
		//IL_08b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0753: Unknown result type (might be due to invalid IL or missing references)
		//IL_0758: Unknown result type (might be due to invalid IL or missing references)
		//IL_0775: Unknown result type (might be due to invalid IL or missing references)
		//IL_077a: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0475: Unknown result type (might be due to invalid IL or missing references)
		//IL_047a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0497: Unknown result type (might be due to invalid IL or missing references)
		//IL_049c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b18: Unknown result type (might be due to invalid IL or missing references)
		//IL_08f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0913: Unknown result type (might be due to invalid IL or missing references)
		//IL_0935: Unknown result type (might be due to invalid IL or missing references)
		//IL_0957: Unknown result type (might be due to invalid IL or missing references)
		//IL_0979: Unknown result type (might be due to invalid IL or missing references)
		//IL_064f: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_030b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0329: Unknown result type (might be due to invalid IL or missing references)
		//IL_0347: Unknown result type (might be due to invalid IL or missing references)
		//IL_0365: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b51: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b73: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b95: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bd9: Unknown result type (might be due to invalid IL or missing references)
		//IL_09b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_09b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_09d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_09da: Unknown result type (might be due to invalid IL or missing references)
		//IL_0684: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_06c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_06de: Unknown result type (might be due to invalid IL or missing references)
		//IL_06fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c13: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c18: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c35: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c3a: Unknown result type (might be due to invalid IL or missing references)
		//IL_03da: Unknown result type (might be due to invalid IL or missing references)
		//IL_040f: Unknown result type (might be due to invalid IL or missing references)
		//IL_042d: Unknown result type (might be due to invalid IL or missing references)
		((MelonBase)this).OnUpdate();
		LoadDelayLogic();
		if (UI.GetInit() && !Mod.GetUIStatus())
		{
			UI.AddMod(Mod);
			ApplySettings();
			MelonLogger.Msg("Added Mod.");
		}
		if (Mod.GetSaveStatus())
		{
			ApplySettings();
			Mod.ConfirmSave();
		}
		if (loaddelaydone && (bool)((ModSetting)ReInit).Value)
		{
			DoOnce = false;
			ObjectGet = false;
			((ModSetting)ReInit).Value = false;
			UI.ForceRefresh();
			MelonLogger.Msg("Objects reinitialized.");
		}
		if (loaddelaydone && gradientenb)
		{
			if (loop >= (float)ColorRefreshRate)
			{
				ColorChange(gradienttype);
			}
			loop += 1f;
		}
		if (!loaddelaydone || DoOnce)
		{
			return;
		}
		if (currentscene == "Gym")
		{
			if (!ObjectGet)
			{
				Trees.Clear();
				Grass.Clear();
				Enumerator<string> enumerator = gymleaves.GetEnumerator();
				while (enumerator.MoveNext())
				{
					string current = enumerator.Current;
					Trees.Add(((Renderer)GameObject.Find(current).GetComponent<MeshRenderer>()).material);
					if (debuglog)
					{
						MelonLogger.Msg("Trees Get");
					}
				}
				for (int i = 0; i < GameObject.Find(gymgrass).transform.GetChildCount(); i++)
				{
					Grass.Add(((Renderer)((Component)GameObject.Find(gymgrass).transform.GetChild(i)).GetComponent<MeshRenderer>()).material);
					Grass.Add(((Renderer)((Component)GameObject.Find(gymgrass).transform.GetChild(i).GetChild(0)).GetComponent<MeshRenderer>()).material);
				}
				VFXHolder = GameObject.Find("Lighting and effects/Visual Effects/Falling Leaf VFXs");
				ObjectGet = true;
			}
			Enumerator<Material> enumerator2 = Trees.GetEnumerator();
			while (enumerator2.MoveNext())
			{
				Material current2 = enumerator2.Current;
				if (!gradientenb)
				{
					Shading.ApplyShading(color_placeholder);
				}
				if (debuglog)
				{
					MelonLogger.Msg("Calculated Shading - Tree");
				}
				current2.SetColor(1352, Shading.shades[2]);
				current2.SetColor(1353, Shading.shades[1]);
				current2.SetColor(1355, Shading.shades[0]);
				current2.SetColor(1359, Shading.shades[1]);
				current2.SetColor(1361, Shading.shades[0]);
				if (debuglog)
				{
					MelonLogger.Msg("Applied Shading - Tree");
				}
			}
			if (!gradientenb)
			{
				Enumerator<Material> enumerator3 = Grass.GetEnumerator();
				while (enumerator3.MoveNext())
				{
					Material current3 = enumerator3.Current;
					if (!gradientenb)
					{
						Shading.ApplyShading(color_placeholder);
					}
					if (debuglog)
					{
						MelonLogger.Msg("Calculated Shading - Grass");
					}
					current3.SetColor(1340, Shading.shades[1]);
					current3.SetColor(1342, Shading.shades[0]);
					if (debuglog)
					{
						MelonLogger.Msg("Applied Shading - Grass");
					}
				}
			}
			keys[0].color = Shading.shades[1];
			keys[1].color = Shading.shades[1];
			VFX_Obj = ((Component)VFXHolder.transform.GetChild(0)).gameObject.GetComponent<VisualEffect>();
			gradient = VFX_Obj.GetGradient(977);
			gradient.colorKeys = Il2CppStructArray<GradientColorKey>.op_Implicit(keys);
			for (int j = 0; j < VFXHolder.transform.GetChildCount(); j++)
			{
				VFX_Obj = ((Component)VFXHolder.transform.GetChild(j)).gameObject.GetComponent<VisualEffect>();
				VFX_Obj.SetGradient(977, gradient);
			}
			if (debuglog)
			{
				MelonLogger.Msg("Done-VFX");
			}
		}
		if (currentscene == "Park")
		{
			if (!ObjectGet)
			{
				Trees.Clear();
				Grass.Clear();
				Enumerator<string> enumerator4 = parkleaves.GetEnumerator();
				while (enumerator4.MoveNext())
				{
					string current4 = enumerator4.Current;
					Trees.Add(((Renderer)GameObject.Find(current4).GetComponent<MeshRenderer>()).material);
					if (debuglog)
					{
						MelonLogger.Msg("Trees Get");
					}
				}
				VFXHolder = GameObject.Find("Lighting and effects/Visual Effects/Falling Leaf VFXs");
				ObjectGet = true;
			}
			Enumerator<Material> enumerator5 = Trees.GetEnumerator();
			while (enumerator5.MoveNext())
			{
				Material current5 = enumerator5.Current;
				if (!gradientenb)
				{
					Shading.ApplyShading(color_placeholder);
				}
				if (debuglog)
				{
					MelonLogger.Msg("Calculated Shading - Tree");
				}
				current5.SetColor(1352, Shading.shades[2]);
				current5.SetColor(1353, Shading.shades[1]);
				current5.SetColor(1355, Shading.shades[0]);
				current5.SetColor(1359, Shading.shades[1]);
				current5.SetColor(1361, Shading.shades[0]);
				if (debuglog)
				{
					MelonLogger.Msg("Applied Shading - Tree");
				}
			}
			VFXHolder = GameObject.Find("Lighting and effects/Visual Effects/Falling Leaf VFXs");
			keys[0].color = Shading.shades[1];
			keys[1].color = Shading.shades[1];
			VFX_Obj = ((Component)VFXHolder.transform.GetChild(0)).gameObject.GetComponent<VisualEffect>();
			gradient = VFX_Obj.GetGradient(977);
			gradient.colorKeys = Il2CppStructArray<GradientColorKey>.op_Implicit(keys);
			for (int k = 0; k < VFXHolder.transform.GetChildCount(); k++)
			{
				VFX_Obj = ((Component)VFXHolder.transform.GetChild(k)).gameObject.GetComponent<VisualEffect>();
				VFX_Obj.SetGradient(977, gradient);
			}
			if (debuglog)
			{
				MelonLogger.Msg("Done-VFX");
			}
		}
		if (currentscene == "Map0")
		{
			if (!ObjectGet)
			{
				PlaceHolder = ((Renderer)GameObject.Find(ringleaves).GetComponent<MeshRenderer>()).material;
				VFXHolder = GameObject.Find("Lighting & Effects/Visual Effects/Falling Leaf VFXs");
				ObjectGet = true;
			}
			if (!gradientenb)
			{
				Shading.ApplyShading(color_placeholder);
			}
			if (debuglog)
			{
				MelonLogger.Msg("Calculated Shading");
			}
			PlaceHolder.SetColor(1352, Shading.shades[2]);
			PlaceHolder.SetColor(1353, Shading.shades[1]);
			PlaceHolder.SetColor(1355, Shading.shades[0]);
			PlaceHolder.SetColor(1359, Shading.shades[1]);
			PlaceHolder.SetColor(1361, Shading.shades[0]);
			if (debuglog)
			{
				MelonLogger.Msg("Applied Shading");
			}
			keys[0].color = Shading.shades[1];
			keys[1].color = Shading.shades[1];
			VFX_Obj = ((Component)VFXHolder.transform.GetChild(0)).gameObject.GetComponent<VisualEffect>();
			gradient = VFX_Obj.GetGradient(977);
			gradient.colorKeys = Il2CppStructArray<GradientColorKey>.op_Implicit(keys);
			for (int l = 0; l < VFXHolder.transform.GetChildCount(); l++)
			{
				VFX_Obj = ((Component)VFXHolder.transform.GetChild(l)).gameObject.GetComponent<VisualEffect>();
				VFX_Obj.SetGradient(977, gradient);
			}
			if (debuglog)
			{
				MelonLogger.Msg("Done-VFX");
			}
		}
		if (currentscene == "Map1")
		{
			if (!ObjectGet)
			{
				PlaceHolder = ((Renderer)GameObject.Find(pitleaves).GetComponent<MeshRenderer>()).material;
				VFXHolder = GameObject.Find("Lighting & Effects/Visual Effects/Falling Leaf VFXs");
				ObjectGet = true;
			}
			if (!gradientenb)
			{
				Shading.ApplyShading(color_placeholder);
			}
			if (debuglog)
			{
				MelonLogger.Msg("Calculated Shading");
			}
			PlaceHolder.SetColor(1352, Shading.shades[2]);
			PlaceHolder.SetColor(1353, Shading.shades[1]);
			PlaceHolder.SetColor(1355, Shading.shades[0]);
			PlaceHolder.SetColor(1359, Shading.shades[1]);
			PlaceHolder.SetColor(1361, Shading.shades[0]);
			if (debuglog)
			{
				MelonLogger.Msg("Applied Shading");
			}
			keys[0].color = Shading.shades[1];
			keys[1].color = Shading.shades[1];
			VFX_Obj = ((Component)VFXHolder.transform.GetChild(0)).gameObject.GetComponent<VisualEffect>();
			gradient = VFX_Obj.GetGradient(977);
			gradient.colorKeys = Il2CppStructArray<GradientColorKey>.op_Implicit(keys);
			for (int m = 0; m < VFXHolder.transform.GetChildCount(); m++)
			{
				VFX_Obj = ((Component)VFXHolder.transform.GetChild(m)).gameObject.GetComponent<VisualEffect>();
				VFX_Obj.SetGradient(977, gradient);
			}
			if (debuglog)
			{
				MelonLogger.Msg("Done-VFX");
			}
		}
		DoOnce = true;
		if (debuglog)
		{
			MelonLogger.Msg("Done");
		}
	}

	private void LoadDelayLogic()
	{
		if (!loaddelaydone && !loadlockout)
		{
			loaddelay = DateTime.Now.AddSeconds(6.0);
			loadlockout = true;
			if (debuglog)
			{
				MelonLogger.Msg("LoadDelay: Start.");
			}
			if (debuglog)
			{
				MelonLogger.Msg(loaddelay.ToString());
			}
		}
		if (DateTime.Now >= loaddelay && !loaddelaydone)
		{
			loaddelaydone = true;
			if (debuglog)
			{
				MelonLogger.Msg("LoadDelay: End.");
			}
		}
	}

	private void ColorChange(int select)
	{
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_005c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0088: Unknown result type (might be due to invalid IL or missing references)
		//IL_00af: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0191: Unknown result type (might be due to invalid IL or missing references)
		//IL_0196: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_01db: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0123: Unknown result type (might be due to invalid IL or missing references)
		//IL_0143: Unknown result type (might be due to invalid IL or missing references)
		//IL_0148: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Unknown result type (might be due to invalid IL or missing references)
		//IL_016d: Unknown result type (might be due to invalid IL or missing references)
		switch (select)
		{
		case 0:
			if (looop >= 360f)
			{
				looop = 0f;
			}
			Shading.shades[0] = Color.HSVToRGB(looop / 360f, 1f, 1f);
			Shading.shades[1] = Color.HSVToRGB(looop / 360f, 0.66f, 0.66f);
			Shading.shades[2] = Color.HSVToRGB(looop / 360f, 0.33f, 0.33f);
			looop += 1f;
			break;
		case 1:
			if (looop >= 2f)
			{
				looop = 0f;
			}
			if (looop == 0f)
			{
				Shading.shades[0] = Color.HSVToRGB(0f, 1f, 1f);
				Shading.shades[1] = Color.HSVToRGB(0f, 0.66f, 0.66f);
				Shading.shades[2] = Color.HSVToRGB(0f, 0.33f, 0.33f);
			}
			else
			{
				Shading.shades[0] = Color.HSVToRGB(0.5f, 1f, 1f);
				Shading.shades[1] = Color.HSVToRGB(0.5f, 0.66f, 0.66f);
				Shading.shades[2] = Color.HSVToRGB(0.5f, 0.33f, 0.33f);
			}
			looop += 1f;
			break;
		}
		loop = 0f;
		DoOnce = false;
	}

	private void ApplySettings()
	{
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Invalid comparison between Unknown and I4
		//IL_0100: Unknown result type (might be due to invalid IL or missing references)
		//IL_0105: Unknown result type (might be due to invalid IL or missing references)
		//IL_0171: Unknown result type (might be due to invalid IL or missing references)
		//IL_0176: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
		string text = "";
		foreach (ModSetting setting in Mod.Settings)
		{
			if ((int)setting.ValueType == 5 && (bool)setting.Value)
			{
				text = setting.Name;
				break;
			}
		}
		if (debuglog2)
		{
			MelonLogger.Msg(text);
		}
		switch (text)
		{
		case "RGB":
			gradientenb = true;
			gradienttype = 0;
			ColorRefreshRate = 10;
			break;
		case "Cursed":
			gradientenb = true;
			gradienttype = 1;
			ColorRefreshRate = 5;
			break;
		case "Cherry":
			DoOnce = false;
			gradientenb = false;
			color_placeholder = color_cust_cherry;
			break;
		case "Season":
			DoOnce = false;
			gradientenb = false;
			switch (DateTime.Now.Month)
			{
			case 1:
			case 2:
			case 3:
			case 12:
				color_placeholder = color_wntr_lghblu;
				break;
			case 4:
				if (DateTime.Now.Day == 1)
				{
					color_placeholder = new Color(1f, 0f, 1f, 1f);
				}
				break;
			case 5:
			case 6:
				color_placeholder = color_sumr_lshgrn;
				break;
			case 7:
			case 8:
				color_placeholder = color_sumr_drkgrn;
				break;
			case 9:
				color_placeholder = color_fall_yellow;
				break;
			case 10:
				color_placeholder = color_fall_orange;
				break;
			case 11:
				color_placeholder = color_fall_drkred;
				break;
			}
			break;
		default:
			Application.Quit();
			break;
		}
	}

	public override void OnSceneWasLoaded(int buildIndex, string sceneName)
	{
		((MelonMod)this).OnSceneWasLoaded(buildIndex, sceneName);
		currentscene = sceneName;
		loaddelaydone = false;
		loadlockout = false;
		DoOnce = false;
		ObjectGet = false;
	}
}