Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
WidgetManager Class Reference
Inheritance diagram for WidgetManager:
EMono

Classes

class  SaveData
 

Public Member Functions

void OnActivateZone ()
 
void OnGameInstantiated ()
 
void OnKillGame ()
 
void OnChangeActionMode ()
 
void UpdateConfigs ()
 
void Activate (string id)
 
Widget Toggle (string id)
 
Widget Toggle (Widget.Config c)
 
void ToggleLock (Widget.Config c)
 
Widget ActivateWidget (Widget.Config c)
 
Widget ActivateWidget (string id)
 
void RefreshWidget (Widget.Config c)
 
void RefreshWidget (Widget w)
 
Widget GetWidget (string id)
 
void DeactivateWidget (string id)
 
void DeactivateWidget (Widget w)
 
void KillWidgets ()
 
void Show ()
 
void Hide ()
 
void Reset (bool toggleTheme)
 
void DialogSave (Action onSave=null)
 
void DialogLoad (Action onLoad=null)
 
void Save (string path=null)
 
void Load (bool isSubTheme, string path=null)
 

Public Attributes

Dictionary< string, Widget.MetametaMap = new Dictionary<string, Widget.Meta>()
 
string currentPath
 
List< Widgetlist = new List<Widget>()
 

Properties

List< Widget.Metametas [get]
 
Dictionary< string, Widget.Configconfigs [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 Attributes

bool first
 

Additional Inherited Members

- Static Public Member Functions inherited from EMono
static int rnd (int a)
 
- Static Public Attributes inherited from EMono
static Core core
 

Detailed Description

Definition at line 8 of file WidgetManager.cs.

Member Function Documentation

◆ Activate()

void WidgetManager.Activate ( string  id)
inline

Definition at line 144 of file WidgetManager.cs.

145 {
146 if (!GetWidget(id))
147 {
149 }
150 }
Widget GetWidget(string id)
Widget ActivateWidget(Widget.Config c)
Dictionary< string, Widget.Config > configs

References ActivateWidget(), configs, and GetWidget().

Referenced by OnActivateZone().

◆ ActivateWidget() [1/2]

Widget WidgetManager.ActivateWidget ( string  id)
inline

Definition at line 185 of file WidgetManager.cs.

186 {
187 string text = "Widget" + id;
188 Widget widget = Util.Instantiate<Widget>("UI/Widget/" + text, this) ?? Util.Instantiate<Widget>("UI/Widget/" + text + "/" + text, this);
189 if (!widget)
190 {
191 Debug.LogError("Widget:" + id + " not found.");
192 return null;
193 }
194 list.Add(widget);
195 widget.gameObject.name = text;
196 widget.Activate();
197 RefreshWidget(widget);
198 if ((bool)LayerWidget.Instance)
199 {
200 widget.OnManagerActivate();
201 }
202 return widget;
203 }
static LayerWidget Instance
Definition: LayerWidget.cs:5
Definition: Util.cs:10
static Transform Instantiate(string path, Component parent=null)
Definition: Util.cs:67
List< Widget > list
void RefreshWidget(Widget.Config c)
Definition: Widget.cs:7
void Activate()
Definition: Widget.cs:225
virtual void OnManagerActivate()
Definition: Widget.cs:330

References Widget.Activate(), Debug, LayerWidget.Instance, list, Widget.OnManagerActivate(), RefreshWidget(), and Util.

◆ ActivateWidget() [2/2]

Widget WidgetManager.ActivateWidget ( Widget::Config  c)
inline

Definition at line 180 of file WidgetManager.cs.

181 {
182 return ActivateWidget(c.id);
183 }
string id
Definition: Widget.cs:47

References ActivateWidget().

Referenced by Activate(), ActivateWidget(), OnActivateZone(), and Toggle().

◆ DeactivateWidget() [1/2]

void WidgetManager.DeactivateWidget ( string  id)
inline

Definition at line 230 of file WidgetManager.cs.

231 {
233 }
void DeactivateWidget(string id)

References DeactivateWidget(), and GetWidget().

Referenced by DeactivateWidget(), OnActivateZone(), and Toggle().

◆ DeactivateWidget() [2/2]

void WidgetManager.DeactivateWidget ( Widget  w)
inline

Definition at line 235 of file WidgetManager.cs.

236 {
237 if (!(w == null))
238 {
239 list.Remove(w);
240 w.Deactivate();
241 if ((bool)LayerWidget.Instance)
242 {
244 }
245 }
246 }
void Refresh()
Definition: LayerWidget.cs:124
void Deactivate()
Definition: Widget.cs:307

References Widget.Deactivate(), LayerWidget.Instance, list, and LayerWidget.Refresh().

◆ DialogLoad()

void WidgetManager.DialogLoad ( Action  onLoad = null)
inline

Definition at line 320 of file WidgetManager.cs.

321 {
323 {
324 string[] array = StandaloneFileBrowser.OpenFilePanel("Load Widget Theme", CorePath.WidgetSave, "json", multiselect: false);
325 if (array.Length != 0)
326 {
327 Load(EMono.player.useSubWidgetTheme, array[0]);
328 Reset(toggleTheme: false);
329 if (onLoad != null)
330 {
331 onLoad();
332 }
333 }
334 });
335 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
static string WidgetSave
Definition: CorePath.cs:190
Definition: EMono.cs:4
static Core core
Definition: EMono.cs:5
static string[] OpenFilePanel(string title, string directory, string extension, bool multiselect)

References EMono.core, if(), SFB.StandaloneFileBrowser.OpenFilePanel(), BaseCore.WaitForEndOfFrame(), and CorePath.WidgetSave.

◆ DialogSave()

void WidgetManager.DialogSave ( Action  onSave = null)
inline

Definition at line 297 of file WidgetManager.cs.

298 {
300 {
301 string text = StandaloneFileBrowser.SaveFilePanel("Save Widget Theme", CorePath.WidgetSave, "new theme", "json");
302 if (!string.IsNullOrEmpty(text))
303 {
304 if (!EMono.debug.enable && (text.Contains("Default.json") || text.Contains("Modern.json") || text.Contains("Classic.json")))
305 {
306 Dialog.Ok("dialogInvalidTheme");
307 }
308 else
309 {
310 Save(text);
311 if (onSave != null)
312 {
313 onSave();
314 }
315 }
316 }
317 });
318 }
bool enable
Definition: CoreDebug.cs:285
static CoreDebug debug
Definition: EMono.cs:45
static string SaveFilePanel(string title, string directory, string defaultName, string extension)

