Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
WidgetEquip.cs
Go to the documentation of this file.
1using UnityEngine;
2using UnityEngine.UI;
3
4public class WidgetEquip : Widget
5{
6 public class Extra
7 {
8 public bool showIndex;
9 }
10
11 public static WidgetEquip Instance;
12
13 public static bool dirty;
14
15 public static Thing dragEquip;
16
18
20
21 public Chara chara;
22
23 public RectTransform transLayer;
24
25 public GridLayoutGroup grid;
26
27 public Extra extra => base.config.extra as Extra;
28
29 public override object CreateExtra()
30 {
31 return new Extra();
32 }
33
34 public static void SetDirty()
35 {
36 dirty = true;
37 }
38
39 public override void OnActivate()
40 {
41 chara = EMono.pc;
42 Instance = this;
43 foreach (Thing thing in EMono.pc.things)
44 {
45 if (thing.trait is TraitToolBelt)
46 {
48 }
49 }
50 Rebuild();
51 }
52
53 public void Rebuild()
54 {
56 RefreshEquipment(listEtc, etc: true);
57 dirty = true;
58 this.RebuildLayout(recursive: true);
59 }
60
61 public void CheckDirty()
62 {
63 if (dirty)
64 {
65 _Redraw();
66 }
67 }
68
69 public static void Redraw()
70 {
71 if ((bool)Instance)
72 {
74 }
75 }
76
77 public void _Redraw()
78 {
79 dirty = false;
82 }
83
84 public void RefreshEquipment(UIList list, bool etc = false)
85 {
86 list.Clear();
87 list.callbacks = new UIList.Callback<BodySlot, ButtonGridDrag>
88 {
89 onInstantiate = delegate(BodySlot a, ButtonGridDrag b)
90 {
92 },
93 onRedraw = delegate(BodySlot a, ButtonGridDrag b, int i)
94 {
96 },
97 onSort = (BodySlot a, UIList.SortMode b) => chara.body.GetSortVal(a),
98 onList = delegate
99 {
100 int num = 0;
101 foreach (BodySlot slot in chara.body.slots)
102 {
103 if (slot.elementId != 44)
104 {
105 if (slot.elementId == 36 || slot.elementId == 31 || slot.elementId == 45)
106 {
107 if (!etc)
108 {
109 continue;
110 }
111 }
112 else if (etc)
113 {
114 continue;
115 }
116 list.Add(slot);
117 num++;
118 }
119 }
120 if (list == listMain)
121 {
122 grid.constraintCount = num / 12 + 1;
123 }
124 }
125 };
126 list.onAfterRedraw = delegate
127 {
129 };
130 list.sortMode = UIList.SortMode.ByNumber;
131 list.List();
132 }
133
134 public override bool CanShowContextMenu()
135 {
136 ButtonGrid componentOf = InputModuleEX.GetComponentOf<ButtonGrid>();
137 if ((bool)componentOf && componentOf.card != null)
138 {
139 return false;
140 }
141 return base.CanShowContextMenu();
142 }
143
144 public override void OnSetContextMenu(UIContextMenu m)
145 {
146 m.AddChild("setting").AddToggle("showWeaponIndex", extra.showIndex, delegate(bool a)
147 {
148 extra.showIndex = a;
149 Rebuild();
150 SE.ClickOk();
151 });
153 }
154}
int elementId
Definition: BodySlot.cs:6
void SetBodySlot(BodySlot b, InvOwner owner, bool showIndex=false)
Definition: ButtonGrid.cs:121
Trait trait
Definition: Card.cs:49
ThingContainer things
Definition: Card.cs:34
List< BodySlot > slots
Definition: CharaBody.cs:8
int GetSortVal(BodySlot slot)
Definition: CharaBody.cs:470
Definition: Chara.cs:10
CharaBody body
Definition: Chara.cs:91
Definition: EMono.cs:4
static Chara pc
Definition: EMono.cs:13
static LayerInventory CreateContainer(Card owner)
static void TryShowGuide(UIList list)
Definition: Thing.cs:8
UIContextMenuItem AddToggle(string idLang="", bool isOn=false, UnityAction< bool > action=null)
UIContextMenu AddChild(string idLang, TextAnchor anchor)
Definition: UIList.cs:9
override void Clear()
Definition: UIList.cs:349
SortMode
Definition: UIList.cs:27
override void Add(object item)
Definition: UIList.cs:302
override void Redraw()
Definition: UIList.cs:740
override void List()
Definition: UIList.cs:717
void _Redraw()
Definition: WidgetEquip.cs:77
static Thing dragEquip
Definition: WidgetEquip.cs:15
static WidgetEquip Instance
Definition: WidgetEquip.cs:11
void CheckDirty()
Definition: WidgetEquip.cs:61
static bool dirty
Definition: WidgetEquip.cs:13
static void SetDirty()
Definition: WidgetEquip.cs:34
UIList listEtc
Definition: WidgetEquip.cs:19
UIList listMain
Definition: WidgetEquip.cs:17
void Rebuild()
Definition: WidgetEquip.cs:53
override void OnSetContextMenu(UIContextMenu m)
Definition: WidgetEquip.cs:144
RectTransform transLayer
Definition: WidgetEquip.cs:23
Chara chara
Definition: WidgetEquip.cs:21
static void Redraw()
Definition: WidgetEquip.cs:69
GridLayoutGroup grid
Definition: WidgetEquip.cs:25
override void OnActivate()
Definition: WidgetEquip.cs:39
override bool CanShowContextMenu()
Definition: WidgetEquip.cs:134
Extra extra
Definition: WidgetEquip.cs:27
void RefreshEquipment(UIList list, bool etc=false)
Definition: WidgetEquip.cs:84
override object CreateExtra()
Definition: WidgetEquip.cs:29
Definition: Widget.cs:7
void SetBaseContextMenu(UIContextMenu m)
Definition: Widget.cs:608
Layer AddLayer(Layer l, Transform trans)
Definition: Widget.cs:492