private void LoadSetups() { TerrariaSetupList setupList = new TerrariaSetupList(); setupList.PopulateList(Config.Games, (folder) => { NavigateForward(gridGames, gameStack, folder); }); gameStack.Push(setupList); gridGames.Children.Add(setupList); setupList = new TerrariaSetupList(); setupList.PopulateList(Config.Servers, (folder) => { NavigateForward(gridServers, serverStack, folder); }); serverStack.Push(setupList); gridServers.Children.Add(setupList); setupList = new TerrariaSetupList(); setupList.PopulateList(Config.Tools, (folder) => { NavigateForward(gridTools, toolStack, folder); }); toolStack.Push(setupList); gridTools.Children.Add(setupList); }
private void NavigateForward(Grid gridList, Stack <TerrariaSetupList> stack, SetupFolder folder) { TerrariaSetupList setupList = new TerrariaSetupList(); setupList.PopulateList(folder, (folder2) => { NavigateForward(gridList, stack, folder2); }, () => { NavigateBack(gridList, stack); }); var last = stack.Peek(); stack.Push(setupList); gridList.Children.Add(setupList); if (!Config.DisableTransitions) { last.LeaveFolder(false, gridList.ActualWidth); setupList.EnterFolder(false, gridList.ActualWidth); } else { last.Visibility = Visibility.Hidden; } UpdateFolder(); }