@@ -25,14 +25,22 @@ public static class Settings
2525
2626 public static Color DefaultInactiveColor { get ; set ; } = Color . grey ;
2727
28+ public const string DefaultResourcePath = "Textures/MiscIcons/texMysteryIcon" ;
29+
2830 static Settings ( )
2931 {
3032 InitializeDefaultSettings ( ) ;
3133 }
3234
3335 private static void InitializeDefaultSettings ( )
3436 {
35- static void AddSize ( InteractableKind type , float width = - 1 , float height = - 1 , Color ActiveColor = default , Color InactiveColor = default , string description = "" )
37+ static void AddSize ( InteractableKind type ,
38+ float width = - 1 ,
39+ float height = - 1 ,
40+ Color ActiveColor = default ,
41+ Color InactiveColor = default ,
42+ string description = "" ,
43+ string path = DefaultResourcePath )
3644 {
3745 ActiveColor = ActiveColor == default ? DefaultActiveColor : ActiveColor ;
3846 InactiveColor = InactiveColor == default ? DefaultInactiveColor : InactiveColor ;
@@ -52,21 +60,59 @@ static void AddSize(InteractableKind type, float width = -1, float height = -1,
5260 } ;
5361
5462 setting . Description = description ;
63+ setting . IconPath = path ;
5564
5665 InteractibleSettings . Add ( type , setting ) ;
5766 }
5867
59- AddSize ( InteractableKind . Chest , 10 , 8 , description : "Chests, including shops" ) ;
60- AddSize ( InteractableKind . Shrine , description : "All shrines (excluding Newt)" ) ;
61- AddSize ( InteractableKind . Teleporter , 15 , 15 , ActiveColor : Color . white , InactiveColor : Color . green , description : "Boss teleporters" ) ;
62- AddSize ( InteractableKind . Player , 8 , 8 , ActiveColor : PlayerIconColor , InactiveColor : PlayerIconColor , description : "" ) ;
63- AddSize ( InteractableKind . Barrel , 5 , 5 , description : "Barrels" ) ;
64- AddSize ( InteractableKind . Drone , 7 , 7 , description : "Drones" ) ;
65- AddSize ( InteractableKind . Special , 7 , 7 , description : "Special interactibles such as the landing pod" ) ;
66- AddSize ( InteractableKind . Enemy , 3 , 3 , ActiveColor : Color . red , description : "Enemies" ) ;
67- AddSize ( InteractableKind . Utility , description : "Scrappers" ) ;
68- AddSize ( InteractableKind . Printer , 10 , 8 , description : "Printers" ) ;
69- AddSize ( InteractableKind . LunarPod , 7 , 7 , description : "Lunar pods (chests)" ) ;
68+ AddSize ( InteractableKind . Chest , 10 , 8 ,
69+ description : "Chests, including shops" ,
70+ path : "Textures/MiscIcons/texInventoryIconOutlined" ) ;
71+
72+ AddSize ( InteractableKind . Shrine ,
73+ description : "All shrines (excluding Newt)" ,
74+ path : "Textures/MiscIcons/texShrineIconOutlined" ) ;
75+
76+ AddSize ( InteractableKind . Teleporter , 15 , 15 ,
77+ ActiveColor : Color . white ,
78+ InactiveColor : Color . green ,
79+ description : "Boss teleporters" ,
80+ path : "Textures/MiscIcons/texTeleporterIconOutlined" ) ;
81+
82+ AddSize ( InteractableKind . Player , 8 , 8 ,
83+ ActiveColor : PlayerIconColor ,
84+ InactiveColor : PlayerIconColor ,
85+ description : "" ,
86+ path : "Textures/MiscIcons/texBarrelIcon" ) ;
87+
88+ AddSize ( InteractableKind . Barrel , 5 , 5 ,
89+ description : "Barrels" ,
90+ path : "Textures/MiscIcons/texBarrelIcon" ) ;
91+
92+ AddSize ( InteractableKind . Drone , 7 , 7 ,
93+ description : "Drones" ,
94+ path : "Textures/MiscIcons/texDroneIconOutlined" ) ;
95+
96+ AddSize ( InteractableKind . Special , 7 , 7 ,
97+ description : "Special interactibles such as the landing pod" ,
98+ path : DefaultResourcePath ) ;
99+
100+ AddSize ( InteractableKind . Enemy , 3 , 3 ,
101+ ActiveColor : Color . red ,
102+ description : "Enemies" ,
103+ path : "Textures/MiscIcons/texBarrelIcon" ) ;
104+
105+ AddSize ( InteractableKind . Utility ,
106+ description : "Scrappers" ,
107+ path : "Textures/MiscIcons/texLootIconOutlined" ) ;
108+
109+ AddSize ( InteractableKind . Printer , 10 , 8 ,
110+ description : "Printers" ,
111+ path : "Textures/MiscIcons/texInventoryIconOutlined" ) ;
112+
113+ AddSize ( InteractableKind . LunarPod , 7 , 7 ,
114+ description : "Lunar pods (chests)" ,
115+ path : "Textures/MiscIcons/texLootIconOutlined" ) ;
70116 }
71117
72118 public static InteractibleSetting GetSetting ( InteractableKind type )
@@ -115,14 +161,15 @@ public static void LoadConfigEntries(InteractableKind type, IConfig config)
115161 IConfigEntry < Color > inactiveColor = config . Bind < Color > ( $ "Icon.{ type } ", "inactiveColor" , setting . InactiveColor , "The color the icon should be when it has used/bought" ) ;
116162 IConfigEntry < float > width = config . Bind < float > ( $ "Icon.{ type } ", "width" , setting . Dimensions . Width , "Width of the icon" ) ;
117163 IConfigEntry < float > height = config . Bind < float > ( $ "Icon.{ type } ", "height" , setting . Dimensions . Height , "Width of the icon" ) ;
164+ IConfigEntry < string > path = config . Bind < string > ( $ "Icon.{ type } ", "icon" , setting . IconPath ?? DefaultResourcePath , $ "The streaming assets path of the icon") ;
118165
119-
120- InteractibleSettings [ type ] . Config = new SettingConfigGroup ( enabled , height , width , activeColor , inactiveColor ) ;
166+ InteractibleSettings [ type ] . Config = new SettingConfigGroup ( enabled , height , width , activeColor , inactiveColor , path ) ;
121167
122168 setting . ActiveColor = activeColor . Value ;
123169 setting . InactiveColor = inactiveColor . Value ;
124170 setting . Dimensions . Height = height . Value ;
125171 setting . Dimensions . Width = width . Value ;
172+ setting . IconPath = path . Value ;
126173 }
127174
128175 public static void UpdateSetting ( InteractableKind type , float width , float height , Color active , Color inactive )
0 commit comments