initial commit
This commit is contained in:
5
.gitignore
vendored
Executable file
5
.gitignore
vendored
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
.git/
|
||||||
|
.vs/
|
||||||
|
bin/
|
||||||
|
obj/
|
||||||
|
*.sln
|
||||||
49
AutoLight.csproj
Executable file
49
AutoLight.csproj
Executable file
@@ -0,0 +1,49 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<AssemblyName>AutoLight</AssemblyName>
|
||||||
|
<Product>AutoLight</Product>
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
<RestoreAdditionalProjectSources>
|
||||||
|
https://api.nuget.org/v3/index.json;
|
||||||
|
https://nuget.bepinex.dev/v3/index.json;
|
||||||
|
https://nuget.samboy.dev/v3/index.json
|
||||||
|
</RestoreAdditionalProjectSources>
|
||||||
|
<RootNamespace>UnrestrictedPlacement</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.*" IncludeAssets="compile" />
|
||||||
|
<PackageReference Include="BepInEx.PluginInfoProps" Version="2.*" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Assembly-CSharp" Publicize="true">
|
||||||
|
<HintPath>..\lib\Assembly-CSharp.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="MyBox" Publicize="true">
|
||||||
|
<HintPath>..\lib\MyBox.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Il2Cppmscorlib" Publicize="true">
|
||||||
|
<HintPath>..\lib\Il2Cppmscorlib.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.PhysicsModule" Publicize="true">
|
||||||
|
<HintPath>..\lib\UnityEngine.PhysicsModule.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.CoreModule" Publicize="true">
|
||||||
|
<HintPath>..\lib\UnityEngine.CoreModule.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Unity.InputSystem" Publicize="true">
|
||||||
|
<HintPath>..\lib\Unity.InputSystem.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.AIModule" Publicize="true">
|
||||||
|
<HintPath>..\lib\UnityEngine.AIModule.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.InputLegacyModule" Publicize="true">
|
||||||
|
<HintPath>..\lib\UnityEngine.InputLegacyModule.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
29
Behaviour.cs
Normal file
29
Behaviour.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using MyBox;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace AutoLight;
|
||||||
|
public class Behaviour : MonoBehaviour
|
||||||
|
{
|
||||||
|
private LightSwitch[] LightSwitches;
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
LightSwitches = Object.FindObjectsOfType<LightSwitch>();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
DayCycleManager __instance = Singleton<DayCycleManager>.Instance;
|
||||||
|
StoreLightManager __storelightmanager = Singleton<StoreLightManager>.Instance;
|
||||||
|
if (__instance.CurrentHour == 6 && __instance.CurrentMinute == 0 && __instance.AM == false)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < LightSwitches.Length; i++)
|
||||||
|
{
|
||||||
|
LightSwitch lightSwitch = LightSwitches[i];
|
||||||
|
if (!__storelightmanager.m_IsOn)
|
||||||
|
{
|
||||||
|
lightSwitch.InstantInteract();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
12
CHANGELOG
Normal file
12
CHANGELOG
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [1.0.0] - 2026-04-04
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Initial release
|
||||||
|
- turns on the lights at 6:00 PM
|
||||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2026 Marc Philipp Burgmann
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
46
Plugin.cs
Executable file
46
Plugin.cs
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
using BepInEx;
|
||||||
|
using BepInEx.Logging;
|
||||||
|
using BepInEx.Unity.IL2CPP;
|
||||||
|
using Il2CppInterop.Runtime.Injection;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
using UnityEngine.SceneManagement;
|
||||||
|
|
||||||
|
namespace AutoLight;
|
||||||
|
|
||||||
|
[BepInPlugin(PLUGIN_GUID, PLUGIN_NAME, PLUGIN_VERSION)]
|
||||||
|
public class Plugin : BasePlugin
|
||||||
|
{
|
||||||
|
public const string PLUGIN_GUID = "de.mpburgmann.AutoLight";
|
||||||
|
public const string PLUGIN_NAME = "AutoLight";
|
||||||
|
public const string PLUGIN_VERSION = "1.0.0";
|
||||||
|
internal static new ManualLogSource Log;
|
||||||
|
|
||||||
|
public override void Load()
|
||||||
|
{
|
||||||
|
Log = base.Log;
|
||||||
|
Log.LogInfo($"Plugin {PLUGIN_GUID} is loaded!");
|
||||||
|
|
||||||
|
SceneManager.sceneLoaded += (UnityAction<Scene, LoadSceneMode>) OnSceneLoaded;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
||||||
|
{
|
||||||
|
if (scene.name == "Main Scene")
|
||||||
|
{
|
||||||
|
ClassInjector.RegisterTypeInIl2Cpp<Behaviour>();
|
||||||
|
GameObject gameObject = new("AutoLightBehaviour");
|
||||||
|
Object.DontDestroyOnLoad(gameObject);
|
||||||
|
gameObject.AddComponent<Behaviour>();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(scene.name == "Main Menu")
|
||||||
|
{
|
||||||
|
Object gameObject = GameObject.Find("AutoLightBehaviour");
|
||||||
|
if(gameObject != null)
|
||||||
|
{
|
||||||
|
Object.Destroy(gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user