Exemplo n.º 1
0
        public VitalStatsWidget(ComponentPlayer componentPlayer)
        {
            m_componentPlayer = componentPlayer;
            XElement node = ContentManager.Get <XElement>("Widgets/VitalStatsWidget");

            LoadContents(this, node);
            m_titleLabel          = Children.Find <LabelWidget>("TitleLabel");
            m_healthLink          = Children.Find <LinkWidget>("HealthLink");
            m_healthValueBar      = Children.Find <ValueBarWidget>("HealthValueBar");
            m_staminaLink         = Children.Find <LinkWidget>("StaminaLink");
            m_staminaValueBar     = Children.Find <ValueBarWidget>("StaminaValueBar");
            m_foodLink            = Children.Find <LinkWidget>("FoodLink");
            m_foodValueBar        = Children.Find <ValueBarWidget>("FoodValueBar");
            m_sleepLink           = Children.Find <LinkWidget>("SleepLink");
            m_sleepValueBar       = Children.Find <ValueBarWidget>("SleepValueBar");
            m_temperatureLink     = Children.Find <LinkWidget>("TemperatureLink");
            m_temperatureValueBar = Children.Find <ValueBarWidget>("TemperatureValueBar");
            m_wetnessLink         = Children.Find <LinkWidget>("WetnessLink");
            m_wetnessValueBar     = Children.Find <ValueBarWidget>("WetnessValueBar");
            m_chokeButton         = Children.Find <ButtonWidget>("ChokeButton");
            m_strengthLink        = Children.Find <LinkWidget>("StrengthLink");
            m_strengthLabel       = Children.Find <LabelWidget>("StrengthLabel");
            m_resilienceLink      = Children.Find <LinkWidget>("ResilienceLink");
            m_resilienceLabel     = Children.Find <LabelWidget>("ResilienceLabel");
            m_speedLink           = Children.Find <LinkWidget>("SpeedLink");
            m_speedLabel          = Children.Find <LabelWidget>("SpeedLabel");
            m_hungerLink          = Children.Find <LinkWidget>("HungerLink");
            m_hungerLabel         = Children.Find <LabelWidget>("HungerLabel");
            m_experienceLink      = Children.Find <LinkWidget>("ExperienceLink");
            m_experienceValueBar  = Children.Find <ValueBarWidget>("ExperienceValueBar");
            m_insulationLink      = Children.Find <LinkWidget>("InsulationLink");
            m_insulationLabel     = Children.Find <LabelWidget>("InsulationLabel");
        }
