static void Prefix(MVCListView __instance) { if (__instance.DataSource != null) { var newIndexPath = __instance.currentIndexPath; if (__instance.DataSource is LevelSelectionController && __instance.currentIndexPath.depth > 1) { while (newIndexPath.depth != 1) { newIndexPath = newIndexPath.Up(); } Traverse.Create(__instance).Property("currentIndexPath").SetValue(newIndexPath); CustomLevelManager.Instance.CurrentFolder = null; } else if (__instance.DataSource is GearSelectionController && __instance.currentIndexPath.depth > 2) { while (newIndexPath.depth != 2) { newIndexPath = newIndexPath.Up(); } Traverse.Create(__instance).Property("currentIndexPath").SetValue(newIndexPath); CustomGearManager.Instance.CurrentFolder = null; } } }
public void ToggleDarkMode(MVCListView listView, bool enabled) { if (listView == null) { return; } UpdateFontSize(listView.ItemPrefab.Label); ToggleDarkMode(listView.ItemPrefab, enabled); UpdateLabelColor(listView.HeaderView, enabled ? DarkModeText : DefaultText); foreach (var item in listView.ItemViews) { ToggleDarkMode(item, enabled); } }
public static void ToggleDarkMode(this MVCListView listView, bool enabled) { if (listView == null) { return; } //TODO: Should this even be here? It's pretty irrelvant to dark mode, although it does ensure the font size gets set more often? UserInterfaceHelper.Instance.UpdateFontSize(listView.ItemPrefab.Label); listView.ItemPrefab.ToggleDarkMode(enabled); listView.HeaderView.ToggleDarkMode(enabled); foreach (var item in listView.ItemViews) { item.ToggleDarkMode(enabled); } }