Elin Decompiled Documentation EA 23.344.1 Nightly
Loading...
Searching...
No Matches
Widget.cs
Go to the documentation of this file.
1using System;
2using Newtonsoft.Json;
3using UnityEngine;
4using UnityEngine.UI;
5
7{
8 [Serializable]
9 public class Meta
10 {
11 public string id;
12
13 public bool enabled;
14
15 public bool locked;
16
17 public bool debugOnly;
18
19 public bool system;
20
22
23 public GameMode mode;
24
25 public override string ToString()
26 {
27 return id;
28 }
29 }
30
31 public enum WidgetType
32 {
33 Default,
35 }
36
37 public class Config
38 {
39 public State state;
40
42
44
46
47 public string id;
48
49 public string titleLang;
50
51 public float x;
52
53 public float y;
54
55 public bool locked;
56
57 public bool RC;
58
59 public object extra;
60
61 public SkinConfig skin = new SkinConfig();
62
63 [JsonIgnore]
64 public bool valid;
65
66 [JsonIgnore]
67 public bool annoyPlayer;
68
69 [JsonIgnore]
70 public Meta meta;
71
72 [JsonIgnore]
74
75 [JsonIgnore]
76 public bool IsSealed
77 {
78 get
79 {
80 if (IsSystem)
81 {
83 }
84 return false;
85 }
86 }
87
88 [JsonIgnore]
89 public bool IsSystem
90 {
91 get
92 {
93 if (!meta.system)
94 {
95 return annoyPlayer;
96 }
97 return true;
98 }
99 }
100
101 public bool IsInRightMode()
102 {
103 ActionMode actionMode = EMono.scene.actionMode;
104 if (actionMode.ShowBuildWidgets)
105 {
106 return mode.HasFlag(GameMode.Build);
107 }
108 if (actionMode == ActionMode.NoMap || actionMode == ActionMode.NewZone || actionMode == ActionMode.ViewMap)
109 {
110 return mode.HasFlag(GameMode.NoMap);
111 }
112 if (actionMode == ActionMode.Bird)
113 {
114 return mode.HasFlag(GameMode.Bird);
115 }
117 {
118 return mode.HasFlag(GameMode.Sim);
119 }
121 {
122 return mode.HasFlag(GameMode.EloMap);
123 }
125 {
126 if (actionMode == ActionMode.Region && !mode.HasFlag(GameMode.EloMap))
127 {
128 return false;
129 }
130 if (!ActionMode.Adv.zoomOut && meta.type == WidgetType.ZoomMenu)
131 {
132 return false;
133 }
134 return mode.HasFlag(GameMode.Adv);
135 }
136 return false;
137 }
138 }
139
140 public enum State
141 {
142 Active,
144 }
145
146 private string _ID;
147
149
150 public Image imageBG;
151
152 public SoundData soundActivate;
153
155
156 private RectTransform _rect;
157
158 public RectTransform tipPivotLeft;
159
160 public RectTransform tipPivotRight;
161
163
164 protected bool flip;
165
166 private GameObject goCover;
167
168 public string ID
169 {
170 get
171 {
172 if (_ID == null)
173 {
174 return _ID = base.name.Replace("Widget", "").Replace("(Clone)", "");
175 }
176 return _ID;
177 }
178 }
179
181
182 public SkinRoot skinRoot => _skinRoot ?? (_skinRoot = GetComponent<SkinRoot>());
183
184 public bool IsSealed
185 {
186 get
187 {
188 if (config.meta.system)
189 {
191 }
192 return false;
193 }
194 }
195
196 public virtual bool ShowStyleMenu => true;
197
198 public virtual bool AlwaysTop => false;
199
200 public virtual bool IsStaticPosition => false;
201
202 public virtual bool AlwaysBottom => false;
203
204 public virtual Type SetSiblingAfter => null;
205
206 public virtual bool ShowInBuildMode => config.mode.HasFlag(GameMode.Build);
207
208 public virtual bool RightClickToClose => config.RC;
209
210 public virtual bool AllowRightClickToClose => false;
211
212 public void Test()
213 {
214 }
215
216 public bool IsInRightMode()
217 {
219 {
220 return true;
221 }
222 return config.IsInRightMode();
223 }
224
225 public void Activate()
226 {
227 _rect = this.Rect();
228 config.state = State.Active;
229 if (config.extra == null)
230 {
231 config.extra = CreateExtra();
232 }
233 if (!dragPanel)
234 {
235 dragPanel = GetComponentInChildren<UIDragPanel>();
236 }
238 {
239 dragPanel.enable = false;
240 }
241 else
242 {
243 dragPanel.autoAnchor = config.userAnchor == RectPosition.Auto;
244 if (config.userAnchor != RectPosition.Auto)
245 {
246 _rect.SetAnchor(config.userAnchor);
247 }
248 else
249 {
250 _rect.SetAnchor(config.anchor);
251 }
252 _rect.anchoredPosition = new Vector2(config.x, config.y);
253 dragPanel.onDrag = OnChangePosition;
254 }
256 OnActivate();
257 if (this == null)
258 {
259 return;
260 }
261 flip = _rect.position.x > (float)Screen.width * 0.5f;
262 OnFlip();
265 foreach (SkinDeco deco in config.skin.decos)
266 {
267 InstantiateDeco(deco);
268 }
269 RefreshOrder();
270 }
271
272 public void RefreshOrder()
273 {
274 if (!AlwaysBottom)
275 {
276 return;
277 }
278 Type setSiblingAfter = SetSiblingAfter;
279 bool flag = false;
280 if (setSiblingAfter != null)
281 {
282 foreach (Widget item in EMono.ui.widgets.list)
283 {
284 if (item.GetType() == setSiblingAfter)
285 {
286 base.transform.SetSiblingIndex(item.transform.GetSiblingIndex() + 1);
287 flag = true;
288 break;
289 }
290 }
291 }
292 if (!flag)
293 {
294 base.transform.SetAsFirstSibling();
295 }
296 }
297
298 public virtual void OnActivate()
299 {
300 }
301
302 public virtual object CreateExtra()
303 {
304 return null;
305 }
306
307 public void Deactivate()
308 {
309 OnDeactivate();
310 config.state = State.Inactive;
311 UpdateConfig();
312 UnityEngine.Object.DestroyImmediate(base.gameObject);
313 }
314
315 public virtual void OnDeactivate()
316 {
317 }
318
319 public void Close()
320 {
321 EMono.ui.widgets.DeactivateWidget(this);
322 }
323
324 public void Reactivate()
325 {
326 EMono.ui.widgets.DeactivateWidget(this);
327 EMono.ui.widgets.ActivateWidget(config);
328 }
329
330 public virtual void OnManagerActivate()
331 {
332 if (!(this == null) && (bool)this)
333 {
334 goCover = Util.Instantiate("UI/Widget/CoverWidget", base.transform).gameObject;
335 RectTransform rectTransform = goCover.transform.Rect();
336 RectTransform rectTransform2 = dragPanel.Rect();
337 if ((bool)rectTransform && (bool)rectTransform2)
338 {
339 rectTransform.pivot = rectTransform2.pivot;
340 rectTransform.anchorMin = rectTransform2.anchorMin;
341 rectTransform.anchorMax = rectTransform2.anchorMax;
342 rectTransform.anchoredPosition = rectTransform2.anchoredPosition;
343 rectTransform.sizeDelta = rectTransform2.sizeDelta;
344 }
345 UIDragPanel componentInChildren = goCover.GetComponentInChildren<UIDragPanel>();
346 componentInChildren.autoAnchor = config.userAnchor == RectPosition.Auto;
347 componentInChildren.onDrag = OnChangePosition;
348 componentInChildren.container = dragPanel.container;
349 componentInChildren.target = dragPanel.target;
350 componentInChildren.bound = dragPanel.bound;
351 if (this is WidgetSideScreen)
352 {
353 componentInChildren.enable = false;
354 }
355 goCover.GetComponentInChildren<UIText>().SetText(("Widget" + ID).lang());
356 }
357 }
358
359 public virtual void OnManagerDeactivate()
360 {
361 UnityEngine.Object.DestroyImmediate(goCover);
362 }
363
364 public void SetAnchor(RectPosition p)
365 {
366 config.userAnchor = p;
367 dragPanel.autoAnchor = p == RectPosition.Auto;
368 _rect.SetAnchor(p);
369 }
370
372 {
373 return p switch
374 {
375 RectPosition.TopCenter => TextAnchor.UpperCenter,
376 RectPosition.BottomCenter => TextAnchor.LowerCenter,
377 RectPosition.TopLEFT => TextAnchor.UpperLeft,
378 RectPosition.BottomLEFT => TextAnchor.LowerLeft,
379 RectPosition.TopRIGHT => TextAnchor.UpperRight,
380 RectPosition.BottomRIGHT => TextAnchor.LowerRight,
381 RectPosition.Left => TextAnchor.MiddleLeft,
382 RectPosition.Right => TextAnchor.MiddleRight,
383 _ => TextAnchor.MiddleCenter,
384 };
385 }
386
387 public void SetPivot(RectPosition p)
388 {
389 config.pivot = p;
390 RectTransform rectTransform = this.Rect();
391 Vector3 position = base.transform.position;
392 switch (p)
393 {
394 case RectPosition.TopCenter:
395 rectTransform.pivot = new Vector2(0.5f, 1f);
396 break;
397 case RectPosition.BottomCenter:
398 rectTransform.pivot = new Vector2(0.5f, 0f);
399 break;
400 case RectPosition.TopLEFT:
401 rectTransform.pivot = new Vector2(0f, 1f);
402 break;
403 case RectPosition.BottomLEFT:
404 rectTransform.pivot = new Vector2(0f, 0f);
405 break;
406 case RectPosition.TopRIGHT:
407 rectTransform.pivot = new Vector2(1f, 1f);
408 break;
409 case RectPosition.BottomRIGHT:
410 rectTransform.pivot = new Vector2(1f, 0f);
411 break;
412 case RectPosition.Left:
413 rectTransform.pivot = new Vector2(0f, 0.5f);
414 break;
415 case RectPosition.Right:
416 rectTransform.pivot = new Vector2(1f, 0.5f);
417 break;
418 default:
419 rectTransform.pivot = new Vector2(0.5f, 0.5f);
420 break;
421 }
422 base.transform.position = position;
425 }
426
427 public virtual void OnChangePivot()
428 {
429 }
430
431 public void UpdateConfig()
432 {
433 config.anchor = _rect.GetAnchor();
434 config.x = _rect.anchoredPosition.x;
435 config.y = _rect.anchoredPosition.y;
437 }
438
439 public virtual void OnUpdateConfig()
440 {
441 }
442
443 protected void ClampToScreenEnsured(Component c, Vector2 anchoredPos)
444 {
445 RectTransform rectTransform = c.Rect();
446 rectTransform.anchoredPosition = anchoredPos;
447 rectTransform.RebuildLayout();
448 rectTransform.ForceUpdateRectTransforms();
449 ClampToScreen(rectTransform);
450 rectTransform.anchoredPosition = anchoredPos;
451 rectTransform.RebuildLayout();
452 rectTransform.ForceUpdateRectTransforms();
453 ClampToScreen(rectTransform);
454 }
455
456 public void ClampToScreen()
457 {
458 ClampToScreen(this.Rect());
459 }
460
461 protected void ClampToScreen(RectTransform rect, float margin = 10f)
462 {
464 {
465 Vector3 position = rect.position;
466 Vector2 vector = new Vector2(margin, margin);
467 Vector2 vector2 = new Vector2((float)Screen.width - margin, (float)Screen.height - margin);
468 Vector3 vector3 = vector - rect.rect.min;
469 Vector3 vector4 = vector2 - rect.rect.max;
470 position.x = Mathf.Clamp(position.x, vector3.x - 20f, vector4.x + 20f);
471 position.y = Mathf.Clamp(position.y, vector3.y - 20f, vector4.y + 20f);
472 rect.position = position;
473 }
474 }
475
476 public virtual void OnChangeResolution()
477 {
478 ClampToScreen(this.Rect());
479 }
480
481 public void OnChangePosition()
482 {
483 bool flag = this.Rect().position.x > (float)Screen.width * 0.5f;
484 if (flip != flag)
485 {
486 flip = flag;
487 OnFlip();
488 }
490 }
491
492 public virtual void OnChangeActionMode()
493 {
494 this.SetActive(IsInRightMode());
495 }
496
497 public virtual void OnFlip()
498 {
499 }
500
501 public bool IsAlignTop()
502 {
503 RectPosition anchor = this.Rect().GetAnchor();
504 if (anchor != RectPosition.TopCenter && anchor != RectPosition.TopLEFT)
505 {
506 return anchor == RectPosition.TopRIGHT;
507 }
508 return true;
509 }
510
511 public Layer AddLayer(Layer l, Transform trans)
512 {
514 l.gameObject.SetActive(value: true);
515 l.transform.SetParent(trans, worldPositionStays: false);
516 l.Init();
517 l.OnAfterAddLayer();
518 Window window = l.windows[0];
519 RectTransform rectTransform = l.Rect();
520 RectTransform rectTransform2 = window.Rect();
521 rectTransform.sizeDelta = window.Rect().sizeDelta;
522 rectTransform.SetPivot(0.5f, 0.5f);
523 rectTransform.SetAnchor(0.5f, 0.5f, 0.5f, 0.5f);
524 rectTransform2.SetPivot(0.5f, 0.5f);
525 rectTransform2.SetAnchor(0.5f, 0.5f, 0.5f, 0.5f);
526 rectTransform2.anchoredPosition = Vector2.zero;
527 window.setting.allowMove = (window.setting.allowResize = false);
528 window.setting.saveWindow = false;
529 window.bgCollider.SetActive(enable: false);
530 return l;
531 }
532
534 {
535 bool flag = (float)(Screen.width / 2 - 40) > base.transform.position.x;
536 if ((bool)tipPivotLeft)
537 {
538 tipPivotLeft.SetActive(!flag || !tipPivotRight);
539 }
540 if ((bool)tipPivotRight)
541 {
542 tipPivotRight.SetActive(flag || !tipPivotLeft);
543 }
544 }
545
547 {
549 }
550
552 {
553 return config.skin;
554 }
555
556 public void SetSkin(int id, int v = 0)
557 {
558 SkinConfig skin = config.skin;
559 if (skin.id != id)
560 {
561 skin.SetID(id);
562 }
563 skin.id = id;
564 skin.bg = v;
565 skin.bgColor = skin.BG.color;
566 ApplySkin();
567 }
568
569 public void TestSkin()
570 {
571 config.skin.SetID();
572 ApplySkin();
573 }
574
575 public virtual void ApplySkin()
576 {
577 SkinRoot component = GetComponent<SkinRoot>();
578 if ((bool)component)
579 {
580 component.Reset();
581 IUISkin[] componentsInChildren = GetComponentsInChildren<IUISkin>(includeInactive: true);
582 for (int i = 0; i < componentsInChildren.Length; i++)
583 {
584 componentsInChildren[i].ApplySkin();
585 }
586 OnApplySkin();
587 }
588 }
589
590 public virtual void OnApplySkin()
591 {
592 }
593
594 public void InstantiateDeco(SkinDeco deco)
595 {
596 SkinDecoActor skinDecoActor = (deco.actor = Util.Instantiate<SkinDecoActor>("UI/Widget/SkinDecoActor", base.transform));
597 skinDecoActor.owner = deco;
598 skinDecoActor.image.sprite = ResourceCache.Load<Sprite>("Media/Graphics/Deco/deco" + deco.id);
599 skinDecoActor.Rect().anchoredPosition = new Vector2(deco.x, deco.y);
600 skinDecoActor.Refresh();
601 }
602
603 public void AddDeco(SkinDeco deco)
604 {
605 config.skin.decos.Add(deco);
606 InstantiateDeco(deco);
607 }
608
609 public void RemoveDeco(SkinDeco deco)
610 {
611 config.skin.decos.Remove(deco);
612 UnityEngine.Object.DestroyImmediate(deco.actor.gameObject);
613 }
614
615 public virtual bool CanShowContextMenu()
616 {
617 return true;
618 }
619
620 public void ShowContextMenu()
621 {
622 UIContextMenu uIContextMenu = EMono.ui.CreateContextMenu();
623 OnSetContextMenu(uIContextMenu);
624 uIContextMenu.Show();
625 }
626
628 {
629 SkinConfig cfg = config.skin;
630 if (!(this is WidgetSideScreen))
631 {
632 UIContextMenu uIContextMenu = m.AddChild("anchor");
633 foreach (RectPosition p in Util.EnumToList<RectPosition>())
634 {
635 uIContextMenu.AddButton(((config.userAnchor == p) ? "★ " : "") + p.ToString().lang(), delegate
636 {
637 SetAnchor(p);
638 SE.ClickGeneral();
639 m.Hide();
640 });
641 }
642 uIContextMenu = m.AddChild("pivot");
643 foreach (RectPosition p2 in Util.EnumToList<RectPosition>())
644 {
645 uIContextMenu.AddButton(((config.pivot == p2) ? "★ " : "") + p2.ToString().lang(), delegate
646 {
647 SetPivot(p2);
648 SE.ClickGeneral();
649 m.Hide();
650 });
651 }
652 }
653 UIContextMenuItem sliderB = null;
654 Action Refresh = delegate
655 {
656 int num = EMono.ui.skins.skinSets[cfg.id].bgs.Count - 1;
657 sliderB.slider.maxValue = num;
658 sliderB.slider.value = cfg.bg;
659 sliderB.textSlider.text = cfg.bg + "/" + (EMono.ui.skins.skinSets[cfg.id].bgs.Count - 1);
660 };
661 if (ShowStyleMenu)
662 {
663 UIContextMenu uIContextMenu2 = m.AddOrGetChild("style");
664 sliderB = uIContextMenu2.AddSlider("changeBG", (float n) => n + "/" + (EMono.ui.skins.skinSets[cfg.id].bgs.Count - 1), cfg.bg, delegate(float a)
665 {
666 SetSkin(cfg.id, (int)a);
667 Refresh();
668 }, 0f, EMono.ui.skins.skinSets[cfg.id].bgs.Count - 1, isInt: true);
669 uIContextMenu2.AddSlider("bgSize", (float n) => n.ToString() ?? "", cfg.bgSize, delegate(float a)
670 {
671 cfg.bgSize = (int)a;
672 ApplySkin();
673 }, -50f, 50f, isInt: true);
674 uIContextMenu2.AddButton("colorBG", delegate
675 {
676 if (EMono.ui.skins.skinSets[cfg.id].bgs[cfg.bg].redirect != SkinAssetRedirect.None)
677 {
678 SE.Beep();
679 }
680 else
681 {
682 EMono.ui.AddLayer<LayerColorPicker>().SetColor(cfg.bgColor, EMono.ui.skins.skinSets[cfg.id].bgs[cfg.bg].color, delegate(PickerState state, Color _c)
683 {
684 cfg.bgColor = _c;
685 ApplySkin();
686 });
687 }
688 });
689 uIContextMenu2.AddButton("editDeco", delegate
690 {
691 EMono.ui.AddLayer<LayerSkinDeco>().SetWidget(this);
692 });
693 }
695 {
696 m.AddToggle("RC_widget", config.RC, delegate(bool a)
697 {
698 config.RC = a;
699 });
700 }
701 m.AddButton(() => (config.locked ? "unlockWidget" : "lockWidget").lang(), delegate
702 {
703 EMono.ui.widgets.ToggleLock(config);
704 SE.ClickGeneral();
705 m.Hide();
706 EMono.ui.GetLayer<LayerWidget>()?.Refresh();
707 });
708 if (IsSealed)
709 {
710 return;
711 }
712 m.AddButton("closeWidget", delegate
713 {
714 if (this is WidgetQuestTracker)
715 {
716 EMono.player.questTracker = false;
717 }
718 EMono.ui.widgets.DeactivateWidget(this);
719 EMono.ui.GetLayer<LayerWidget>()?.Refresh();
720 });
721 }
722
723 public virtual void OnSetContextMenu(UIContextMenu m)
724 {
726 }
727
729 {
730 SkinConfig cfg = config.skin;
731 m.AddSlider("skinGrid", (float n) => n.ToString() ?? "", cfg.grid, delegate(float a)
732 {
733 cfg.grid = (int)a;
734 cfg.gridColor = cfg.Grid.color;
735 ApplySkin();
736 }, 0f, cfg.Skin.bgGrid.Count - 1, isInt: true);
737 m.AddButton("colorGrid", delegate
738 {
739 EMono.ui.AddLayer<LayerColorPicker>().SetColor(cfg.gridColor, cfg.Grid.color, delegate(PickerState state, Color _c)
740 {
741 cfg.gridColor = _c;
742 ApplySkin();
743 });
744 });
745 }
746
747 public void SoundActivate()
748 {
750 }
751}
if(!match.Success)
GameMode
Definition: GameMode.cs:5
PickerState
Definition: PickerState.cs:2
RectPosition
Definition: RectPosition.cs:2
SkinAssetRedirect
bool zoomOut
Definition: AM_Adv.cs:104
static AM_Sim Sim
Definition: ActionMode.cs:11
static AM_Region Region
Definition: ActionMode.cs:17
static bool IsAdv
Definition: ActionMode.cs:117
static AM_ViewMap ViewMap
Definition: ActionMode.cs:63
static ActionMode DefaultMode
Definition: ActionMode.cs:7
static AM_NewZone NewZone
Definition: ActionMode.cs:29
virtual bool ShowBuildWidgets
Definition: ActionMode.cs:183
static AM_ViewZone View
Definition: ActionMode.cs:13
static AM_EloMap EloMap
Definition: ActionMode.cs:21
static AM_NoMap NoMap
Definition: ActionMode.cs:25
static AM_Bird Bird
Definition: ActionMode.cs:31
static AM_Adv Adv
Definition: ActionMode.cs:15
CoreConfig config
Definition: Core.cs:70
Definition: EMono.cs:4
static Core core
Definition: EMono.cs:5
static Player player
Definition: EMono.cs:11
static Scene scene
Definition: EMono.cs:27
static UI ui
Definition: EMono.cs:15
static SoundManager Sound
Definition: EMono.cs:39
Definition: Layer.cs:9
virtual void OnAfterAddLayer()
Definition: Layer.cs:379
virtual void Init()
Definition: Layer.cs:163
virtual void OnBeforeAddLayer()
Definition: Layer.cs:375
List< Window > windows
Definition: Layer.cs:116
WidgetManager.SaveData widgets
Definition: Player.cs:1309
ActionMode actionMode
Definition: Scene.cs:79
SpriteAsset Grid
Definition: SkinConfig.cs:106
SkinAsset_BG BG
Definition: SkinConfig.cs:93
Color bgColor
Definition: SkinConfig.cs:67
List< SkinDeco > decos
Definition: SkinConfig.cs:9
int bgSize
Definition: SkinConfig.cs:31
Color gridColor
Definition: SkinConfig.cs:79
void SetID(int _id)
Definition: SkinConfig.cs:133
int id
Definition: SkinDeco.cs:16
int x
Definition: SkinDeco.cs:28
SkinDecoActor actor
Definition: SkinDeco.cs:8
int y
Definition: SkinDeco.cs:40
List< SkinSet > skinSets
Definition: SkinManager.cs:49
static SkinManager Instance
Definition: SkinManager.cs:78
void Reset()
Definition: SkinRoot.cs:76
Color color
Definition: SpriteAsset.cs:7
UIContextMenuItem AddToggle(string idLang="", bool isOn=false, UnityAction< bool > action=null)
void Show(UIItem i)
UIContextMenuItem AddSlider(string text, Func< float, string > textFunc, float value, Action< float > action, float min=0f, float max=1f, bool isInt=false, bool hideOther=true, bool useInput=false)
UIContextMenu AddOrGetChild(string idLang="Child")
void AddButton(Func< string > funcText, UnityAction action=null)
UIContextMenu AddChild(string idLang, TextAnchor anchor)
RectTransform bound
Definition: UIDragPanel.cs:15
RectTransform target
Definition: UIDragPanel.cs:13
RectTransform container
Definition: UIDragPanel.cs:17
Definition: UIText.cs:6
bool valid
Definition: Widget.cs:64
Meta meta
Definition: Widget.cs:70
RectPosition anchor
Definition: Widget.cs:41
bool RC
Definition: Widget.cs:57
string titleLang
Definition: Widget.cs:49
bool annoyPlayer
Definition: Widget.cs:67
float y
Definition: Widget.cs:53
object extra
Definition: Widget.cs:59
State state
Definition: Widget.cs:39
SkinConfig skin
Definition: Widget.cs:61
bool locked
Definition: Widget.cs:55
string id
Definition: Widget.cs:47
float x
Definition: Widget.cs:51
bool IsSealed
Definition: Widget.cs:77
RectPosition userAnchor
Definition: Widget.cs:43
GameMode mode
Definition: Widget.cs:73
bool IsInRightMode()
Definition: Widget.cs:101
bool IsSystem
Definition: Widget.cs:90
RectPosition pivot
Definition: Widget.cs:45
bool enabled
Definition: Widget.cs:13
bool locked
Definition: Widget.cs:15
bool debugOnly
Definition: Widget.cs:17
override string ToString()
Definition: Widget.cs:25
WidgetType type
Definition: Widget.cs:21
string id
Definition: Widget.cs:11
GameMode mode
Definition: Widget.cs:23
bool system
Definition: Widget.cs:19
Definition: Widget.cs:7
void RemoveDeco(SkinDeco deco)
Definition: Widget.cs:609
GameObject goCover
Definition: Widget.cs:166
virtual bool RightClickToClose
Definition: Widget.cs:208
void Deactivate()
Definition: Widget.cs:307
void ShowContextMenu()
Definition: Widget.cs:620
virtual void ApplySkin()
Definition: Widget.cs:575
void AddDeco(SkinDeco deco)
Definition: Widget.cs:603
void SetBaseContextMenu(UIContextMenu m)
Definition: Widget.cs:627
void SetAnchor(RectPosition p)
Definition: Widget.cs:364
bool IsAlignTop()
Definition: Widget.cs:501
void SetGridContextMenu(UIContextMenu m)
Definition: Widget.cs:728
virtual Type SetSiblingAfter
Definition: Widget.cs:204
void UpdateConfig()
Definition: Widget.cs:431
string ID
Definition: Widget.cs:169
virtual bool ShowInBuildMode
Definition: Widget.cs:206
virtual void OnChangeResolution()
Definition: Widget.cs:476
RectTransform tipPivotLeft
Definition: Widget.cs:158
bool IsSealed
Definition: Widget.cs:185
virtual void OnActivate()
Definition: Widget.cs:298
Layer AddLayer(Layer l, Transform trans)
Definition: Widget.cs:511
RectTransform tipPivotRight
Definition: Widget.cs:160
void OnChangePosition()
Definition: Widget.cs:481
bool flip
Definition: Widget.cs:164
string _ID
Definition: Widget.cs:146
WidgetType
Definition: Widget.cs:32
void Activate()
Definition: Widget.cs:225
void ClampToScreenEnsured(Component c, Vector2 anchoredPos)
Definition: Widget.cs:443
UIDragPanel dragPanel
Definition: Widget.cs:154
TextAnchor RectPositionToTextAnchor(RectPosition p)
Definition: Widget.cs:371
virtual bool AlwaysTop
Definition: Widget.cs:198
SoundData soundActivate
Definition: Widget.cs:152
SkinRoot _skinRoot
Definition: Widget.cs:162
virtual bool IsStaticPosition
Definition: Widget.cs:200
void SetPivot(RectPosition p)
Definition: Widget.cs:387
void Reactivate()
Definition: Widget.cs:324
void TestSkin()
Definition: Widget.cs:569
virtual bool AlwaysBottom
Definition: Widget.cs:202
virtual void OnUpdateConfig()
Definition: Widget.cs:439
void InstantiateDeco(SkinDeco deco)
Definition: Widget.cs:594
void SetSkin(int id, int v=0)
Definition: Widget.cs:556
State
Definition: Widget.cs:141
void Close()
Definition: Widget.cs:319
Config _config
Definition: Widget.cs:148
virtual bool AllowRightClickToClose
Definition: Widget.cs:210
virtual void OnDeactivate()
Definition: Widget.cs:315
void Test()
Definition: Widget.cs:212
void SoundActivate()
Definition: Widget.cs:747
virtual void OnApplySkin()
Definition: Widget.cs:590
virtual void OnManagerActivate()
Definition: Widget.cs:330
bool IsInRightMode()
Definition: Widget.cs:216
void ClampToScreen()
Definition: Widget.cs:456
virtual void OnSetContextMenu(UIContextMenu m)
Definition: Widget.cs:723
virtual bool CanShowContextMenu()
Definition: Widget.cs:615
virtual void OnChangeActionMode()
Definition: Widget.cs:492
virtual void OnChangePivot()
Definition: Widget.cs:427
Image imageBG
Definition: Widget.cs:150
RectTransform _rect
Definition: Widget.cs:156
virtual bool ShowStyleMenu
Definition: Widget.cs:196
void RefreshTipPivotPosition()
Definition: Widget.cs:533
SkinConfig GetSkinConfig()
Definition: Widget.cs:551
virtual object CreateExtra()
Definition: Widget.cs:302
Config config
Definition: Widget.cs:180
void RefreshOrder()
Definition: Widget.cs:272
virtual void OnManagerDeactivate()
Definition: Widget.cs:359
void ClampToScreen(RectTransform rect, float margin=10f)
Definition: Widget.cs:461
SkinSet GetSkin()
Definition: Widget.cs:546
SkinRoot skinRoot
Definition: Widget.cs:182
virtual void OnFlip()
Definition: Widget.cs:497
Definition: Window.cs:13
UICollider bgCollider
Definition: Window.cs:670
void SetAnchor()
Definition: Window.cs:1594
void ApplySkin()