A game framework written with osu! in mind.
1// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
2// See the LICENCE file in the repository root for full licence text.
3
4using osu.Framework.Bindables;
5
6namespace osu.Framework.Configuration.Tracking
7{
8 /// <summary>
9 /// An <see cref="IConfigManager"/> that provides a way to track its config settings.
10 /// </summary>
11 public interface ITrackableConfigManager : IConfigManager
12 {
13 /// <summary>
14 /// Retrieves all the settings of this <see cref="ConfigManager{T}"/> that are to be tracked for changes.
15 /// </summary>
16 /// <returns>A list of <see cref="ITrackedSetting"/>.</returns>
17 TrackedSettings CreateTrackedSettings();
18
19 /// <summary>
20 /// Loads <see cref="Bindable{T}"/>s into <see cref="TrackedSettings"/>.
21 /// </summary>
22 /// <param name="settings">The settings to load into.</param>
23 void LoadInto(TrackedSettings settings);
24 }
25}