Elin Decompiled Documentation EA 23.102 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 ()
 
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
 
- Public Attributes inherited from WidgetCodex
InputField field
 
WordSearch search = new WordSearch()
 
UIDynamicList list
 
HashSet< Reciperecipes = new HashSet<Recipe>()
 
string lastSearch
 
UIButton buttonClear
 
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 69 of file WidgetSearch.cs.

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

◆ CreateExtra()

override object WidgetSearch.CreateExtra ( )
inlinevirtual

Reimplemented from Widget.

Definition at line 39 of file WidgetSearch.cs.

40 {
41 return new Extra();
42 }

◆ OnActivate()

override void WidgetSearch.OnActivate ( )
inlinevirtual

Reimplemented from WidgetCodex.

Definition at line 44 of file WidgetSearch.cs.

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

303 {
304 base.OnDeactivate();
305 if (field.text.IsEmpty())
306 {
307 extra.lastSearch = "";
308 }
310 }
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 250 of file WidgetSearch.cs.

251 {
253 selected = null;
254 list.callbacks = new UIList.Callback<Card, ButtonGrid>
255 {
256 onClick = delegate(Card a, ButtonGrid b)
257 {
258 Card rootCard = a.GetRootCard();
259 if (rootCard == EMono.pc)
260 {
262 selected = a;
263 SE.Click();
264 }
265 else if (EMono.pc.ai.IsNoGoal)
266 {
267 if (a.isDestroyed || !rootCard.pos.IsValid)
268 {
269 SE.Beep();
270 Search(field.text);
271 }
272 else
273 {
274 SE.Click();
275 selected = null;
276 EMono.pc.SetAIImmediate(new AI_Goto(rootCard.pos.Copy(), 0));
278 Close();
279 }
280 }
281 else
282 {
283 SE.Beep();
284 }
285 },
286 onRedraw = delegate(Card a, ButtonGrid b, int i)
287 {
288 b.SetCard(a, ButtonGrid.Mode.Search);
289 },
290 onList = delegate
291 {
292 foreach (Card card in cards)
293 {
294 list.Add(card);
295 }
296 }
297 };
298 list.List();
299 list.dsv.OnResize();
300 }
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:3173
AIAct ai
Definition: Chara.cs:187
void SetAIImmediate(AIAct g)
Definition: Chara.cs:8077
Definition: EMono.cs:4
static Chara pc
Definition: EMono.cs:13
Point Copy()
Definition: Point.cs:467
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
void Close()
Definition: Widget.cs:319

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().

◆ RefreshWords()

void WidgetSearch.RefreshWords ( )
inline

Definition at line 192 of file WidgetSearch.cs.

193 {
194 listWords.callbacks = new UIList.Callback<Word, UIItem>
195 {
196 onClick = delegate(Word a, UIItem b)
197 {
198 if (a.type == 1)
199 {
200 if (field.text.IsEmpty())
201 {
202 SE.BeepSmall();
203 }
204 else
205 {
206 SE.ClickOk();
207 extra.words.Add(new Word
208 {
209 text = field.text
210 });
211 listWords.List();
212 }
213 }
214 else
215 {
216 field.text = a.text;
217 SE.Tab();
218 }
219 },
220 onInstantiate = delegate(Word a, UIItem b)
221 {
222 b.button1.mainText.SetText(a.text);
223 b.button2.SetActive(a.type != 1);
224 b.button2.SetOnClick(delegate
225 {
226 extra.words.Remove(a);
227 SE.Trash();
228 listWords.List();
229 });
230 },
231 onList = delegate
232 {
233 foreach (Word word in extra.words)
234 {
235 listWords.Add(word);
236 }
237 if (extra.words.Count < 10)
238 {
239 listWords.Add(new Word
240 {
241 text = "add_search_word".lang(),
242 type = 1
243 });
244 }
245 }
246 };
247 listWords.List();
248 }
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:37
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 90 of file WidgetSearch.cs.

