@@ -10,7 +10,7 @@ class TextureInfo : Info
1010 {
1111 internal static Dictionary < Texture , Texture > Database = new Dictionary < Texture , Texture > ( ) ;
1212
13- internal TextureInfo ( ConfigNode [ ] InfoNodes ) : base ( new ConfigNode ( ) , new ConfigNode ( ) )
13+ internal TextureInfo ( ConfigNode [ ] InfoNodes )
1414 {
1515 List < Texture > bulkReplace = new List < Texture > ( ) ;
1616
@@ -21,16 +21,40 @@ class TextureInfo : Info
2121
2222 if ( newTex != null )
2323 {
24- string [ ] originals = InfoNodes [ i ] . GetValues ( "original" ) ;
25- for ( int j = 0 ; j < originals ? . Length ; j ++ )
24+ if ( ! Database . ContainsKey ( newTex ) )
2625 {
27- Texture oldTex = null ;
28- oldTex = Parse ( originals [ j ] , oldTex ) ;
29- if ( oldTex != null && ! Database . ContainsKey ( oldTex ) && ! Database . ContainsKey ( newTex ) )
26+ string [ ] originals = InfoNodes [ i ] . GetValues ( "original" ) ;
27+ for ( int j = 0 ; j < originals ? . Length ; j ++ )
3028 {
31- Database . Add ( oldTex , newTex ) ;
29+ Texture oldTex = null ;
30+ oldTex = Parse ( originals [ j ] , oldTex ) ;
31+ if ( oldTex != null )
32+ {
33+ if ( ! Database . ContainsKey ( oldTex ) )
34+ {
35+ Database . Add ( oldTex , newTex ) ;
36+ Debug . Log ( "SettingsLoader" , "Added definition to replacements database." ) ;
37+ Debug . Log ( "SettingsLoader" , "[ " + newTex . name + " ] == replaces ==> [ " + oldTex . name + " ]" ) ;
38+ }
39+ else
40+ {
41+ Debug . Log ( "SettingsLoader" , "Original texture already in the database = " + oldTex . name ) ;
42+ }
43+ }
44+ else
45+ {
46+ Debug . Log ( "SettingsLoader" , "Original texture not found = " + originals [ j ] ) ;
47+ }
3248 }
3349 }
50+ else
51+ {
52+ Debug . Log ( "SettingsLoader" , "Replacement texture already in the database = " + newTex . name ) ;
53+ }
54+ }
55+ else
56+ {
57+ Debug . Log ( "SettingsLoader" , "Replacement texture not found = " + InfoNodes [ i ] . GetValue ( "replacement" ) ) ;
3458 }
3559
3660 bulkReplace = ParseFolders ( InfoNodes [ i ] ? . GetNode ( "Folders" ) ? . GetValues ( "path" ) , bulkReplace ) ;
0 commit comments