private void OnItemsReceived(IList <Facepunch.Steamworks.Workshop.Item> itemDetails) { installedItemList.ClearChildren(); availableItemList.ClearChildren(); foreach (var item in itemDetails) { GUIListBox listBox = item.Installed ? installedItemList : availableItemList; var itemFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.1f), listBox.Content.RectTransform, minSize: new Point(0, 80)), style: "ListBoxElement") { UserData = item }; new GUITextBlock(new RectTransform(new Vector2(0.75f, 0.25f), itemFrame.RectTransform), item.Title); new GUITextBlock(new RectTransform(new Vector2(0.75f, 0.75f), itemFrame.RectTransform, Anchor.BottomLeft), item.Description, wrap: true, font: GUI.SmallFont); if (item.Installed) { var enabledTickBox = new GUITickBox(new RectTransform(new Vector2(0.25f, 0.5f), itemFrame.RectTransform, Anchor.CenterRight), "Enabled") { UserData = item, OnSelected = ToggleItemEnabled }; try { enabledTickBox.Selected = SteamManager.CheckWorkshopItemEnabled(item); } catch (Exception e) { new GUIMessageBox("Error", e.Message); enabledTickBox.Enabled = false; itemFrame.Color = Color.Red; itemFrame.HoverColor = Color.Red; itemFrame.SelectedColor = Color.Red; itemFrame.GetChild <GUITextBlock>().TextColor = Color.Red; } } else if (item.Downloading) { new GUITextBlock(new RectTransform(new Vector2(0.25f, 0.5f), itemFrame.RectTransform, Anchor.CenterRight), "Downloading"); } else { var downloadBtn = new GUIButton(new RectTransform(new Vector2(0.2f, 0.5f), itemFrame.RectTransform, Anchor.CenterRight), TextManager.Get("DownloadButton")) { UserData = item, OnClicked = DownloadItem }; } } }