Elin Decompiled Documentation EA 23.153 Nightly
Loading...
Searching...
No Matches
WidgetSearch Class Reference
Inheritance diagram for WidgetSearch:
WidgetCodex Widget EMono IChangeResolution ISkinRoot

Classes

class  Extra
 
class  Word
 

Public Member Functions

override object CreateExtra ()
 
override void OnActivate ()
 
override bool CheckClose ()
 
void RefreshSearch ()
 
override void Search (string s)
 
void RefreshWords ()
 
override void RefreshList ()
 
override void OnDeactivate ()
 
- Public Member Functions inherited from WidgetCodex
override void OnActivate ()
 
void Clear ()
 
virtual void Search (string s)
 
virtual void RefreshList ()
 
virtual bool CheckClose ()
 
- Public Member Functions inherited from Widget
void Test ()
 
bool IsInRightMode ()
 
void Activate ()
 
void RefreshOrder ()
 
virtual void OnActivate ()
 
virtual object CreateExtra ()
 
void Deactivate ()
 
virtual void OnDeactivate ()
 
void Close ()
 
void Reactivate ()
 
virtual void OnManagerActivate ()
 
virtual void OnManagerDeactivate ()
 
void SetAnchor (RectPosition p)
 
void SetPivot (RectPosition p)
 
virtual void OnChangePivot ()
 
void UpdateConfig ()
 
virtual void OnUpdateConfig ()
 
void ClampToScreen ()
 
virtual void OnChangeResolution ()
 
void OnChangePosition ()
 
virtual void OnChangeActionMode ()
 
virtual void OnFlip ()
 
bool IsAlignTop ()
 
Layer AddLayer (Layer l, Transform trans)
 
void RefreshTipPivotPosition ()
 
SkinSet GetSkin ()
 
SkinConfig GetSkinConfig ()
 
void SetSkin (int id, int v=0)
 
void TestSkin ()
 
virtual void ApplySkin ()
 
virtual void OnApplySkin ()
 
void InstantiateDeco (SkinDeco deco)
 
void AddDeco (SkinDeco deco)
 
void RemoveDeco (SkinDeco deco)
 
virtual bool CanShowContextMenu ()
 
void ShowContextMenu ()
 
void SetBaseContextMenu (UIContextMenu m)
 
virtual void OnSetContextMenu (UIContextMenu m)
 
void SetGridContextMenu (UIContextMenu m)
 
void SoundActivate ()
 
void OnChangeResolution ()
 
SkinSet GetSkin ()
 
SkinConfig GetSkinConfig ()
 

Public Attributes

HashSet< Cardcards = new HashSet<Card>()
 
CanvasGroup cgResult
 
UIList listWords
 
Zone lastZone
 
- Public Attributes inherited from WidgetCodex
InputField field
 
WordSearch search = new WordSearch()
 
UIDynamicList list
 
HashSet< Reciperecipes = new HashSet<Recipe>()
 
string lastSearch
 
UIButton buttonClear
 
UIButton buttonRefresh
 
Transform transResult
 
- Public Attributes inherited from Widget
Image imageBG
 
SoundData soundActivate
 
UIDragPanel dragPanel
 
RectTransform tipPivotLeft
 
RectTransform tipPivotRight
 

Static Public Attributes

static WidgetSearch Instance
 
static Card selected
 
- Static Public Attributes inherited from EMono
static Core core
 

Properties

Extra extra [get]
 
override SearchType type [get]
 
- Properties inherited from WidgetCodex
virtual SearchType type [get]
 
- Properties inherited from Widget
string ID [get]
 
Config config [get]
 
SkinRoot skinRoot [get]
 
bool IsSealed [get]
 
virtual bool ShowStyleMenu [get]
 
virtual bool AlwaysTop [get]
 
virtual bool IsStaticPosition [get]
 
virtual bool AlwaysBottom [get]
 
virtual Type SetSiblingAfter [get]
 
virtual bool ShowInBuildMode [get]
 
virtual bool RightClickToClose [get]
 
