protected override void OnCardBeingSaved(GameMode currentGameMode) { if (StudioAPI.InsideStudio) { var data = new PluginData(); data.data.Add(nameof(BreastCollidersEnabled), BreastCollidersEnabled); data.data.Add(nameof(FloorColliderEnabled), FloorColliderEnabled); #if KK || KKS data.data.Add(nameof(SkirtCollidersEnabled), SkirtCollidersEnabled); #endif SetExtendedData(data); } else { SetExtendedData(null); var extSaveData = ExtendedSave.GetAllExtendedData(ChaControl.chaFile); if (extSaveData != null) { extSaveData.Remove("com.deathweasel.bepinex.studiocolliders"); //Oopsies :) } } }
private static void CopyCoordExtData(ChaFileCoordinate fromCoord, ChaFileCoordinate toCoord) { // Clear old ext data var oldData = ExtendedSave.GetAllExtendedData(toCoord); if (oldData != null) { foreach (var data in oldData.ToList()) { ExtendedSave.SetExtendedDataById(toCoord, data.Key, null); } } // Copy new ext data from the coordinate that is about to be swapped in var newData = ExtendedSave.GetAllExtendedData(fromCoord); if (newData != null) { foreach (var data in newData.ToList()) { ExtendedSave.SetExtendedDataById(toCoord, data.Key, data.Value); } } }
/// <summary> /// Get all exrtended data assigned to this coordinate card /// </summary> public Dictionary <string, PluginData> GetCoordinateExtData() => ExtendedSave.GetAllExtendedData(LoadedCoordinate);