Exemplo n.º 2
0
        public void PopulateList(string cursor)
        {
            string text = string.Empty;

            if (SettingsManager.CommunityContentMode == CommunityContentMode.Strict)
            {
                text = "1";
            }
            if (SettingsManager.CommunityContentMode == CommunityContentMode.Normal)
            {
                text = "0";
            }
            string text2    = (m_filter is string) ? ((string)m_filter) : string.Empty;
            string text3    = (m_filter is ExternalContentType) ? LanguageControl.Get(fName, m_filter.ToString()) : string.Empty;
            string text4    = LanguageControl.Get(fName, m_order.ToString());
            string cacheKey = text2 + "\n" + text3 + "\n" + text4 + "\n" + text;

            m_moreLink = null;
            if (string.IsNullOrEmpty(cursor))
            {
                m_listPanel.ClearItems();
                m_listPanel.ScrollPosition = 0f;
                if (m_contentExpiryTime != 0.0 && Time.RealTime < m_contentExpiryTime && m_itemsCache.TryGetValue(cacheKey, out IEnumerable <object> value))
                {
                    foreach (object item in value)
                    {
                        m_listPanel.AddItem(item);
                    }
                    return;
                }
            }
            CancellableBusyDialog busyDialog = new CancellableBusyDialog(LanguageControl.Get(fName, 2), autoHideOnCancel: false);

            DialogsManager.ShowDialog(null, busyDialog);
            CommunityContentManager.List(cursor, text2, text3, text, text4, busyDialog.Progress, delegate(List <CommunityContentEntry> list, string nextCursor)
            {
                DialogsManager.HideDialog(busyDialog);
                m_contentExpiryTime = Time.RealTime + 300.0;
                while (m_listPanel.Items.Count > 0 && !(m_listPanel.Items[m_listPanel.Items.Count - 1] is CommunityContentEntry))
                {
                    m_listPanel.RemoveItemAt(m_listPanel.Items.Count - 1);
                }
                foreach (CommunityContentEntry item2 in list)
                {
                    m_listPanel.AddItem(item2);
                }
                if (list.Count > 0 && !string.IsNullOrEmpty(nextCursor))
                {
                    m_listPanel.AddItem(nextCursor);
                }
                m_itemsCache[cacheKey] = new List <object>(m_listPanel.Items);
            }, delegate(Exception error)
            {
                DialogsManager.HideDialog(busyDialog);
                DialogsManager.ShowDialog(null, new MessageDialog(LanguageControl.Get("Usual", "error"), error.Message, LanguageControl.Get("Usual", "ok"), null, null));
            });
        }
        public RateCommunityContentDialog(string address, string displayName, string userId)
        {
            m_address     = address;
            m_displayName = displayName;
            m_userId      = userId;
            XElement node = ContentManager.Get <XElement>("Dialogs/RateCommunityContentDialog");

            LoadContents(this, node);
            m_nameLabel            = Children.Find <LabelWidget>("RateCommunityContentDialog.Name");
            m_starRating           = Children.Find <StarRatingWidget>("RateCommunityContentDialog.StarRating");
            m_rateButton           = Children.Find <ButtonWidget>("RateCommunityContentDialog.Rate");
            m_reportLink           = Children.Find <LinkWidget>("RateCommunityContentDialog.Report");
            m_cancelButton         = Children.Find <ButtonWidget>("RateCommunityContentDialog.Cancel");
            m_nameLabel.Text       = displayName;
            m_rateButton.IsEnabled = false;
        }
Exemplo n.º 4
0
        public CommunityContentScreen()
        {
            XElement node = ContentManager.Get <XElement>("Screens/CommunityContentScreen");

            LoadContents(this, node);
            m_listPanel                   = Children.Find <ListPanelWidget>("List");
            m_orderLabel                  = Children.Find <LabelWidget>("Order");
            m_changeOrderButton           = Children.Find <ButtonWidget>("ChangeOrder");
            m_filterLabel                 = Children.Find <LabelWidget>("Filter");
            m_changeFilterButton          = Children.Find <ButtonWidget>("ChangeFilter");
            m_downloadButton              = Children.Find <ButtonWidget>("Download");
            m_deleteButton                = Children.Find <ButtonWidget>("Delete");
            m_moreOptionsButton           = Children.Find <ButtonWidget>("MoreOptions");
            m_listPanel.ItemWidgetFactory = delegate(object item)
            {
                CommunityContentEntry communityContentEntry = item as CommunityContentEntry;
                if (communityContentEntry != null)
                {
                    XElement        node2 = ContentManager.Get <XElement>("Widgets/CommunityContentItem");
                    ContainerWidget obj   = (ContainerWidget)Widget.LoadWidget(this, node2, null);
                    obj.Children.Find <RectangleWidget>("CommunityContentItem.Icon").Subtexture   = ExternalContentManager.GetEntryTypeIcon(communityContentEntry.Type);
                    obj.Children.Find <LabelWidget>("CommunityContentItem.Text").Text             = communityContentEntry.Name;
                    obj.Children.Find <LabelWidget>("CommunityContentItem.Details").Text          = $"{ExternalContentManager.GetEntryTypeDescription(communityContentEntry.Type)} {DataSizeFormatter.Format(communityContentEntry.Size)}";
                    obj.Children.Find <StarRatingWidget>("CommunityContentItem.Rating").Rating    = communityContentEntry.RatingsAverage;
                    obj.Children.Find <StarRatingWidget>("CommunityContentItem.Rating").IsVisible = (communityContentEntry.RatingsAverage > 0f);
                    obj.Children.Find <LabelWidget>("CommunityContentItem.ExtraText").Text        = communityContentEntry.ExtraText;
                    return(obj);
                }
                XElement        node3           = ContentManager.Get <XElement>("Widgets/CommunityContentItemMore");
                ContainerWidget containerWidget = (ContainerWidget)Widget.LoadWidget(this, node3, null);
                m_moreLink     = containerWidget.Children.Find <LinkWidget>("CommunityContentItemMore.Link");
                m_moreLink.Tag = (item as string);
                return(containerWidget);
            };
            m_listPanel.SelectionChanged += delegate
            {
                if (m_listPanel.SelectedItem != null && !(m_listPanel.SelectedItem is CommunityContentEntry))
                {
                    m_listPanel.SelectedItem = null;
                }
            };
        }
