public ManageContentScreen() { XElement node = ContentManager.Get <XElement>("Screens/ManageContentScreen"); LoadContents(this, node); m_contentList = Children.Find <ListPanelWidget>("ContentList"); m_deleteButton = Children.Find <ButtonWidget>("DeleteButton"); m_uploadButton = Children.Find <ButtonWidget>("UploadButton"); m_changeFilterButton = Children.Find <ButtonWidget>("ChangeFilter"); m_filterLabel = Children.Find <LabelWidget>("Filter"); m_contentList.ItemWidgetFactory = delegate(object obj) { ListItem listItem = (ListItem)obj; ContainerWidget containerWidget; if (listItem.Type == ExternalContentType.BlocksTexture) { XElement node2 = ContentManager.Get <XElement>("Widgets/BlocksTextureItem"); containerWidget = (ContainerWidget)Widget.LoadWidget(this, node2, null); RectangleWidget rectangleWidget = containerWidget.Children.Find <RectangleWidget>("BlocksTextureItem.Icon"); LabelWidget labelWidget = containerWidget.Children.Find <LabelWidget>("BlocksTextureItem.Text"); LabelWidget labelWidget2 = containerWidget.Children.Find <LabelWidget>("BlocksTextureItem.Details"); Texture2D texture = m_blocksTexturesCache.GetTexture(listItem.Name); BlocksTexturesManager.GetCreationDate(listItem.Name); rectangleWidget.Subtexture = new Subtexture(texture, Vector2.Zero, Vector2.One); labelWidget.Text = listItem.DisplayName; labelWidget2.Text = string.Format(LanguageControl.Get(fName, 1), texture.Width, texture.Height); if (!listItem.IsBuiltIn) { labelWidget2.Text += $" | {listItem.CreationTime.ToLocalTime():dd MMM yyyy HH:mm}"; if (listItem.UseCount > 0) { labelWidget2.Text += string.Format(LanguageControl.Get(fName, 2), listItem.UseCount); } } } else { if (listItem.Type != ExternalContentType.CharacterSkin) { if (listItem.Type == ExternalContentType.FurniturePack) { XElement node3 = ContentManager.Get <XElement>("Widgets/FurniturePackItem"); containerWidget = (ContainerWidget)Widget.LoadWidget(this, node3, null); LabelWidget labelWidget3 = containerWidget.Children.Find <LabelWidget>("FurniturePackItem.Text"); LabelWidget labelWidget4 = containerWidget.Children.Find <LabelWidget>("FurniturePackItem.Details"); labelWidget3.Text = listItem.DisplayName; try { List <FurnitureDesign> designs = FurniturePacksManager.LoadFurniturePack(null, listItem.Name); labelWidget4.Text = string.Format(LanguageControl.Get(fName, 3), FurnitureDesign.ListChains(designs).Count); if (string.IsNullOrEmpty(listItem.Name)) { return(containerWidget); } labelWidget4.Text += $" | {listItem.CreationTime.ToLocalTime():dd MMM yyyy HH:mm}"; return(containerWidget); } catch (Exception ex) { labelWidget4.Text = labelWidget4.Text + LanguageControl.Get("Usual", "error") + ex.Message; return(containerWidget); } } throw new InvalidOperationException(LanguageControl.Get(fName, 10)); } XElement node4 = ContentManager.Get <XElement>("Widgets/CharacterSkinItem"); containerWidget = (ContainerWidget)Widget.LoadWidget(this, node4, null); PlayerModelWidget playerModelWidget = containerWidget.Children.Find <PlayerModelWidget>("CharacterSkinItem.Model"); LabelWidget labelWidget5 = containerWidget.Children.Find <LabelWidget>("CharacterSkinItem.Text"); LabelWidget labelWidget6 = containerWidget.Children.Find <LabelWidget>("CharacterSkinItem.Details"); Texture2D texture2 = m_characterSkinsCache.GetTexture(listItem.Name); playerModelWidget.PlayerClass = PlayerClass.Male; playerModelWidget.CharacterSkinTexture = texture2; labelWidget5.Text = listItem.DisplayName; labelWidget6.Text = string.Format(LanguageControl.Get(fName, 4), texture2.Width, texture2.Height); if (!listItem.IsBuiltIn) { labelWidget6.Text += $" | {listItem.CreationTime.ToLocalTime():dd MMM yyyy HH:mm}"; if (listItem.UseCount > 0) { labelWidget6.Text += string.Format(LanguageControl.Get(fName, 2), listItem.UseCount); } } } return(containerWidget); }; }
public void ImportFurnitureSet(SubsystemTerrain subsystemTerrain) { FurniturePacksManager.UpdateFurniturePacksList(); if (FurniturePacksManager.FurniturePackNames.Count() == 0) { DialogsManager.ShowDialog(m_componentPlayer.GuiWidget, new MessageDialog(LanguageControl.Get(fName, 18), LanguageControl.Get(fName, 19), LanguageControl.Get("Usual", "ok"), null, null)); } else { DialogsManager.ShowDialog(m_componentPlayer.GuiWidget, new ListSelectionDialog(LanguageControl.Get(fName, 20), FurniturePacksManager.FurniturePackNames, 64f, (object s) => FurniturePacksManager.GetDisplayName((string)s), delegate(object s) { try { int num = 0; int num2 = 0; string text = (string)s; List <List <FurnitureDesign> > list = FurnitureDesign.ListChains(FurniturePacksManager.LoadFurniturePack(subsystemTerrain, text)); List <FurnitureDesign> list2 = new List <FurnitureDesign>(); SubsystemFurnitureBlockBehavior.GarbageCollectDesigns(); foreach (List <FurnitureDesign> item in list) { FurnitureDesign furnitureDesign = SubsystemFurnitureBlockBehavior.TryAddDesignChain(item[0], garbageCollectIfNeeded: false); if (furnitureDesign == item[0]) { list2.Add(furnitureDesign); } else if (furnitureDesign == null) { num2++; } else { num++; } } if (list2.Count > 0) { FurnitureSet furnitureSet = SubsystemFurnitureBlockBehavior.NewFurnitureSet(FurniturePacksManager.GetDisplayName(text), text); foreach (FurnitureDesign item2 in list2) { SubsystemFurnitureBlockBehavior.AddToFurnitureSet(item2, furnitureSet); } ComponentFurnitureInventory.FurnitureSet = furnitureSet; } Invalidate(); string text2 = string.Format(LanguageControl.Get(fName, 1), list2.Count); if (num > 0) { text2 += string.Format(LanguageControl.Get(fName, 2), num); } if (num2 > 0) { text2 += string.Format(LanguageControl.Get(fName, 3), num2, 65535); } DialogsManager.ShowDialog(m_componentPlayer.GuiWidget, new MessageDialog(LanguageControl.Get(fName, 4), text2.Trim(), LanguageControl.Get("Usual", "ok"), null, null)); } catch (Exception ex) { DialogsManager.ShowDialog(m_componentPlayer.GuiWidget, new MessageDialog(LanguageControl.Get(fName, 5), ex.Message, LanguageControl.Get("Usual", "ok"), null, null)); } })); } }