virtual bool AllowRightClickToClose [get]
 
- Properties inherited from EMono
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SoundManager Sound [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static CoreDebug debug [get]
 

Private Member Functions

new void Update ()
 

Additional Inherited Members

- Public Types inherited from WidgetCodex
enum  SearchType { Codex , Search }
 
- Public Types inherited from Widget
enum  WidgetType { Default , ZoomMenu }
 
enum  State { Active , Inactive }
 
- Static Public Member Functions inherited from EMono
static int rnd (int a)
 
- Protected Member Functions inherited from WidgetCodex
void Update ()
 
- Protected Member Functions inherited from Widget
void ClampToScreenEnsured (Component c, Vector2 anchoredPos)
 
void ClampToScreen (RectTransform rect, float margin=10f)
 
- Protected Attributes inherited from Widget
bool flip
 

Detailed Description

Definition at line 5 of file WidgetSearch.cs.

Member Function Documentation

◆ CheckClose()

override bool WidgetSearch.CheckClose ( )
inlinevirtual

Reimplemented from WidgetCodex.

Definition at line 71 of file WidgetSearch.cs.

72 {
73 if (Input.GetKey(KeyCode.LeftControl))
74 {
75 return Input.GetKeyDown(KeyCode.F);
76 }
77 return false;
78 }

◆ CreateExtra()

override object WidgetSearch.CreateExtra ( )
inlinevirtual

Reimplemented from Widget.

Definition at line 41 of file WidgetSearch.cs.

42 {
43 return new Extra();
44 }

◆ OnActivate()

override void WidgetSearch.OnActivate ( )
inlinevirtual

Reimplemented from WidgetCodex.

Definition at line 46 of file WidgetSearch.cs.

47 {
48 base.OnActivate();
49 Instance = this;
50 selected = null;
51 if (extra.words == null)
52 {
53 extra.words = new List<Word>();
54 string[] array = Lang.GetList("search_words");
55 foreach (string text in array)
56 {
57 extra.words.Add(new Word
58 {
59 text = text
60 });
61 }
62 }
65 if (!extra.lastSearch.IsEmpty())
66 {
67 field.text = extra.lastSearch;
68 }
69 }
Definition: Lang.cs:6
static string[] GetList(string id)
Definition: Lang.cs:114
List< Word > words
Definition: WidgetSearch.cs:13
override void RefreshList()
static WidgetSearch Instance
Definition: WidgetSearch.cs:25
static Card selected
Definition: WidgetSearch.cs:29
void RefreshWords()

References extra, Lang.GetList(), Instance, WidgetSearch.Extra.lastSearch, RefreshList(), RefreshWords(), selected, and WidgetSearch.Extra.words.

◆ OnDeactivate()

override void WidgetSearch.OnDeactivate ( )
inlinevirtual

Reimplemented from Widget.

Definition at line 319 of file WidgetSearch.cs.

320 {
321 base.OnDeactivate();
322 if (field.text.IsEmpty())
323 {
324 extra.lastSearch = "";
325 }
327 }
static void SetDirtyAll(bool immediate=false)
InputField field
Definition: WidgetCodex.cs:13

References LayerInventory.SetDirtyAll().

◆ RefreshList()

override void WidgetSearch.RefreshList ( )
inlinevirtual

Reimplemented from WidgetCodex.

Definition at line 268 of file WidgetSearch.cs.

269 {
271 selected = null;
272 list.callbacks = new UIList.Callback<Card, ButtonGrid>
273 {
274 onClick = delegate(Card a, ButtonGrid b)
275 {
276 Card rootCard = a.GetRootCard();
277 if (rootCard == EMono.pc)
278 {
280 selected = a;
281 SE.Click();
282 }
283 else if (EMono.pc.ai.IsNoGoal)
284 {
285 if (a.isDestroyed || !rootCard.pos.IsValid)
286 {
287 SE.Beep();
288 Search(field.text);
289 }
290 else
291 {
292 SE.Click();
293 selected = null;
294 EMono.pc.SetAIImmediate(new AI_Goto(rootCard.pos.Copy(), 0));
296 }
297 }
298 else
299 {
300 SE.Beep();
301 }
302 },
303 onRedraw = delegate(Card a, ButtonGrid b, int i)
304 {
305 b.SetCard(a, ButtonGrid.Mode.Search);
306 },
307 onList = delegate
308 {
309 foreach (Card card in cards)
310 {
311 list.Add(card);
312 }
313 }
314 };
315 list.List();
316 list.dsv.OnResize();
317 }
virtual bool IsNoGoal
Definition: AIAct.cs:74
void SetTurbo(int mtp=-1)
Definition: AM_Adv.cs:1040
static AM_Adv Adv
Definition: ActionMode.cs:15
void SetCard(Card c, Mode mode=Mode.Default, Action< UINote > onWriteNote=null)
Definition: ButtonGrid.cs:184
Definition: Card.cs:11
bool isDestroyed
Definition: Card.cs:71
Point pos
Definition: Card.cs:55
Card GetRootCard()
Definition: Card.cs:3287
AIAct ai
Definition: Chara.cs:198
void SetAIImmediate(AIAct g)
Definition: Chara.cs:8221
Definition: EMono.cs:4
static Chara pc
Definition: EMono.cs:13
Point Copy()
Definition: Point.cs:479
bool IsValid
Definition: Point.cs:88
override void List()
override void Add(object o)
DynamicScrollView dsv
Definition: UIList.cs:9
UIDynamicList list
Definition: WidgetCodex.cs:17
HashSet< Card > cards
Definition: WidgetSearch.cs:27

References ActionMode.Adv, Chara.ai, card, Point.Copy(), Card.GetRootCard(), Card.isDestroyed, AIAct.IsNoGoal, Point.IsValid, EMono.pc, Card.pos, Search, Chara.SetAIImmediate(), ButtonGrid.SetCard(), LayerInventory.SetDirtyAll(), and AM_Adv.SetTurbo().

Referenced by OnActivate().

◆ RefreshSearch()

void WidgetSearch.RefreshSearch ( )
inline

Definition at line 95 of file WidgetSearch.cs.

96 {
97 SE.Tab();
98 lastSearch = "";
99 Search(field.text);
100 }
string lastSearch
Definition: WidgetCodex.cs:21

References WidgetCodex.field, WidgetCodex.lastSearch, and WidgetCodex.Search.

◆ RefreshWords()

void WidgetSearch.RefreshWords ( )
inline

Definition at line 210 of file WidgetSearch.cs.

211 {
212 listWords.callbacks = new UIList.Callback<Word, UIItem>
213 {
214 onClick = delegate(Word a, UIItem b)
215 {
216 if (a.type == 1)
217 {
218 if (field.text.IsEmpty())
219 {
220 SE.BeepSmall();
221 }
222 else
223 {
224 SE.ClickOk();
225 extra.words.Add(new Word
226 {
227 text = field.text
228 });
229 listWords.List();
230 }
231 }
232 else
233 {
234 field.text = a.text;
235 SE.Tab();
236 }
237 },
238 onInstantiate = delegate(Word a, UIItem b)
239 {
240 b.button1.mainText.SetText(a.text);
241 b.button2.SetActive(a.type != 1);
242 b.button2.SetOnClick(delegate
243 {
244 extra.words.Remove(a);
245 SE.Trash();
246 listWords.List();
247 });
248 },
249 onList = delegate
250 {
251 foreach (Word word in extra.words)
252 {
253 listWords.Add(word);
254 }
255 if (extra.words.Count < 10)
256 {
257 listWords.Add(new Word
258 {
259 text = "add_search_word".lang(),
260 type = 1
261 });
262 }
263 }
264 };
265 listWords.List();
266 }
UIText mainText
Definition: UIButton.cs:102
Definition: UIItem.cs:5
UIButton button1
Definition: UIItem.cs:18
UIButton button2
Definition: UIItem.cs:20
override void Add(object item)
Definition: UIList.cs:302
override void List()
Definition: UIList.cs:717
void SetText(string s)
Definition: UIText.cs:159
override SearchType type
Definition: WidgetSearch.cs:39
UIList listWords
Definition: WidgetSearch.cs:33

References UIList.Add(), UIItem.button1, UIItem.button2, UIList.List(), UIButton.mainText, UIText.SetText(), WidgetSearch.Word.text, WidgetSearch.Word.type, and WidgetSearch.Extra.words.

Referenced by OnActivate().

◆ Search()

override void WidgetSearch.Search ( string  s)
inlinevirtual

Reimplemented from WidgetCodex.

Definition at line 102 of file WidgetSearch.cs.

103 {
104 if (!s.IsEmpty())
105 {
106 extra.lastSearch = s;
107 }
108 s = s.ToLower();
109 if (!buttonClear)
110 {
111 return;
112 }
113 buttonClear.SetActive(field.text != "");
114 buttonRefresh.SetActive(field.text != "");
115 if (s == lastSearch || s.Length == 0)
116 {
117 return;
118 }
119 lastSearch = s;
121 bool encSearch = s.Length >= 2 && (s[0] == '@' || s[0] == '@');
122 if (encSearch)
123 {
124 s = s.Substring(1);
125 }
126 HashSet<Card> newCards = new HashSet<Card>();
127 if (!s.IsEmpty())
128 {
129 if (!encSearch && (EMono._zone.IsTown || EMono._zone.HasLaw || EMono._zone.IsPCFaction || EMono._zone is Zone_Tent))
130 {
131 foreach (Chara chara in EMono._map.charas)
132 {
133 if (chara.IsNeutralOrAbove() && (chara.Name.ToLower().Contains(s) || chara.sourceCard.GetSearchName(jp: false).Contains(s)))
134 {
135 newCards.Add(chara);
136 }
137 }
138 }
140 {
141 foreach (Thing thing2 in EMono._map.things)
142 {
143 if (encSearch)
144 {
145 if (thing2.MatchEncSearch(s))
146 {
147 newCards.Add(thing2);
148 }
149 }
150 else if (thing2.Name.ToLower().Contains(s) || thing2.sourceCard.GetSearchName(jp: false).Contains(s))
151 {
152 newCards.Add(thing2);
153 }
154 }
155 foreach (Card item in EMono._map.props.stocked.all)
156 {
157 if (!(item.parent is Thing thing) || !thing.trait.CanSearchContent)
158 {
159 continue;
160 }
161 if (encSearch)
162 {
163 if (item.MatchEncSearch(s))
164 {
165 newCards.Add(item);
166 }
167 }
168 else if (item.Name.ToLower().Contains(s) || item.sourceCard.GetSearchName(jp: false).Contains(s))
169 {
170 newCards.Add(item);
171 }
172 }
173 }
174 for (int i = 0; i < 2; i++)
175 {
176 foreach (Chara chara2 in EMono._map.charas)
177 {
178 if ((i == 0 && chara2 == EMono.pc) || (i == 1 && chara2 != EMono.pc) || !chara2.IsPCFactionOrMinion)
179 {
180 continue;
181 }
182 chara2.things.Foreach(delegate(Thing t)
183 {
184 if (!((t.parent as Card)?.trait is TraitChestMerchant))
185 {
186 if (encSearch)
187 {
188 if (t.MatchEncSearch(s))
189 {
190 newCards.Add(t);
191 }
192 }
193 else if (t.Name.ToLower().Contains(s) || t.source.GetSearchName(jp: false).Contains(s))
194 {
195 newCards.Add(t);
196 }
197 }
198 });
199 }
200 }
201 }
202 if (!newCards.SetEquals(cards))
203 {
204 cards = newCards;
205 RefreshList();
206 }
207 cgResult.alpha = ((list.ItemCount > 0) ? 1f : 0f);
208 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
bool IsPCFactionOrMinion
Definition: Card.cs:2208
string Name
Definition: Card.cs:2073
ICardParent parent
Definition: Card.cs:51
ThingContainer things
Definition: Card.cs:34
Definition: Chara.cs:10
bool IsNeutralOrAbove()
Definition: Chara.cs:6078
override CardRow sourceCard
Definition: Chara.cs:446
static Zone _zone
Definition: EMono.cs:19
static Map _map
Definition: EMono.cs:17
List< Thing > things
Definition: Map.cs:49
PropsManager props
Definition: Map.cs:91
List< Chara > charas
Definition: Map.cs:81
PropsStocked stocked
Definition: PropsManager.cs:6
PropSet all
Definition: Props.cs:8
virtual string GetSearchName(bool jp)
Definition: RenderRow.cs:130
void Foreach(Action< Thing > action, bool onlyAccessible=true)
Definition: Thing.cs:8
SourceThing.Row source
Definition: Thing.cs:11
override bool MatchEncSearch(string s)
Definition: Thing.cs:2030
override CardRow sourceCard
Definition: Thing.cs:47
UIButton buttonRefresh
Definition: WidgetCodex.cs:25
UIButton buttonClear
Definition: WidgetCodex.cs:23
virtual bool HasLaw
Definition: Zone.cs:226
virtual bool IsTown
Definition: Zone.cs:220
bool IsPCFaction
Definition: Zone.cs:466

References EMono._map, EMono._zone, Props.all, WidgetCodex.buttonClear, WidgetCodex.buttonRefresh, Map.charas, WidgetCodex.field, ThingContainer.Foreach(), RenderRow.GetSearchName(), Zone.HasLaw, if(), Chara.IsNeutralOrAbove(), Zone.IsPCFaction, Card.IsPCFactionOrMinion, Zone.IsTown, item, WidgetCodex.lastSearch, lastZone, Thing.MatchEncSearch(), Card.Name, Card.parent, EMono.pc, Map.props, Thing.source, Chara.sourceCard, Thing.sourceCard, PropsManager.stocked, Card.things, and Map.things.

◆ Update()

new void WidgetSearch.Update ( )
inlineprivate

Definition at line 80 of file WidgetSearch.cs.

81 {
83 {
84 EMono.ui.widgets.DeactivateWidget(this);
85 return;
86 }
87 base.Update();
88 if (lastZone != EMono._zone)
89 {
90 lastSearch = "";
91 Search(field.text);
92 }
93 }
bool IsFuncPressed(CoreConfig.GameFunc func)
Definition: ActionMode.cs:1071
static Scene scene
Definition: EMono.cs:27
static UI ui
Definition: EMono.cs:15
ActionMode actionMode
Definition: Scene.cs:79

References EMono._zone, Scene.actionMode, WidgetCodex.field, ActionMode.IsFuncPressed(), WidgetCodex.lastSearch, lastZone, EMono.scene, WidgetCodex.Search, and EMono.ui.

Member Data Documentation

◆ cards

HashSet<Card> WidgetSearch.cards = new HashSet<Card>()

Definition at line 27 of file WidgetSearch.cs.

◆ cgResult

CanvasGroup WidgetSearch.cgResult

Definition at line 31 of file WidgetSearch.cs.

◆ Instance

WidgetSearch WidgetSearch.Instance
static

◆ lastZone

Zone WidgetSearch.lastZone

Definition at line 35 of file WidgetSearch.cs.

Referenced by Search(), and Update().

◆ listWords

UIList WidgetSearch.listWords

Definition at line 33 of file WidgetSearch.cs.

◆ selected

Card WidgetSearch.selected
static

Definition at line 29 of file WidgetSearch.cs.

Referenced by OnActivate(), and LayerInventory.TryShowGuide().

Property Documentation

◆ extra

Extra WidgetSearch.extra
get

Definition at line 37 of file WidgetSearch.cs.

Referenced by OnActivate().

◆ type

override SearchType WidgetSearch.type
get

Definition at line 39 of file WidgetSearch.cs.


The documentation for this class was generated from the following file: