Elin Decompiled Documentation EA 23.188 Stable
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 ()
 

Private Attributes

bool isDirty
 

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 73 of file WidgetSearch.cs.

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

◆ CreateExtra()

override object WidgetSearch.CreateExtra ( )
inlinevirtual

Reimplemented from Widget.

Definition at line 43 of file WidgetSearch.cs.

44 {
45 return new Extra();
46 }

◆ OnActivate()

override void WidgetSearch.OnActivate ( )
inlinevirtual

Reimplemented from WidgetCodex.

Definition at line 48 of file WidgetSearch.cs.

49 {
50 base.OnActivate();
51 Instance = this;
52 selected = null;
53 if (extra.words == null)
54 {
55 extra.words = new List<Word>();
56 string[] array = Lang.GetList("search_words");
57 foreach (string text in array)
58 {
59 extra.words.Add(new Word
60 {
61 text = text
62 });
63 }
64 }
67 if (!extra.lastSearch.IsEmpty())
68 {
69 field.text = extra.lastSearch;
70 }
71 }
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 326 of file WidgetSearch.cs.

327 {
328 base.OnDeactivate();
329 if (field.text.IsEmpty())
330 {
331 extra.lastSearch = "";
332 }
334 }
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 271 of file WidgetSearch.cs.

272 {
274 selected = null;
275 list.callbacks = new UIList.Callback<Card, ButtonGrid>
276 {
277 onClick = delegate(Card a, ButtonGrid b)
278 {
279 Card rootCard = a.GetRootCard();
280 if (rootCard == EMono.pc)
281 {
283 selected = a;
284 SE.Click();
285 }
286 else if (EMono.pc.ai.IsNoGoal)
287 {
288 if (a.isDestroyed || !rootCard.pos.IsValid)
289 {
290 SE.Beep();
291 Search(field.text);
292 }
293 else
294 {
295 SE.Click();
296 selected = null;
297 EMono.pc.SetAIImmediate(new AI_Goto(rootCard.pos.Copy(), 0));
299 }
300 }
301 else
302 {
303 SE.Beep();
304 }
305 },
306 onRedraw = delegate(Card a, ButtonGrid b, int i)
307 {
308 if (a.isDestroyed)
309 {
310 isDirty = true;
311 }
312 b.SetCard(a, ButtonGrid.Mode.Search);
313 },
314 onList = delegate
315 {
316 foreach (Card card in cards)
317 {
318 list.Add(card);
319 }
320 }
321 };
322 list.List();
323 list.dsv.OnResize();
324 }
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:73
Point pos
Definition: Card.cs:57
Card GetRootCard()
Definition: Card.cs:3324
AIAct ai
Definition: Chara.cs:200
void SetAIImmediate(AIAct g)
Definition: Chara.cs:8481
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 98 of file WidgetSearch.cs.

99 {
100 SE.Tab();
101 lastSearch = "";
102 Search(field.text);
103 }
string lastSearch
Definition: WidgetCodex.cs:21

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

◆ RefreshWords()

void WidgetSearch.RefreshWords ( )
inline

Definition at line 213 of file WidgetSearch.cs.

214 {
215 listWords.callbacks = new UIList.Callback<Word, UIItem>
216 {
217 onClick = delegate(Word a, UIItem b)
218 {
219 if (a.type == 1)
220 {
221 if (field.text.IsEmpty())
222 {
223 SE.BeepSmall();
224 }
225 else
226 {
227 SE.ClickOk();
228 extra.words.Add(new Word
229 {
230 text = field.text
231 });
232 listWords.List();
233 }
234 }
235 else
236 {
237 field.text = a.text;
238 SE.Tab();
239 }
240 },
241 onInstantiate = delegate(Word a, UIItem b)
242 {
243 b.button1.mainText.SetText(a.text);
244 b.button2.SetActive(a.type != 1);
245 b.button2.SetOnClick(delegate
246 {
247 extra.words.Remove(a);
248 SE.Trash();
249 listWords.List();
250 });
251 },
252 onList = delegate
253 {
254 foreach (Word word in extra.words)
255 {
256 listWords.Add(word);
257 }
258 if (extra.words.Count < 10)
259 {
260 listWords.Add(new Word
261 {
262 text = "add_search_word".lang(),
263 type = 1
264 });
265 }
266 }
267 };
268 listWords.List();
269 }
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:41
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 105 of file WidgetSearch.cs.

106 {
107 if (!s.IsEmpty())
108 {
109 extra.lastSearch = s;
110 }
111 s = s.ToLower();
112 if (!buttonClear)
113 {
114 return;
115 }
116 buttonClear.SetActive(field.text != "");
117 buttonRefresh.SetActive(field.text != "");
118 if (s == lastSearch || s.Length == 0)
119 {
120 return;
121 }
122 lastSearch = s;
124 bool encSearch = s.Length >= 2 && (s[0] == '@' || s[0] == '@');
125 if (encSearch)
126 {
127 s = s.Substring(1);
128 }
129 HashSet<Card> newCards = new HashSet<Card>();
130 if (!s.IsEmpty())
131 {
132 if (!encSearch && (EMono._zone.IsTown || EMono._zone.HasLaw || EMono._zone.IsPCFaction || EMono._zone is Zone_Tent))
133 {
134 foreach (Chara chara in EMono._map.charas)
135 {
136 if (chara.IsNeutralOrAbove() && (chara.Name.ToLower().Contains(s) || chara.sourceCard.GetSearchName(jp: false).Contains(s)))
137 {
138 newCards.Add(chara);
139 }
140 }
141 }
143 {
144 foreach (Thing thing2 in EMono._map.things)
145 {
146 if (encSearch)
147 {
148 if (thing2.MatchEncSearch(s))
149 {
150 newCards.Add(thing2);
151 }
152 }
153 else if (thing2.Name.ToLower().Contains(s) || thing2.sourceCard.GetSearchName(jp: false).Contains(s))
154 {
155 newCards.Add(thing2);
156 }
157 }
158 foreach (Card item in EMono._map.props.stocked.all)
159 {
160 if (!(item.parent is Thing thing) || !thing.trait.CanSearchContent)
161 {
162 continue;
163 }
164 if (encSearch)
165 {
166 if (item.MatchEncSearch(s))
167 {
168 newCards.Add(item);
169 }
170 }
171 else if (item.Name.ToLower().Contains(s) || item.sourceCard.GetSearchName(jp: false).Contains(s))
172 {
173 newCards.Add(item);
174 }
175 }
176 }
177 for (int i = 0; i < 2; i++)
178 {
179 foreach (Chara chara2 in EMono._map.charas)
180 {
181 if ((i == 0 && chara2 == EMono.pc) || (i == 1 && chara2 != EMono.pc) || !chara2.IsPCFactionOrMinion)
182 {
183 continue;
184 }
185 chara2.things.Foreach(delegate(Thing t)
186 {
187 if (!((t.parent as Card)?.trait is TraitChestMerchant))
188 {
189 if (encSearch)
190 {
191 if (t.MatchEncSearch(s))
192 {
193 newCards.Add(t);
194 }
195 }
196 else if (t.Name.ToLower().Contains(s) || t.source.GetSearchName(jp: false).Contains(s))
197 {
198 newCards.Add(t);
199 }
200 }
201 });
202 }
203 }
204 }
205 if (!newCards.SetEquals(cards))
206 {
207 cards = newCards;
208 RefreshList();
209 }
210 cgResult.alpha = ((list.ItemCount > 0) ? 1f : 0f);
211 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
bool IsPCFactionOrMinion
Definition: Card.cs:2234
string Name
Definition: Card.cs:2099
ICardParent parent
Definition: Card.cs:53
ThingContainer things
Definition: Card.cs:36
Definition: Chara.cs:10
bool IsNeutralOrAbove()
Definition: Chara.cs:6269
override CardRow sourceCard
Definition: Chara.cs:448
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:2075
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:470

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 82 of file WidgetSearch.cs.

83 {
85 {
86 EMono.ui.widgets.DeactivateWidget(this);
87 return;
88 }
89 base.Update();
90 if (lastZone != EMono._zone || isDirty)
91 {
92 lastSearch = "";
93 Search(field.text);
94 isDirty = false;
95 }
96 }
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, isDirty, 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

◆ isDirty

bool WidgetSearch.isDirty
private

Definition at line 37 of file WidgetSearch.cs.

Referenced by Update().

◆ 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 39 of file WidgetSearch.cs.

Referenced by OnActivate().

◆ type

override SearchType WidgetSearch.type
get

Definition at line 41 of file WidgetSearch.cs.


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