References EMono.core, EMono.debug, CoreDebug.enable, if(), SFB.StandaloneFileBrowser.SaveFilePanel(), BaseCore.WaitForEndOfFrame(), and CorePath.WidgetSave.

◆ GetWidget()

Widget WidgetManager.GetWidget ( string  id)
inline

Definition at line 218 of file WidgetManager.cs.

219 {
220 foreach (Widget item in list)
221 {
222 if (item.gameObject.name == "Widget" + id)
223 {
224 return item;
225 }
226 }
227 return null;
228 }

References item, and list.

Referenced by Activate(), DeactivateWidget(), OnActivateZone(), RefreshWidget(), and Toggle().

◆ Hide()

void WidgetManager.Hide ( )
inline

Definition at line 266 of file WidgetManager.cs.

267 {
268 foreach (Widget item in list)
269 {
271 {
272 item.gameObject.SetActive(value: false);
273 }
274 }
275 }

References item, and list.

Referenced by UI.OnChangeLayer().

◆ KillWidgets()

void WidgetManager.KillWidgets ( )
inline

Definition at line 248 of file WidgetManager.cs.

249 {
250 this.DestroyChildren(destroyInactive: true);
251 list.Clear();
252 first = true;
253 }

References first, and list.

Referenced by OnKillGame(), and Reset().

◆ Load()

void WidgetManager.Load ( bool  isSubTheme,
string  path = null 
)
inline

Definition at line 347 of file WidgetManager.cs.

348 {
349 if (path == null)
350 {
351 path = CorePath.WidgetSave + (isSubTheme ? EMono.core.config.other.idSubWidgetTheme : EMono.core.config.other.idMainWidgetTheme) + ".json";
352 }
353 SaveData saveData = IO.LoadFile<SaveData>(path);
354 if (isSubTheme)
355 {
356 EMono.player.subWidgets = saveData;
357 }
358 else
359 {
360 EMono.player.mainWidgets = saveData;
361 }
362 currentPath = path;
363 }
OtherSetting other
Definition: CoreConfig.cs:606
CoreConfig config
Definition: Core.cs:70
Definition: IO.cs:11
string currentPath

References Core.config, EMono.core, CoreConfig.OtherSetting.idMainWidgetTheme, and CoreConfig.other.

Referenced by OnGameInstantiated().

◆ OnActivateZone()

void WidgetManager.OnActivateZone ( )
inline

Definition at line 28 of file WidgetManager.cs.

29 {
30 if (!first)
31 {
32 return;
33 }
34 first = false;
35 foreach (Widget.Config value in configs.Values)
36 {
37 if (value.state == Widget.State.Active)
38 {
39 ActivateWidget(value);
40 }
41 }
42 bool flag = EMono.ui.layerFloat.GetLayer<LayerInventory>();
43 if (GetWidget("Equip") == null)
44 {
45 if (flag)
46 {
47 Activate("Equip");
48 }
49 }
50 else if (!flag)
51 {
52 DeactivateWidget("Equip");
53 }
54 }
static UI ui
Definition: EMono.cs:15
void Activate(string id)
State
Definition: Widget.cs:141

