Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
UICreativeItemsInfiniteFilteringOptions.cs
Go to the documentation of this file.
1using System;
10using Terraria.UI;
11
13
15{
17
19
21
22 private const int barFramesX = 2;
23
24 private const int barFramesY = 4;
25
26 public event Action OnClickingOption;
27
29 {
31 int num = 40;
32 int count = _filterer.AvailableFilters.Count;
33 int num2 = num * count;
34 Height = new StyleDimension(num, 0f);
35 Width = new StyleDimension(num2, 0f);
36 Top = new StyleDimension(4f, 0f);
37 SetPadding(0f);
38 Asset<Texture2D> val = Main.Assets.Request<Texture2D>("Images/UI/Creative/Infinite_Tabs_B", (AssetRequestMode)1);
39 for (int i = 0; i < _filterer.AvailableFilters.Count; i++)
40 {
41 IItemEntryFilter itemEntryFilter = _filterer.AvailableFilters[i];
42 val.Frame(2, 4).OffsetSize(-2, -2);
43 UIImageFramed uIImageFramed = new UIImageFramed(val, val.Frame(2, 4).OffsetSize(-2, -2));
44 uIImageFramed.Left.Set(num * i, 0f);
45 uIImageFramed.OnLeftClick += singleFilterButtonClick;
46 uIImageFramed.OnMouseOver += button_OnMouseOver;
47 uIImageFramed.SetPadding(0f);
48 uIImageFramed.SetSnapPoint(snapPointsName, i);
50 UIElement image = itemEntryFilter.GetImage();
51 image.IgnoresMouseInteraction = true;
52 image.Left = new StyleDimension(6f, 0f);
53 image.HAlign = 0f;
54 uIImageFramed.Append(image);
59 }
60 }
61
66
68 {
70 {
71 return;
72 }
73 int num = _filterer.AvailableFilters.IndexOf(value);
74 if (num != -1)
75 {
76 if (!_filterer.ActiveFilters.Contains(value))
77 {
78 _filterer.ActiveFilters.Clear();
79 }
80 _filterer.ToggleFilter(num);
82 if (this.OnClickingOption != null)
83 {
84 this.OnClickingOption();
85 }
86 }
87 }
88
90 {
91 bool flag = _filterer.IsFilterActive(indexOfFilter);
92 bool isMouseHovering = button.IsMouseHovering;
93 int frameX = flag.ToInt();
94 int frameY = flag.ToInt() * 2 + isMouseHovering.ToInt();
95 button.SetFrame(2, 4, frameX, frameY, -2, -2);
97 {
98 colorable.Color = (flag ? Color.White : (Color.White * 0.5f));
99 }
100 }
101
103 {
104 button.OnUpdate += delegate(UIElement element)
105 {
107 };
108 button.OnUpdate += delegate
109 {
111 };
112 }
113
115 {
116 if (element.IsMouseHovering)
117 {
118 string textValue = Language.GetTextValue(number.GetDisplayNameKey());
119 Main.instance.MouseText(textValue, 0, 0);
120 }
121 }
122}
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
static void PlaySound(int type, Vector2 position, int style=1)
UICreativeItemsInfiniteFilteringOptions(EntryFilterer< Item, IItemEntryFilter > filterer, string snapPointsName)
void ShowButtonName(UIElement element, IItemEntryFilter number, int indexOfFilter)
void AddOnHover(IItemEntryFilter filter, UIElement button, int indexOfFilter)
static string GetTextValue(string key)
Definition Language.cs:15
static Main instance
Definition Main.cs:283
static IAssetRepository Assets
Definition Main.cs:209
StyleDimension Height
Definition UIElement.cs:29
void Append(UIElement element)
Definition UIElement.cs:166
StyleDimension Width
Definition UIElement.cs:27
void SetPadding(float pixels)
Definition UIElement.cs:361
StyleDimension Top
Definition UIElement.cs:23