Decompiled source of MrDayNight v1.0.0

MrDayNight.dll

Decompiled 4 months ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using Jotunn.Extensions;
using Jotunn.Managers;
using Jotunn.Utils;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("0.0.0.0")]
namespace MrDayNight;

[HarmonyPatch(typeof(EnvMan), "Awake")]
public static class EnvMan_Awake_Patch
{
	private static void Postfix(EnvMan __instance)
	{
		if (!((Object)(object)__instance == (Object)null))
		{
			float value = MrDayNight.DayLength.Value;
			float value2 = MrDayNight.NightLength.Value;
			float num = value + value2;
			__instance.m_dayLengthSec = (long)num;
			MrDayNight.Log.LogInfo((object)$"[MrDayNight] Ciclo personalizado aplicado: Dia={value}s, Noite={value2}s, Total={num}s");
		}
	}
}
[BepInPlugin("genesisproj.mrdaynight", "MrDayNight", "1.0.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[SynchronizationMode(/*Could not decode attribute arguments.*/)]
public class MrDayNight : BaseUnityPlugin
{
	public const string PluginGUID = "genesisproj.mrdaynight";

	public const string PluginName = "MrDayNight";

	public const string PluginVersion = "1.0.0";

	internal static ManualLogSource Log;

	internal static ConfigEntry<float> DayLength;

	internal static ConfigEntry<float> NightLength;

	private Harmony harmony;

	private void Awake()
	{
		//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d4: Expected O, but got Unknown
		Log = ((BaseUnityPlugin)this).Logger;
		AcceptableValueRange<float> val = new AcceptableValueRange<float>(100f, 7200f);
		AcceptableValueRange<float> val2 = new AcceptableValueRange<float>(100f, 7200f);
		ConfigFile config = ((BaseUnityPlugin)this).Config;
		AcceptableValueBase val3 = (AcceptableValueBase)(object)val;
		DayLength = ConfigFileExtensions.BindConfig<float>(config, "Tempo", "DayLength", 1200f, "Duração do dia em segundos (default = 1200)", true, (int?)null, val3, (Action<ConfigEntryBase>)null, (ConfigurationManagerAttributes)null);
		ConfigFile config2 = ((BaseUnityPlugin)this).Config;
		val3 = (AcceptableValueBase)(object)val2;
		NightLength = ConfigFileExtensions.BindConfig<float>(config2, "Tempo", "NightLength", 600f, "Duração da noite em segundos (default = 600)", true, (int?)null, val3, (Action<ConfigEntryBase>)null, (ConfigurationManagerAttributes)null);
		Log.LogInfo((object)"[MrDayNight] Inicializando v1.0.0");
		SynchronizationManager.OnConfigurationSynchronized += delegate(object _, ConfigurationSynchronizationEventArgs e)
		{
			if (e.InitialSynchronization)
			{
				Log.LogInfo((object)"Configurações sincronizadas do servidor.");
			}
			else
			{
				Log.LogInfo((object)"Configurações atualizadas do servidor.");
			}
		};
		harmony = new Harmony("genesisproj.mrdaynight");
		harmony.PatchAll();
		Log.LogInfo((object)"MrDayNight ativo e aguardando inicialização do EnvMan.");
	}

	private void OnDestroy()
	{
		Harmony obj = harmony;
		if (obj != null)
		{
			obj.UnpatchSelf();
		}
	}
}