using HarmonyLib; using NeoModLoader.api; using NeoModLoader.services; using UnityEngine; namespace IdleSpectator; /// /// Idle Spectator entry: F8 AFK camera director over WorldLog events. /// public class ModClass : MonoBehaviour, IMod { private ModDeclare _declare; private GameObject _gameObject; private Harmony _harmony; /// Absolute path to this mod's folder (parent of mod.json). public static string ModFolder { get; private set; } public ModDeclare GetDeclaration() { return _declare; } public GameObject GetGameObject() { return _gameObject; } public string GetUrl() { return ""; } public void OnLoad(ModDeclare pModDecl, GameObject pGameObject) { _declare = pModDecl; _gameObject = pGameObject; ModFolder = pModDecl.FolderPath; _harmony = new Harmony(pModDecl.UID); _harmony.PatchAll(typeof(ModClass).Assembly); LogService.LogInfo($"[{pModDecl.Name}]: Harmony patches applied"); LogService.LogInfo($"[{pModDecl.Name}]: Press F8 to toggle Idle Spectator"); } private void Update() { SpectatorMode.PollInput(); InterestDirector.Update(); } }