Elin Decompiled Documentation EA 23.130 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 315 of file WidgetSearch.cs.

316 {
317 base.OnDeactivate();
318 if (field.text.IsEmpty())
319 {
320 extra.lastSearch = "";
321 }
323 }
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 264 of file WidgetSearch.cs.

265 {
267 selected = null;
268 list.callbacks = new UIList.Callback<Card, ButtonGrid>
269 {
270 onClick = delegate(Card a, ButtonGrid b)
271 {
272 Card rootCard = a.GetRootCard();
273 if (rootCard == EMono.pc)
274 {
276 selected = a;
277 SE.Click();
278 }
279 else if (EMono.pc.ai.IsNoGoal)
280 {
281 if (a.isDestroyed || !rootCard.pos.IsValid)
282 {
283 SE.Beep();
284 Search(field.text);
285 }
286 else
287 {
288 SE.Click();
289 selected = null;
290 EMono.pc.SetAIImmediate(new AI_Goto(rootCard.pos.Copy(), 0));
292 }
293 }
294 else
295 {
296 SE.Beep();
297 }
298 },
299 onRedraw = delegate(Card a, ButtonGrid b, int i)
300 {
301 b.SetCard(a, ButtonGrid.Mode.Search);
302 },
303 onList = delegate
304 {
305 foreach (Card card in cards)
306 {
307 list.Add(card);
308 }
309 }
310 };
311 list.List();
312 list.dsv.OnResize();
313 }
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:3217
AIAct ai
Definition: Chara.cs:192
void SetAIImmediate(AIAct g)
Definition: Chara.cs:8175
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 206 of file WidgetSearch.cs.

207 {
208 listWords.callbacks = new UIList.Callback<Word, UIItem>
209 {
210 onClick = delegate(Word a, UIItem b)
211 {
212 if (a.type == 1)
213 {
214 if (field.text.IsEmpty())
215 {
216 SE.BeepSmall();
217 }
218 else
219 {
220 SE.ClickOk();
221 extra.words.Add(new Word
222 {
223 text = field.text
224 });
225 listWords.List();
226 }
227 }
228 else
229 {
230 field.text = a.text;
231 SE.Tab();
232 }
233 },
234 onInstantiate = delegate(Word a, UIItem b)
235 {
236 b.button1.mainText.SetText(a.text);
237 b.button2.SetActive(a.type != 1);
238 b.button2.SetOnClick(delegate
239 {
240 extra.words.Remove(a);
241 SE.Trash();
242 listWords.List();
243 });
244 },
245 onList = delegate
246 {
247 foreach (Word word in extra.words)
248 {
249 listWords.Add(word);
250 }
251 if (extra.words.Count < 10)
252 {
253 listWords.Add(new Word
254 {
255 text = "add_search_word".lang(),
256 type = 1
257 });
258 }
259 }
260 };
261 listWords.List();
262 }
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 buttonClear.SetActive(field.text != "");
110 buttonRefresh.SetActive(field.text != "");
111 if (s == lastSearch || s.Length == 0)
112 {
113 return;
114 }
115 lastSearch = s;
117 bool encSearch = s.Length >= 2 && (s[0] == '@' || s[0] == '@');
118 if (encSearch)
119 {
120 s = s.Substring(1);
121 }
122 HashSet<Card> newCards = new HashSet<Card>();
123 if (!s.IsEmpty())
124 {
125 if (!encSearch && (EMono._zone.IsTown || EMono._zone.HasLaw || EMono._zone.IsPCFaction || EMono._zone is Zone_Tent))
126 {
127 foreach (Chara chara in EMono._map.charas)
128 {
129 if (chara.IsNeutralOrAbove() && (chara.Name.ToLower().Contains(s) || chara.sourceCard.GetSearchName(jp: false).Contains(s)))
130 {
131 newCards.Add(chara);
132 }
133 }
134 }
136 {
137 foreach (Thing thing2 in EMono._map.things)
138 {
139 if (encSearch)
140 {
141 if (thing2.MatchEncSearch(s))
142 {
143 newCards.Add(thing2);
144 }
145 }
146 else if (thing2.Name.ToLower().Contains(s) || thing2.sourceCard.GetSearchName(jp: false).Contains(s))
147 {
148 newCards.Add(thing2);
149 }
150 }
151 foreach (Card item in EMono._map.props.stocked.all)
152 {
153 if (!(item.parent is Thing thing) || !thing.trait.CanSearchContent)
154 {
155 continue;
156 }
157 if (encSearch)
158 {
159 if (item.MatchEncSearch(s))
160 {
161 newCards.Add(item);
162 }
163 }
164 else if (item.Name.ToLower().Contains(s) || item.sourceCard.GetSearchName(jp: false).Contains(s))
165 {
166 newCards.Add(item);
167 }
168 }
169 }
170 for (int i = 0; i < 2; i++)
171 {
172 foreach (Chara chara2 in EMono._map.charas)
173 {
174 if ((i == 0 && chara2 == EMono.pc) || (i == 1 && chara2 != EMono.pc) || !chara2.IsPCFactionOrMinion)
175 {
176 continue;
177 }
178 chara2.things.Foreach(delegate(Thing t)
179 {
180 if (!((t.parent as Card)?.trait is TraitChestMerchant))
181 {
182 if (encSearch)
183 {
184 if (t.MatchEncSearch(s))
185 {
186 newCards.Add(t);
187 }
188 }
189 else if (t.Name.ToLower().Contains(s) || t.source.GetSearchName(jp: false).Contains(s))
190 {
191 newCards.Add(t);
192 }
193 }
194 });
195 }
196 }
197 }
198 if (!newCards.SetEquals(cards))
199 {
200 cards = newCards;
201 RefreshList();
202 }
203 cgResult.alpha = ((list.ItemCount > 0) ? 1f : 0f);
204 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
bool IsPCFactionOrMinion
Definition: Card.cs:2172
string Name
Definition: Card.cs:2037
ICardParent parent
Definition: Card.cs:51
ThingContainer things
Definition: Card.cs:34
Definition: Chara.cs:10
bool IsNeutralOrAbove()
Definition: Chara.cs:5986
override CardRow sourceCard
Definition: Chara.cs:440
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:2026
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:464

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:77

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: