using BepInEx; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ExtensibleSaveFormat { public class ExtensibleSaveFormat : BaseUnityPlugin { public override string ID => "com.bepis.bepinex.extendedsave"; public override string Name => "Extensible Save Format"; public override Version Version => new Version("1.0"); void Awake() { Hooks.InstallHooks(); } internal static Dictionary> internalDictionary = new Dictionary>(); #region Events public delegate void CardEventHandler(ChaFile file); public static event CardEventHandler CardBeingSaved; public static event CardEventHandler CardBeingLoaded; internal static void writeEvent(ChaFile file) { CardBeingSaved?.Invoke(file); } internal static void readEvent(ChaFile file) { CardBeingLoaded?.Invoke(file); } #endregion public static bool TryGetExtendedFormat(ChaFile file, out Dictionary extendedFormatData) { return internalDictionary.TryGetValue(file, out extendedFormatData); } public static void SetExtendedFormat(ChaFile file, Dictionary extendedFormatData) { internalDictionary[file] = extendedFormatData; } } }