Exemplo n.º 5
0
        public EditPaletteDialog(WorldPalette palette)
        {
            XElement node = ContentManager.Get <XElement>("Dialogs/EditPaletteDialog");

            LoadContents(this, node);
            m_listPanel    = Children.Find <ContainerWidget>("EditPaletteDialog.ListPanel");
            m_okButton     = Children.Find <ButtonWidget>("EditPaletteDialog.OK");
            m_cancelButton = Children.Find <ButtonWidget>("EditPaletteDialog.Cancel");
            for (int i = 0; i < 16; i++)
            {
                StackPanelWidget obj = new StackPanelWidget
                {
                    Direction = LayoutDirection.Horizontal,
                    Children  =
                    {
                        (Widget) new CanvasWidget
                        {
                            Size     = new Vector2(32f, 60f),
                            Children =
                            {
                                (Widget) new LabelWidget
                                {
                                    Text  = (i + 1).ToString() + ".",
                                    Color = Color.Gray,
                                    HorizontalAlignment = WidgetAlignment.Far,
                                    VerticalAlignment   = WidgetAlignment.Center,
                                    Font = ContentManager.Get <BitmapFont>("Fonts/Pericles")
                                }
                            }
                        },
                        (Widget) new CanvasWidget
                        {
                            Size = new Vector2(10f, 0f)
                        }
                    }
                };
                obj.Children.Add(m_labels[i] = new LinkWidget
                {
                    Size = new Vector2(300f, -1f),
                    VerticalAlignment = WidgetAlignment.Center,
                    Font = ContentManager.Get <BitmapFont>("Fonts/Pericles")
                });
                obj.Children.Add(new CanvasWidget
                {
                    Size = new Vector2(10f, 0f)
                });
                obj.Children.Add(m_rectangles[i] = new BevelledButtonWidget
                {
                    Size              = new Vector2(1f / 0f, 60f),
                    BevelSize         = 1f,
                    AmbientLight      = 1f,
                    DirectionalLight  = 0.4f,
                    VerticalAlignment = WidgetAlignment.Center
                });
                obj.Children.Add(new CanvasWidget
                {
                    Size = new Vector2(10f, 0f)
                });
                obj.Children.Add(m_resetButtons[i] = new BevelledButtonWidget
                {
                    Size = new Vector2(160f, 60f),
                    VerticalAlignment = WidgetAlignment.Center,
                    Text = "Reset"
                });
                obj.Children.Add(new CanvasWidget
                {
                    Size = new Vector2(10f, 0f)
                });
                StackPanelWidget widget = obj;
                m_listPanel.Children.Add(widget);
            }
            m_palette    = palette;
            m_tmpPalette = new WorldPalette();
            m_palette.CopyTo(m_tmpPalette);
        }