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();
}
}
}