/// <summary> /// Get PluginData for a HEditData for the specified extended save data ID /// </summary> /// <param name="data">HEditData for which to get extended data</param> /// <param name="id">ID of the data saved to the card</param> /// <returns>PluginData</returns> public static PluginData GetExtendedDataById(HEdit.HEditData data, string id) { if (data == null || id == null) { return(null); } var dict = _internalHEditDataDictionary.Get(data); return(dict != null && dict.TryGetValue(id, out var extendedSection) ? extendedSection : null); }
/// <summary> /// Set PluginData for a HEditData for the specified extended save data ID /// </summary> /// <param name="data">HEditData for which to set extended data</param> /// <param name="id">ID of the data to be saved to the card</param> /// <param name="extendedFormatData">PluginData to save to the card</param> public static void SetExtendedDataById(HEdit.HEditData data, string id, PluginData extendedFormatData) { var dict = _internalHEditDataDictionary.Get(data); if (dict == null) { dict = new Dictionary <string, PluginData>(); _internalHEditDataDictionary.Set(data, dict); } dict[id] = extendedFormatData; }
internal static void HEditDataReadEvent(HEdit.HEditData data) { if (!LoadEventsEnabled || HEditDataBeingLoaded == null) { return; } foreach (var entry in HEditDataBeingLoaded.GetInvocationList()) { var handler = (MapInfoEventHandler)entry; try { handler.Invoke(data); } catch (Exception ex) { Logger.Log(LogLevel.Error, $"Subscriber crash in {nameof(ExtendedSave)}.{nameof(HEditDataBeingLoaded)} - {ex}"); } } }
/// <summary> /// Get a dictionary of ID, PluginData containing all extended data for a HEditData /// </summary> /// <param name="data">HEditData for which to get extended data</param> /// <returns>Dictionary of ID, PluginData</returns> public static Dictionary <string, PluginData> GetAllExtendedData(HEdit.HEditData data) => _internalHEditDataDictionary.Get(data);