Skip to content
This repository was archived by the owner on Jan 24, 2023. It is now read-only.

Commit 2c4fb93

Browse files
authored
Merge pull request #30 from Gamersven/Merge
Added the Ability to set an Icon for Toggles
2 parents d8f978b + c8fee28 commit 2c4fb93

File tree

4 files changed

+25
-15
lines changed

4 files changed

+25
-15
lines changed

UI/QuickMenu/IButtonPage.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ public interface IButtonPage
77
{
88
ReMenuButton AddButton(string text, string tooltip, Action onClick, Sprite sprite = null);
99
ReMenuButton AddSpacer(Sprite sprite = null);
10-
ReMenuToggle AddToggle(string text, string tooltip, Action<bool> onToggle, bool defaultValue = false);
11-
ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue);
1210
ReMenuPage AddMenuPage(string text, string tooltip = "", Sprite sprite = null);
1311
ReCategoryPage AddCategoryPage(string text, string tooltip = "", Sprite sprite = null);
12+
ReMenuToggle AddToggle(string text, string tooltip, Action<bool> onToggle, bool defaultValue = false);
13+
ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue);
14+
ReMenuToggle AddToggle(string text, string tooltip, Action<bool> onToggle, bool defaultValue = false, Sprite iconOn = null, Sprite iconOff = null);
15+
ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue, Sprite iconOn = null, Sprite iconOff = null);
1416
ReMenuPage GetMenuPage(string name);
1517
ReCategoryPage GetCategoryPage(string name);
1618
void AddCategoryPage(string text, string tooltip, Action<ReCategoryPage> onPageBuilt, Sprite sprite = null);

UI/QuickMenu/ReMenuCategory.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,15 +185,18 @@ public ReMenuButton AddSpacer(Sprite sprite = null) {
185185
return spacer;
186186
}
187187

188-
public ReMenuToggle AddToggle(string text, string tooltip, Action<bool> onToggle, bool defaultValue = false)
188+
public ReMenuToggle AddToggle(string text, string tooltip, Action<bool> onToggle, bool defaultValue = false)
189+
=> AddToggle(text, tooltip, onToggle, defaultValue, null, null);
190+
public ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue)
191+
=> AddToggle(text, tooltip, configValue, null, null);
192+
public ReMenuToggle AddToggle(string text, string tooltip, Action<bool> onToggle, bool defaultValue = false, Sprite iconOn = null, Sprite iconOff = null)
189193
{
190-
var toggle = new ReMenuToggle(text, tooltip, onToggle, _buttonContainer.RectTransform, defaultValue);
194+
var toggle = new ReMenuToggle(text, tooltip, onToggle, _buttonContainer.RectTransform, defaultValue, iconOn, iconOff);
191195
return toggle;
192196
}
193-
194-
public ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue)
197+
public ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue, Sprite iconOn = null, Sprite iconOff = null)
195198
{
196-
var toggle = new ReMenuToggle(text, tooltip, configValue.SetValue, _buttonContainer.RectTransform, configValue);
199+
var toggle = new ReMenuToggle(text, tooltip, configValue.SetValue, _buttonContainer.RectTransform, configValue, iconOn, iconOff);
197200
return toggle;
198201
}
199202

UI/QuickMenu/ReMenuPage.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,16 @@ public ReMenuButton AddSpacer(Sprite sprite = null)
161161
}
162162

163163
public ReMenuToggle AddToggle(string text, string tooltip, Action<bool> onToggle, bool defaultValue = false)
164+
=> AddToggle(text, tooltip, onToggle, defaultValue, null, null);
165+
public ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue)
166+
=> AddToggle(text, tooltip, configValue, null, null);
167+
public ReMenuToggle AddToggle(string text, string tooltip, Action<bool> onToggle, bool defaultValue = false, Sprite iconOn = null, Sprite iconOff = null)
164168
{
165-
return new ReMenuToggle(text, tooltip, onToggle, _container, defaultValue);
169+
return new ReMenuToggle(text, tooltip, onToggle, _container, defaultValue, iconOn, iconOff);
166170
}
167-
168-
public ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue)
171+
public ReMenuToggle AddToggle(string text, string tooltip, ConfigValue<bool> configValue, Sprite iconOn = null, Sprite iconOff = null)
169172
{
170-
return new ReMenuToggle(text, tooltip, configValue.SetValue, _container, configValue);
173+
return new ReMenuToggle(text, tooltip, configValue.SetValue, _container, configValue, iconOn, iconOff);
171174
}
172175

173176
public ReMenuPage AddMenuPage(string text, string tooltip = "", Sprite sprite = null)

UI/QuickMenu/ReMenuToggle.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,13 @@ public string Tooltip {
6060
_tooltip.field_Public_String_1 = value;
6161
}
6262
}
63-
64-
public ReMenuToggle(string text, string tooltip, Action<bool> onToggle, Transform parent, bool defaultValue = false) : base(QuickMenuEx.TogglePrefab, parent, $"Button_Toggle{text}")
63+
public ReMenuToggle(string text, string tooltip, Action<bool> onToggle, Transform parent, bool defaultValue = false) : this(text, tooltip, onToggle, parent, defaultValue, null, null) { }
64+
public ReMenuToggle(string text, string tooltip, Action<bool> onToggle, Transform parent, bool defaultValue = false, Sprite iconOn = null, Sprite iconOff = null) : base(QuickMenuEx.TogglePrefab, parent, $"Button_Toggle{text}")
6565
{
66-
var iconOn = RectTransform.Find("Icon_On").GetComponent<Image>();
67-
iconOn.sprite = QuickMenuEx.OnIconSprite;
66+
var icon = RectTransform.Find("Icon_On").GetComponent<Image>();
67+
icon.sprite = iconOn ?? QuickMenuEx.OnIconSprite;
68+
icon = RectTransform.Find("Icon_Off").GetComponent<Image>();
69+
icon.sprite = iconOff ?? QuickMenuEx.OffIconSprite;
6870

6971
Object.DestroyImmediate(GameObject.GetComponent<UIInvisibleGraphic>()); // Fix for having clickable area overlap main quickmenu ui
7072

0 commit comments

Comments
 (0)