You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- using System;
- using System.Reflection;
-
- using IllusionPlugin;
- //using GamecraftModdingAPI;
-
- namespace NScript
- {
- public class NScriptPlugin : IEnhancedPlugin
- {
- public override string Name { get; } = Assembly.GetExecutingAssembly().GetName().Name;
-
- public override string Version { get; } = Assembly.GetExecutingAssembly().GetName().Version.ToString();
-
- private string toggleButtonText = "Turn On";
-
- private HarmonyLib.Harmony instance;
-
- // called when Gamecraft shuts down
- public override void OnApplicationQuit()
- {
- // Shutdown this mod
- instance?.UnpatchAll(Assembly.GetExecutingAssembly().GetName().FullName);
- GamecraftModdingAPI.Utility.Logging.LogDebug($"{Name} has shutdown");
-
- // Shutdown the Gamecraft modding API last
- GamecraftModdingAPI.Main.Shutdown();
- }
-
- // called when Gamecraft starts up
- public override void OnApplicationStart()
- {
- // Initialize the Gamecraft modding API first
- GamecraftModdingAPI.Main.Init();
- // check out the modding API docs here: https://mod.exmods.org/
- instance = new HarmonyLib.Harmony(Assembly.GetExecutingAssembly().GetName().FullName);
- instance.PatchAll(Assembly.GetExecutingAssembly());
-
- // load external libraries
- try
- {
- string filmscriptVersion = Filmscript.GeneralBindings.Version();
- GamecraftModdingAPI.Utility.Logging.MetaLog($"filmscript.dll {filmscriptVersion}");
- }
- catch (DllNotFoundException e)
- {
- GamecraftModdingAPI.Utility.Logging.MetaLog($"Failed to find filmscript DLL: {e.Message} ({e.TypeName} | {e.Source})");
- }
-
- // Initialize this mod
- GamecraftModdingAPI.Utility.GameEngineManager.AddGameEngine(new CameraEngine());
-
- GamecraftModdingAPI.Utility.Logging.MetaLog($"{Name} has started up");
- }
-
- public override void OnGUI()
- {
- // toggle custom camera mode
- if (UnityEngine.GUILayout.Button(toggleButtonText))
- {
- // toggle button text indicates what the button will do *next* time it's pressed
- if (CameraPatch.AllowDefaultBehaviour)
- {
- toggleButtonText = "Turn Off"; // custom camera mode is turning on
- }
- else
- {
- toggleButtonText = "Turn On"; // custom camera mode is turning off
- }
-
- CameraPatch.AllowDefaultBehaviour = !CameraPatch.AllowDefaultBehaviour;
- CameraEngine.useDefaultBehaviour = !CameraEngine.useDefaultBehaviour;
- }
- }
- }
- }
|