public RecipaediaScreen() { XElement node = ContentManager.Get <XElement>("Screens/RecipaediaScreen"); LoadContents(this, node); m_blocksList = Children.Find <ListPanelWidget>("BlocksList"); m_categoryLabel = Children.Find <LabelWidget>("Category"); m_prevCategoryButton = Children.Find <ButtonWidget>("PreviousCategory"); m_nextCategoryButton = Children.Find <ButtonWidget>("NextCategory"); m_detailsButton = Children.Find <ButtonWidget>("DetailsButton"); m_recipesButton = Children.Find <ButtonWidget>("RecipesButton"); m_categories.Add(null); m_categories.AddRange(BlocksManager.Categories); m_blocksList.ItemWidgetFactory = delegate(object item) { int value = (int)item; int num = Terrain.ExtractContents(value); Block block = BlocksManager.Blocks[num]; XElement node2 = ContentManager.Get <XElement>("Widgets/RecipaediaItem"); ContainerWidget obj = (ContainerWidget)Widget.LoadWidget(this, node2, null); obj.Children.Find <BlockIconWidget>("RecipaediaItem.Icon").Value = value; obj.Children.Find <LabelWidget>("RecipaediaItem.Text").Text = block.GetDisplayName(null, value); obj.Children.Find <LabelWidget>("RecipaediaItem.Details").Text = block.GetDescription(value); return(obj); }; m_blocksList.ItemClicked += delegate(object item) { if (m_blocksList.SelectedItem == item && item is int) { ScreensManager.SwitchScreen("RecipaediaDescription", item, m_blocksList.Items.Cast <int>().ToList()); } }; }
public void UpdateBlockProperties() { if (m_index >= 0 && m_index < m_valuesList.Count) { int value = m_valuesList[m_index]; int num = Terrain.ExtractContents(value); Block block = BlocksManager.Blocks[num]; m_blockIconWidget.Value = value; m_nameWidget.Text = block.GetDisplayName(null, value); m_descriptionWidget.Text = block.GetDescription(value); m_propertyNames1Widget.Text = string.Empty; m_propertyValues1Widget.Text = string.Empty; m_propertyNames2Widget.Text = string.Empty; m_propertyValues2Widget.Text = string.Empty; Dictionary <string, string> blockProperties = GetBlockProperties(value); int num2 = 0; foreach (KeyValuePair <string, string> item in blockProperties) { if (num2 < blockProperties.Count - blockProperties.Count / 2) { LabelWidget propertyNames1Widget = m_propertyNames1Widget; propertyNames1Widget.Text = propertyNames1Widget.Text + item.Key + ":\n"; LabelWidget propertyValues1Widget = m_propertyValues1Widget; propertyValues1Widget.Text = propertyValues1Widget.Text + item.Value + "\n"; } else { LabelWidget propertyNames2Widget = m_propertyNames2Widget; propertyNames2Widget.Text = propertyNames2Widget.Text + item.Key + ":\n"; LabelWidget propertyValues2Widget = m_propertyValues2Widget; propertyValues2Widget.Text = propertyValues2Widget.Text + item.Value + "\n"; } num2++; } } }