91 {
92 if (!s.IsEmpty())
93 {
94 extra.lastSearch = s;
95 }
96 s = s.ToLower();
97 buttonClear.SetActive(field.text != "");
98 if (s == lastSearch || s.Length == 0)
99 {
100 return;
101 }
102 lastSearch = s;
103 bool encSearch = s.Length >= 2 && (s[0] == '@' || s[1] == '@');
104 if (encSearch)
105 {
106 s = s.Substring(1);
107 }
108 HashSet<Card> newCards = new HashSet<Card>();
109 if (!s.IsEmpty())
110 {
111 if (!encSearch && (EMono._zone.IsTown || EMono._zone.IsPCFaction || EMono._zone is Zone_Tent))
112 {
113 foreach (Chara chara in EMono._map.charas)
114 {
115 if (chara.IsNeutralOrAbove() && (chara.Name.ToLower().Contains(s) || chara.sourceCard.GetSearchName(jp: false).Contains(s)))
116 {
117 newCards.Add(chara);
118 }
119 }
120 }
122 {
123 foreach (Thing thing2 in EMono._map.things)
124 {
125 if (encSearch)
126 {
127 if (thing2.MatchEncSearch(s))
128 {
129 newCards.Add(thing2);
130 }
131 }
132 else if (thing2.Name.ToLower().Contains(s) || thing2.sourceCard.GetSearchName(jp: false).Contains(s))
133 {
134 newCards.Add(thing2);
135 }
136 }
137 foreach (Card item in EMono._map.props.stocked.all)
138 {
139 if (!(item.parent is Thing thing) || !thing.trait.CanSearchContent)
140 {
141 continue;
142 }
143 if (encSearch)
144 {
145 if (item.MatchEncSearch(s))
146 {
147 newCards.Add(item);
148 }
149 }
150 else if (item.Name.ToLower().Contains(s) || item.sourceCard.GetSearchName(jp: false).Contains(s))
151 {
152 newCards.Add(item);
153 }
154 }
155 }
156 for (int i = 0; i < 2; i++)
157 {
158 foreach (Chara chara2 in EMono._map.charas)
159 {
160 if ((i == 0 && chara2 == EMono.pc) || (i == 1 && chara2 != EMono.pc) || !chara2.IsPCFactionOrMinion)
161 {
162 continue;
163 }
164 chara2.things.Foreach(delegate(Thing t)
165 {
166 if (!((t.parent as Card)?.trait is TraitChestMerchant))
167 {
168 if (encSearch)
169 {
170 if (t.MatchEncSearch(s))
171 {
172 newCards.Add(t);
173 }
174 }
175 else if (t.Name.ToLower().Contains(s) || t.source.GetSearchName(jp: false).Contains(s))
176 {
177 newCards.Add(t);
178 }
179 }
180 });
181 }
182 }
183 }
184 if (!newCards.SetEquals(cards))
185 {
186 cards = newCards;
187 RefreshList();
188 }
189 cgResult.alpha = ((list.ItemCount > 0) ? 1f : 0f);
190 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
bool IsPCFactionOrMinion
Definition: Card.cs:2132
string Name
Definition: Card.cs:2013
ICardParent parent
Definition: Card.cs:51
ThingContainer things
Definition: Card.cs:34
Definition: Chara.cs:10
bool IsNeutralOrAbove()
Definition: Chara.cs:5928
override CardRow sourceCard
Definition: Chara.cs:435
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:2009
override CardRow sourceCard
Definition: Thing.cs:47
string lastSearch
Definition: WidgetCodex.cs:21
UIButton buttonClear
Definition: WidgetCodex.cs:23
virtual bool IsTown
Definition: Zone.cs:220
bool IsPCFaction
Definition: Zone.cs:464

References EMono._map, EMono._zone, Props.all, WidgetCodex.buttonClear, Map.charas, WidgetCodex.field, ThingContainer.Foreach(), RenderRow.GetSearchName(), if(), Chara.IsNeutralOrAbove(), Zone.IsPCFaction, Card.IsPCFactionOrMinion, Zone.IsTown, item, WidgetCodex.lastSearch, 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 78 of file WidgetSearch.cs.

79 {
81 {
82 EMono.ui.widgets.DeactivateWidget(this);
83 }
84 else
85 {
86 base.Update();
87 }
88 }
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 Scene.actionMode, ActionMode.IsFuncPressed(), EMono.scene, 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

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

Referenced by OnActivate().

◆ type

override SearchType WidgetSearch.type
get

Definition at line 37 of file WidgetSearch.cs.


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