// Copyright (C) 2024 Intro-Skipper contributors <intro-skipper.org> // SPDX-License-Identifier: GPL-3.0-only. namespace IntroSkipper.Data; /// <summary> /// Warning manager. /// </summary> public static class WarningManager { private static PluginWarning _warnings; /// <summary> /// Set warning. /// </summary> /// <param name="warning">Warning.</param> public static void SetFlag(PluginWarning warning) { _warnings |= warning; } /// <summary> /// Clear warnings. /// </summary> public static void Clear() { _warnings = PluginWarning.None; } /// <summary> /// Get warnings. /// </summary> /// <returns>Warnings.</returns> public static string GetWarnings() { return _warnings.ToString(); } /// <summary> /// Check if a specific warning flag is set. /// </summary> /// <param name="warning">Warning flag to check.</param> /// <returns>True if the flag is set, otherwise false.</returns> public static bool HasFlag(PluginWarning warning) { return (_warnings & warning) == warning; } }