Exemplo n.º 1
0
 /// <summary>
 /// Updates all elements in the specified category.
 /// </summary>
 /// <param name="inv">The inventory of discovered elements.</param>
 /// <param name="category">The category to search.</param>
 /// <param name="overrideName">The name to override the category title</param>
 private void UpdateCategory(WorldInventory inv, Tag category,
                             string overrideName = null)
 {
     if (inv.TryGetDiscoveredResourcesFromTag(category, out HashSet <Tag> found) &&
         found.Count > 0)
     {
         // Attempt to add to type select control
         if (!children.TryGetValue(category, out TypeSelectCategory current))
         {
             current = new TypeSelectCategory(this, category, overrideName);
             children.Add(category, current);
             int        index = 1 + (children.IndexOfKey(category) << 1);
             GameObject header = current.Header, panel = current.ChildPanel;
             // Header goes in even indexes, panel goes in odds
             header.SetParent(childPanel);
             PUIElements.SetAnchors(header, PUIAnchoring.Stretch, PUIAnchoring.Stretch);
             header.transform.SetSiblingIndex(index);
             panel.SetParent(childPanel);
             PUIElements.SetAnchors(panel, PUIAnchoring.Stretch, PUIAnchoring.Stretch);
             panel.transform.SetSiblingIndex(index + 1);
         }
         foreach (var element in found)
         {
             current.TryAddType(element);
         }
     }
 }
Exemplo n.º 2
0
 internal TypeSelectElement(TypeSelectCategory parent, Tag elementTag)
 {
     this.parent = parent ?? throw new ArgumentNullException("parent");
     ElementTag  = elementTag;
     CheckBox    = new PCheckBox("Select")
     {
         CheckSize = ROW_SIZE, SpriteSize = ROW_SIZE, OnChecked = OnCheck,
         Text      = ElementTag.ProperName(), InitialState = PCheckBox.
                                                             STATE_CHECKED, Sprite = GetStorageObjectSprite(elementTag),
         TextStyle = PUITuning.Fonts.TextDarkStyle
     }.Build();
 }
Exemplo n.º 3
0
            internal TypeSelectElement(TypeSelectCategory parent, Tag elementTag)
            {
                this.parent = parent ?? throw new ArgumentNullException("parent");
                var tint   = Color.white;
                var sprite = parent.Control.DisableIcons ? null :
                             GetStorageObjectSprite(elementTag, out tint);

                ElementTag = elementTag;
                CheckBox   = new PCheckBox("Select")
                {
                    CheckSize = ROW_SIZE, SpriteSize = ROW_SIZE, OnChecked = OnCheck,
                    Text      = ElementTag.ProperName(), InitialState = PCheckBox.
                                                                        STATE_CHECKED, Sprite = sprite, SpriteTint = tint,
                    TextStyle = PUITuning.Fonts.TextDarkStyle
                }.Build();
            }