References Activate(), ActivateWidget(), configs, DeactivateWidget(), first, GetWidget(), and EMono.ui.

Referenced by UI.OnActivateZone(), and Reset().

◆ OnChangeActionMode()

void WidgetManager.OnChangeActionMode ( )
inline

Definition at line 128 of file WidgetManager.cs.

129 {
130 foreach (Widget item in list)
131 {
132 item.OnChangeActionMode();
133 }
134 }

References item, and list.

Referenced by Reset().

◆ OnGameInstantiated()

void WidgetManager.OnGameInstantiated ( )
inline

Definition at line 56 of file WidgetManager.cs.

57 {
58 if (Application.isEditor && EMono.debug.resetPlayerConfig && !EMono.player.isEditor)
59 {
60 EMono.player.useSubWidgetTheme = false;
61 EMono.ui.widgets.Load(isSubTheme: false);
62 }
63 first = true;
65 {
66 if (EMono.player.subWidgets == null)
67 {
68 Load(isSubTheme: true);
69 }
70 }
71 else if (EMono.player.mainWidgets == null)
72 {
73 Load(isSubTheme: false);
74 if (Screen.width <= 1300 && !EMono.player.useSubWidgetTheme)
75 {
76 foreach (KeyValuePair<string, Widget.Config> item in EMono.player.mainWidgets.dict)
77 {
78 if (item.Key == "StatsBar")
79 {
80 item.Value.state = Widget.State.Inactive;
81 }
82 }
83 }
84 }
85 if (metaMap.Count == 0)
86 {
87 foreach (Widget.Meta meta in metas)
88 {
89 metaMap.Add(meta.id, meta);
90 }
91 }
92 foreach (Widget.Meta meta2 in metas)
93 {
94 if (!configs.ContainsKey(meta2.id))
95 {
96 Widget.Config config = new Widget.Config
97 {
98 meta = meta2,
99 valid = true,
100 id = meta2.id,
101 state = ((!meta2.enabled) ? Widget.State.Inactive : Widget.State.Active),
102 locked = meta2.locked
103 };
104 config.skin.SetID(0);
105 configs.Add(meta2.id, config);
106 }
107 else
108 {
109 Widget.Config config2 = configs[meta2.id];
110 config2.valid = true;
111 config2.meta = meta2;
112 }
113 }
114 foreach (Widget.Config item2 in configs.Values.ToList())
115 {
116 if (!item2.valid)
117 {
118 configs.Remove(item2.id);
119 }
120 }
121 }
bool resetPlayerConfig
Definition: CoreDebug.cs:119
static Player player
Definition: EMono.cs:11
bool useSubWidgetTheme
Definition: Player.cs:781
WidgetManager.SaveData subWidgets
Definition: Player.cs:832
WidgetManager.SaveData mainWidgets
Definition: Player.cs:829
bool isEditor
Definition: Player.cs:796
void SetID(int _id)
Definition: SkinConfig.cs:133
List< Widget.Meta > metas
Dictionary< string, Widget.Meta > metaMap
void Load(bool isSubTheme, string path=null)
SkinConfig skin
Definition: Widget.cs:61

References configs, EMono.debug, first, Widget.Config.id, Player.isEditor, item, Load(), Player.mainWidgets, metaMap, metas, EMono.player, CoreDebug.resetPlayerConfig, SkinConfig.SetID(), Widget.Config.skin, Player.subWidgets, EMono.ui, and Player.useSubWidgetTheme.

Referenced by Reset().

◆ OnKillGame()

void WidgetManager.OnKillGame ( )
inline

Definition at line 123 of file WidgetManager.cs.

124 {
125 KillWidgets();
126 }
void KillWidgets()

References KillWidgets().

Referenced by UI.OnKillGame().

◆ RefreshWidget() [1/2]

void WidgetManager.RefreshWidget ( Widget  w)
inline

Definition at line 210 of file WidgetManager.cs.

211 {
212 if ((bool)w)
213 {
214 w.dragPanel.GetComponent<Graphic>().raycastTarget = !w.config.locked;
215 }
216 }

References Widget.config, Widget.dragPanel, and Widget.Config.locked.

◆ RefreshWidget() [2/2]

void WidgetManager.RefreshWidget ( Widget::Config  c)
inline

Definition at line 205 of file WidgetManager.cs.

206 {
208 }

References GetWidget(), and RefreshWidget().

Referenced by ActivateWidget(), RefreshWidget(), and ToggleLock().

◆ Reset()

void WidgetManager.Reset ( bool  toggleTheme)
inline

