@@ -12,31 +12,41 @@ private class PColorSchemesSettings
1212 internal static void Postfix ( List < ColorScheme > ____colorSchemesList , string ____selectedColorSchemeId )
1313 {
1414 if ( Plugin . Config . SelectedColorSchemeId == null )
15- {
1615 Plugin . Config . SelectedColorSchemeId = ____selectedColorSchemeId ;
1716
18- if ( Plugin . Config . ColorSchemesList . Count == 0 )
17+ var isOutdated = Plugin . Config . ColorSchemesList . Any ( x => x . _colorSchemeNameLocalizationKey == "Default" ) ;
18+
19+ if ( Plugin . Config . ColorSchemesList . Count == 0 || isOutdated )
20+ {
21+ for ( int i = 0 ; i < 16 ; i ++ )
1922 {
20- for ( int i = 0 ; i < 16 ; i ++ )
21- {
22- Plugin . Config . ColorSchemesList . Add ( new Utils . ExtendedColorScheme
23- {
24- _colorSchemeId = $ "User{ i + 4 } ",
25- _colorSchemeNameLocalizationKey = $ "CUSTOM_{ i + 4 } _COLOR_SCHEME",
26- _isEditable = ____colorSchemesList [ 0 ] . isEditable ,
27- _saberAColor = ____colorSchemesList [ 0 ] . saberAColor ,
28- _saberBColor = ____colorSchemesList [ 0 ] . saberBColor ,
29- _environmentColor0 = ____colorSchemesList [ 0 ] . environmentColor0 ,
30- _environmentColor1 = ____colorSchemesList [ 0 ] . environmentColor1 ,
31- _supportsEnvironmentColorBoost = ____colorSchemesList [ 0 ] . supportsEnvironmentColorBoost ,
32- _environmentColor0Boost = ____colorSchemesList [ 0 ] . environmentColor0Boost ,
33- _environmentColor1Boost = ____colorSchemesList [ 0 ] . environmentColor1Boost ,
34- _obstaclesColor = ____colorSchemesList [ 0 ] . obstaclesColor ,
35- } ) ;
36- }
23+ Utils . ExtendedColorScheme oldColorScheme = null ;
24+
25+ if ( Plugin . Config . ColorSchemesList . Count > i )
26+ oldColorScheme = Plugin . Config . ColorSchemesList [ i ] ;
3727
38- Plugin . Config . Changed ( ) ;
28+ var newColorScheme = new Utils . ExtendedColorScheme
29+ {
30+ _colorSchemeId = $ "User{ i + 4 } ",
31+ _colorSchemeNameLocalizationKey = $ "CUSTOM_{ i + 4 } _COLOR_SCHEME",
32+ _isEditable = oldColorScheme != null ? oldColorScheme . _isEditable : ____colorSchemesList [ 0 ] . isEditable ,
33+ _saberAColor = oldColorScheme != null ? oldColorScheme . _saberAColor : ____colorSchemesList [ 0 ] . saberAColor ,
34+ _saberBColor = oldColorScheme != null ? oldColorScheme . _saberBColor : ____colorSchemesList [ 0 ] . saberBColor ,
35+ _environmentColor0 = oldColorScheme != null ? oldColorScheme . _environmentColor0 : ____colorSchemesList [ 0 ] . environmentColor0 ,
36+ _environmentColor1 = oldColorScheme != null ? oldColorScheme . _environmentColor1 : ____colorSchemesList [ 0 ] . environmentColor1 ,
37+ _supportsEnvironmentColorBoost = oldColorScheme != null ? oldColorScheme . _supportsEnvironmentColorBoost : ____colorSchemesList [ 0 ] . supportsEnvironmentColorBoost ,
38+ _environmentColor0Boost = oldColorScheme != null ? oldColorScheme . _environmentColor0Boost : ____colorSchemesList [ 0 ] . environmentColor0Boost ,
39+ _environmentColor1Boost = oldColorScheme != null ? oldColorScheme . _environmentColor1Boost : ____colorSchemesList [ 0 ] . environmentColor1Boost ,
40+ _obstaclesColor = oldColorScheme != null ? oldColorScheme . _obstaclesColor : ____colorSchemesList [ 0 ] . obstaclesColor ,
41+ } ;
42+
43+ if ( oldColorScheme != null )
44+ Plugin . Config . ColorSchemesList . Remove ( oldColorScheme ) ;
45+
46+ Plugin . Config . ColorSchemesList . Insert ( i , newColorScheme ) ;
3947 }
48+
49+ Plugin . Config . Changed ( ) ;
4050 }
4151 }
4252 }
0 commit comments