1
0
Fork 0

Factor out CSync hack into a separate method

We gonna register more synced entries in debug-only builds, but marking
nullable fields with the [SyncedEntryField] attribute is not an option.
This commit is contained in:
ivan tkachenko 2025-07-15 22:47:02 +03:00
parent f158e7728c
commit b15e93ac34
1 changed files with 9 additions and 9 deletions

View File

@ -354,20 +354,20 @@ namespace MuzikaGromche
CanModifyCallback = CanModifyWeightsNow, CanModifyCallback = CanModifyWeightsNow,
}); });
LethalConfigManager.AddConfigItem(slider); LethalConfigManager.AddConfigItem(slider);
} CSyncHackAddSyncedEntry(track.Weight);
// HACK because CSync doesn't provide an API to register a list of config entries
// See https://github.com/lc-sigurd/CSync/issues/11
foreach (var track in Plugin.Tracks)
{
// This is basically what ConfigFile.PopulateEntryContainer does
SyncedEntryBase entryBase = track.Weight;
EntryContainer.Add(entryBase.BoxedEntry.ToSyncedEntryIdentifier(), entryBase);
} }
ConfigManager.Register(this); ConfigManager.Register(this);
} }
// HACK because CSync doesn't provide an API to register a list of config entries
// See https://github.com/lc-sigurd/CSync/issues/11
private void CSyncHackAddSyncedEntry(SyncedEntryBase entryBase)
{
// This is basically what ConfigFile.PopulateEntryContainer does
EntryContainer.Add(entryBase.BoxedEntry.ToSyncedEntryIdentifier(), entryBase);
}
public static CanModifyResult CanModifyWeightsNow() public static CanModifyResult CanModifyWeightsNow()
{ {
var startOfRound = StartOfRound.Instance; var startOfRound = StartOfRound.Instance;