Files
2026-03-08 21:33:59 +11:00

65 lines
2.5 KiB
C#

using KitchenLib;
using KitchenMods;
using System.Reflection;
using Kitchen;
using KitchenLib.Preferences;
using KitchenLib.UI.PlateUp.PreferenceMenus;
using MMOKitchen.Menus;
using UnityEngine;
using KitchenLogger = KitchenLib.Logging.KitchenLogger;
namespace MMOKitchen
{
public class Mod : BaseMod, IModSystem
{
public const string MOD_GUID = "com.starfluxgames.mmokitchen";
public const string MOD_NAME = "MMO Kitchen";
public const string MOD_VERSION = "0.4.0";
public const string MOD_AUTHOR = "StarFluxGames";
public const string MOD_GAMEVERSION = ">=1.2.0";
public const string PREFERENCE_REQUIRED_CONSENT_PERCENTAGE = "requiredConsentPercentage";
public const string PREFERENCE_SCALE_ABOVE_4_PLAYERS = "scaleAbove4Players";
public const string PREFERENCE_CUSTOMER_SCALE_AMOUNT = "PREFERENCE_CUSTOMER_SCALE_AMOUNT";
public const string PREFERENCE_FIRE_SCALE_AMOUNT = "PREFERENCE_FIRE_SCALE_AMOUNT";
public const string PREFERENCE_PATIENCE_SCALE_AMOUNT = "PREFERENCE_PATIENCE_SCALE_AMOUNT";
public static KitchenLogger Logger;
public static PreferenceManager manager;
public static int MaxPlayers = 100;
public Mod() : base(MOD_GUID, MOD_NAME, MOD_AUTHOR, MOD_VERSION, MOD_GAMEVERSION, Assembly.GetExecutingAssembly()) { }
protected override void OnInitialise()
{
Logger.LogWarning($"{MOD_GUID} v{MOD_VERSION} in use!");
}
protected override void OnUpdate()
{
}
protected override void OnPostActivate(KitchenMods.Mod mod)
{
Logger = InitLogger();
manager = new PreferenceManager("mmokitchen");
manager.RegisterPreference(new PreferenceInt(PREFERENCE_REQUIRED_CONSENT_PERCENTAGE, 100));
manager.RegisterPreference(new PreferenceBool(PREFERENCE_SCALE_ABOVE_4_PLAYERS, true));
manager.RegisterPreference(new PreferenceFloat(PREFERENCE_CUSTOMER_SCALE_AMOUNT, 1f));
manager.RegisterPreference(new PreferenceFloat(PREFERENCE_FIRE_SCALE_AMOUNT, 1f));
manager.RegisterPreference(new PreferenceFloat(PREFERENCE_PATIENCE_SCALE_AMOUNT, 1f));
manager.Load();
manager.Save();
MainMenuPreferencesesMenu.RegisterMenu(MOD_NAME, typeof(PreferenceMenu));
PauseMenuPreferencesesMenu.RegisterMenu(MOD_NAME, typeof(PreferenceMenu));
BasePreferencesMenu.RegisterUsableMenu(typeof(PreferenceMenu));
}
}
}