Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SelectExternalContentProviderDialog.cs
浏览该文件的文档.
1using System.Xml.Linq;
2using Engine;
3
4namespace Game {
6 public SelectExternalContentProviderDialog(string title, bool listingSupportRequired, Action<IExternalContentProvider> selectionHandler) :
7 base(
8 title,
9 ExternalContentManager.Providers.Where(p => !listingSupportRequired || p.SupportsListing),
10 100f,
11 delegate(object item) {
12 IExternalContentProvider externalContentProvider = (IExternalContentProvider)item;
13 XElement node = ContentManager.Get<XElement>("Widgets/SelectExternalContentProviderItem");
14 ContainerWidget obj = (ContainerWidget)LoadWidget(null, node, null);
15 obj.Children.Find<LabelWidget>("SelectExternalContentProvider.Text").Text = externalContentProvider.DisplayName;
16 obj.Children.Find<LabelWidget>("SelectExternalContentProvider.Details").Text = externalContentProvider.Description;
17 return obj;
18 },
19 delegate(object item) { selectionHandler((IExternalContentProvider)item); }
20 ) => ContentSize = new Vector2(700f, ContentSize.Y);
21 }
22}
static object Get(Type type, string name)
static ReadOnlyList< IExternalContentProvider > Providers
ListSelectionDialog(string title, IEnumerable items, float itemSize, Func< object, Widget > itemWidgetFactory, Action< object > selectionHandler)
static Widget LoadWidget(object eventsTarget, XElement node, ContainerWidget parentWidget)