Elin Decompiled Documentation EA 23.317 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 static void OnChangeBodyPart()
54 {
55 if ((bool)Instance)
56 {
58 }
59 }
60
61 public void Rebuild()
62 {
64 RefreshEquipment(listEtc, etc: true);
65 dirty = true;
66 this.RebuildLayout(recursive: true);
67 }
68
69 public void CheckDirty()
70 {
71 if (dirty)
72 {
73 _Redraw();
74 }
75 }
76
77 public static void Redraw()
78 {
79 if ((bool)Instance)
80 {
82 }
83 }
84
85 public void _Redraw()
86 {
87 dirty = false;
90 }
91
92 public void RefreshEquipment(UIList list, bool etc = false)
93 {
94 list.Clear();
95 list.callbacks = new UIList.Callback<BodySlot, ButtonGridDrag>
96 {
97 onInstantiate = delegate(BodySlot a, ButtonGridDrag b)
98 {
100 },
101 onRedraw = delegate(BodySlot a, ButtonGridDrag b, int i)
102 {
104 },
105 onSort = (BodySlot a, UIList.SortMode b) => chara.body.GetSortVal(a),
106 onList = delegate
107 {
108 int num = 0;
109 foreach (BodySlot slot in chara.body.slots)
110 {
111 if (slot.elementId != 44)
112 {
113 if (slot.elementId == 36 || slot.elementId == 31 || slot.elementId == 45)
114 {
115 if (!etc)
116 {
117 continue;
118 }
119 }
120 else if (etc)
121 {
122 continue;
123 }
124 list.Add(slot);
125 num++;
126 }
127 }
128 if (list == listMain)
129 {
130 grid.constraintCount = num / 12 + 1;
131 }
132 }
133 };
134 list.onAfterRedraw = delegate
135 {
137 };
138 list.sortMode = UIList.SortMode.ByNumber;
139 list.List();
140 }
141
142 public override bool CanShowContextMenu()
143 {
144 ButtonGrid componentOf = InputModuleEX.GetComponentOf<ButtonGrid>();
145 if ((bool)componentOf && componentOf.card != null)
146 {
147 return false;
148 }
149 return base.CanShowContextMenu();
150 }
151
152 public override void OnSetContextMenu(UIContextMenu m)
153 {
154 m.AddChild("setting").AddToggle("showWeaponIndex", extra.showIndex, delegate(bool a)
155 {
156 extra.showIndex = a;
157 Rebuild();
158 SE.ClickOk();
159 });
161 }
162}
int elementId
Definition: BodySlot.cs:6
void SetBodySlot(BodySlot b, InvOwner owner, bool showIndex=false)
Definition: ButtonGrid.cs:121
Trait trait
Definition: Card.cs:54
ThingContainer things
Definition: Card.cs:39
List< BodySlot > slots
Definition: CharaBody.cs:8
int GetSortVal(BodySlot slot)
Definition: CharaBody.cs:522
Definition: Chara.cs:10
CharaBody body
Definition: Chara.cs:94
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:401
SortMode
Definition: UIList.cs:27
override void Add(object item)
Definition: UIList.cs:354
override void Redraw()
Definition: UIList.cs:792
override void List()
Definition: UIList.cs:769
void _Redraw()
Definition: WidgetEquip.cs:85
static Thing dragEquip
Definition: WidgetEquip.cs:15
static WidgetEquip Instance
Definition: WidgetEquip.cs:11
void CheckDirty()
Definition: WidgetEquip.cs:69
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:61
override void OnSetContextMenu(UIContextMenu m)
Definition: WidgetEquip.cs:152
RectTransform transLayer
Definition: WidgetEquip.cs:23
Chara chara
Definition: WidgetEquip.cs:21
static void Redraw()
Definition: WidgetEquip.cs:77
GridLayoutGroup grid
Definition: WidgetEquip.cs:25
override void OnActivate()
Definition: WidgetEquip.cs:39
override bool CanShowContextMenu()
Definition: WidgetEquip.cs:142
Extra extra
Definition: WidgetEquip.cs:27
void RefreshEquipment(UIList list, bool etc=false)
Definition: WidgetEquip.cs:92
override object CreateExtra()
Definition: WidgetEquip.cs:29
static void OnChangeBodyPart()
Definition: WidgetEquip.cs:53
Definition: Widget.cs:7
void SetBaseContextMenu(UIContextMenu m)
Definition: Widget.cs:624
Layer AddLayer(Layer l, Transform trans)
Definition: Widget.cs:508