Definition at line 277 of file WidgetManager.cs.

278 {
280 {
282 }
283 if ((bool)WidgetMainText.Instance)
284 {
285 (WidgetMainText.boxBk = WidgetMainText.Instance.box).transform.SetParent(base.transform.parent, worldPositionStays: false);
286 }
287 KillWidgets();
288 if (toggleTheme)
289 {
290 EMono.player.useSubWidgetTheme = !EMono.player.useSubWidgetTheme;
291 }
295 }
bool isShowingLog
Definition: MsgBox.cs:55
static WidgetMainText Instance
void OnActivateZone()
void OnGameInstantiated()
void OnChangeActionMode()

References WidgetMainText._ToggleLog(), WidgetMainText.box, WidgetMainText.Instance, MsgBox.isShowingLog, KillWidgets(), OnActivateZone(), OnChangeActionMode(), OnGameInstantiated(), EMono.player, and Player.useSubWidgetTheme.

Referenced by HotItemToggleWidget.OnClick().

◆ Save()

void WidgetManager.Save ( string  path = null)
inline

Definition at line 337 of file WidgetManager.cs.

338 {
339 if (path == null)
340 {
341 path = CorePath.WidgetSave + (EMono.player.useSubWidgetTheme ? EMono.core.config.other.idSubWidgetTheme : EMono.core.config.other.idMainWidgetTheme) + ".json";
342 }
345 }
static void SaveFile(string path, object obj, bool compress=false, JsonSerializerSettings setting=null)
Definition: IO.cs:89
WidgetManager.SaveData widgets
Definition: Player.cs:1035
void UpdateConfigs()

References Core.config, EMono.core, CoreConfig.OtherSetting.idMainWidgetTheme, CoreConfig.other, EMono.player, and Player.widgets.

◆ Show()

void WidgetManager.Show ( )
inline

Definition at line 255 of file WidgetManager.cs.

256 {
257 foreach (Widget item in list)
258 {
259 if (item.IsInRightMode())
260 {
261 item.gameObject.SetActive(value: true);
262 }
263 }
264 }

References item, and list.

◆ Toggle() [1/2]

Widget WidgetManager.Toggle ( string  id)
inline

Definition at line 152 of file WidgetManager.cs.

153 {
154 Widget widget = GetWidget(id);
155 if ((bool)widget)
156 {
157 DeactivateWidget(widget);
158 return null;
159 }
160 return ActivateWidget(configs[id]);
161 }

References ActivateWidget(), configs, DeactivateWidget(), and GetWidget().

Referenced by LayerWidget.OnInit().

◆ Toggle() [2/2]

Widget WidgetManager.Toggle ( Widget::Config  c)
inline

Definition at line 163 of file WidgetManager.cs.

164 {
165 Widget widget = GetWidget(c.id);
166 if ((bool)widget)
167 {
168 DeactivateWidget(widget);
169 return null;
170 }
171 return ActivateWidget(c);
172 }

References ActivateWidget(), DeactivateWidget(), and GetWidget().

◆ ToggleLock()

void WidgetManager.ToggleLock ( Widget::Config  c)
inline

Definition at line 174 of file WidgetManager.cs.

175 {
176 c.locked = !c.locked;
177 RefreshWidget(c);
178 }
bool locked
Definition: Widget.cs:55

References RefreshWidget().

Referenced by LayerWidget.OnInit().

◆ UpdateConfigs()

void WidgetManager.UpdateConfigs ( )
inline

Definition at line 136 of file WidgetManager.cs.

137 {
138 foreach (Widget item in list)
139 {
140 item.UpdateConfig();
141 }
142 }

References item, and list.

Referenced by HotItemToggleWidget.OnClick().

Member Data Documentation

◆ currentPath

string WidgetManager.currentPath

Definition at line 17 of file WidgetManager.cs.

◆ first

bool WidgetManager.first
private

Definition at line 22 of file WidgetManager.cs.

Referenced by KillWidgets(), OnActivateZone(), and OnGameInstantiated().

◆ list

List<Widget> WidgetManager.list = new List<Widget>()

◆ metaMap

Dictionary<string, Widget.Meta> WidgetManager.metaMap = new Dictionary<string, Widget.Meta>()

Definition at line 15 of file WidgetManager.cs.

Referenced by OnGameInstantiated().

Property Documentation

◆ configs

Dictionary<string, Widget.Config> WidgetManager.configs
get

Definition at line 26 of file WidgetManager.cs.

Referenced by Activate(), OnActivateZone(), OnGameInstantiated(), and Toggle().

◆ metas

List<Widget.Meta> WidgetManager.metas
get

Definition at line 24 of file WidgetManager.cs.

Referenced by OnGameInstantiated().


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