Elin Decompiled Documentation EA 23.299 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 != 0)
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 goCover = Util.Instantiate("UI/Widget/CoverWidget", base.transform).gameObject;
333 RectTransform rectTransform = goCover.transform.Rect();
334 RectTransform rectTransform2 = dragPanel.Rect();
335 if ((bool)rectTransform && (bool)rectTransform2)
336 {
337 rectTransform.pivot = rectTransform2.pivot;
338 rectTransform.anchorMin = rectTransform2.anchorMin;
339 rectTransform.anchorMax = rectTransform2.anchorMax;
340 rectTransform.anchoredPosition = rectTransform2.anchoredPosition;
341 rectTransform.sizeDelta = rectTransform2.sizeDelta;
342 }
343 UIDragPanel componentInChildren = goCover.GetComponentInChildren<UIDragPanel>();
344 componentInChildren.autoAnchor = config.userAnchor == RectPosition.Auto;
345 componentInChildren.onDrag = OnChangePosition;
346 componentInChildren.container = dragPanel.container;
347 componentInChildren.target = dragPanel.target;
348 componentInChildren.bound = dragPanel.bound;
349 if (this is WidgetSideScreen)
350 {
351 componentInChildren.enable = false;
352 }
353 goCover.GetComponentInChildren<UIText>().SetText(("Widget" + ID).lang());
354 }
355
356 public virtual void OnManagerDeactivate()
357 {
358 UnityEngine.Object.DestroyImmediate(goCover);
359 }
360
361 public void SetAnchor(RectPosition p)
362 {
363 config.userAnchor = p;
364 dragPanel.autoAnchor = p == RectPosition.Auto;
365 _rect.SetAnchor(p);
366 }
367
369 {
370 return p switch
371 {
372 RectPosition.TopCenter => TextAnchor.UpperCenter,
373 RectPosition.BottomCenter => TextAnchor.LowerCenter,
374 RectPosition.TopLEFT => TextAnchor.UpperLeft,
375 RectPosition.BottomLEFT => TextAnchor.LowerLeft,
376 RectPosition.TopRIGHT => TextAnchor.UpperRight,
377 RectPosition.BottomRIGHT => TextAnchor.LowerRight,
378 RectPosition.Left => TextAnchor.MiddleLeft,
379 RectPosition.Right => TextAnchor.MiddleRight,
380 _ => TextAnchor.MiddleCenter,
381 };
382 }
383
384 public void SetPivot(RectPosition p)
385 {
386 config.pivot = p;
387 RectTransform rectTransform = this.Rect();
388 Vector3 position = base.transform.position;
389 switch (p)
390 {
391 case RectPosition.TopCenter:
392 rectTransform.pivot = new Vector2(0.5f, 1f);
393 break;
394 case RectPosition.BottomCenter:
395 rectTransform.pivot = new Vector2(0.5f, 0f);
396 break;
397 case RectPosition.TopLEFT:
398 rectTransform.pivot = new Vector2(0f, 1f);
399 break;
400 case RectPosition.BottomLEFT:
401 rectTransform.pivot = new Vector2(0f, 0f);
402 break;
403 case RectPosition.TopRIGHT:
404 rectTransform.pivot = new Vector2(1f, 1f);
405 break;
406 case RectPosition.BottomRIGHT:
407 rectTransform.pivot = new Vector2(1f, 0f);
408 break;
409 case RectPosition.Left:
410 rectTransform.pivot = new Vector2(0f, 0.5f);
411 break;
412 case RectPosition.Right:
413 rectTransform.pivot = new Vector2(1f, 0.5f);
414 break;
415 default:
416 rectTransform.pivot = new Vector2(0.5f, 0.5f);
417 break;
418 }
419 base.transform.position = position;
422 }
423
424 public virtual void OnChangePivot()
425 {
426 }
427
428 public void UpdateConfig()
429 {
430 config.anchor = _rect.GetAnchor();
431 config.x = _rect.anchoredPosition.x;
432 config.y = _rect.anchoredPosition.y;
434 }
435
436 public virtual void OnUpdateConfig()
437 {
438 }
439
440 protected void ClampToScreenEnsured(Component c, Vector2 anchoredPos)
441 {
442 RectTransform rectTransform = c.Rect();
443 rectTransform.anchoredPosition = anchoredPos;
444 rectTransform.RebuildLayout();
445 rectTransform.ForceUpdateRectTransforms();
446 ClampToScreen(rectTransform);
447 rectTransform.anchoredPosition = anchoredPos;
448 rectTransform.RebuildLayout();
449 rectTransform.ForceUpdateRectTransforms();
450 ClampToScreen(rectTransform);
451 }
452
453 public void ClampToScreen()
454 {
455 ClampToScreen(this.Rect());
456 }
457
458 protected void ClampToScreen(RectTransform rect, float margin = 10f)
459 {
461 {
462 Vector3 position = rect.position;
463 Vector2 vector = new Vector2(margin, margin);
464 Vector2 vector2 = new Vector2((float)Screen.width - margin, (float)Screen.height - margin);
465 Vector3 vector3 = vector - rect.rect.min;
466 Vector3 vector4 = vector2 - rect.rect.max;
467 position.x = Mathf.Clamp(position.x, vector3.x - 20f, vector4.x + 20f);
468 position.y = Mathf.Clamp(position.y, vector3.y - 20f, vector4.y + 20f);
469 rect.position = position;
470 }
471 }
472
473 public virtual void OnChangeResolution()
474 {
475 ClampToScreen(this.Rect());
476 }
477
478 public void OnChangePosition()
479 {
480 bool flag = this.Rect().position.x > (float)Screen.width * 0.5f;
481 if (flip != flag)
482 {
483 flip = flag;
484 OnFlip();
485 }
487 }
488
489 public virtual void OnChangeActionMode()
490 {
491 this.SetActive(IsInRightMode());
492 }
493
494 public virtual void OnFlip()
495 {
496 }
497
498 public bool IsAlignTop()
499 {
500 RectPosition anchor = this.Rect().GetAnchor();
501 if (anchor != RectPosition.TopCenter && anchor != RectPosition.TopLEFT)
502 {
503 return anchor == RectPosition.TopRIGHT;
504 }
505 return true;
506 }
507
508 public Layer AddLayer(Layer l, Transform trans)
509 {
511 l.gameObject.SetActive(value: true);
512 l.transform.SetParent(trans, worldPositionStays: false);
513 l.Init();
514 l.OnAfterAddLayer();
515 Window window = l.windows[0];
516 RectTransform rectTransform = l.Rect();
517 RectTransform rectTransform2 = window.Rect();
518 rectTransform.sizeDelta = window.Rect().sizeDelta;
519 rectTransform.SetPivot(0.5f, 0.5f);
520 rectTransform.SetAnchor(0.5f, 0.5f, 0.5f, 0.5f);
521 rectTransform2.SetPivot(0.5f, 0.5f);
522 rectTransform2.SetAnchor(0.5f, 0.5f, 0.5f, 0.5f);
523 rectTransform2.anchoredPosition = Vector2.zero;
524 window.setting.allowMove = (window.setting.allowResize = false);
525 window.setting.saveWindow = false;
526 window.bgCollider.SetActive(enable: false);
527 return l;
528 }
529
531 {
532 bool flag = (float)(Screen.width / 2 - 40) > base.transform.position.x;
533 if ((bool)tipPivotLeft)
534 {
535 tipPivotLeft.SetActive(!flag || !tipPivotRight);
536 }
537 if ((bool)tipPivotRight)
538 {
539 tipPivotRight.SetActive(flag || !tipPivotLeft);
540 }
541 }
542
544 {
546 }
547
549 {
550 return config.skin;
551 }
552
553 public void SetSkin(int id, int v = 0)
554 {
555 SkinConfig skin = config.skin;
556 if (skin.id != id)
557 {
558 skin.SetID(id);
559 }
560 skin.id = id;
561 skin.bg = v;
562 skin.bgColor = skin.BG.color;
563 ApplySkin();
564 }
565
566 public void TestSkin()
567 {
568 config.skin.SetID();
569 ApplySkin();
570 }
571
572 public virtual void ApplySkin()
573 {
574 SkinRoot component = GetComponent<SkinRoot>();
575 if ((bool)component)
576 {
577 component.Reset();
578 IUISkin[] componentsInChildren = GetComponentsInChildren<IUISkin>(includeInactive: true);
579 for (int i = 0; i < componentsInChildren.Length; i++)
580 {
581 componentsInChildren[i].ApplySkin();
582 }
583 OnApplySkin();
584 }
585 }
586
587 public virtual void OnApplySkin()
588 {
589 }
590
591 public void InstantiateDeco(SkinDeco deco)
592 {
593 SkinDecoActor skinDecoActor = (deco.actor = Util.Instantiate<SkinDecoActor>("UI/Widget/SkinDecoActor", base.transform));
594 skinDecoActor.owner = deco;
595 skinDecoActor.image.sprite = ResourceCache.Load<Sprite>("Media/Graphics/Deco/deco" + deco.id);
596 skinDecoActor.Rect().anchoredPosition = new Vector2(deco.x, deco.y);
597 skinDecoActor.Refresh();
598 }
599
600 public void AddDeco(SkinDeco deco)
601 {
602 config.skin.decos.Add(deco);
603 InstantiateDeco(deco);
604 }
605
606 public void RemoveDeco(SkinDeco deco)
607 {
608 config.skin.decos.Remove(deco);
609 UnityEngine.Object.DestroyImmediate(deco.actor.gameObject);
610 }
611
612 public virtual bool CanShowContextMenu()
613 {
614 return true;
615 }
616
617 public void ShowContextMenu()
618 {
619 UIContextMenu uIContextMenu = EMono.ui.CreateContextMenu();
620 OnSetContextMenu(uIContextMenu);
621 uIContextMenu.Show();
622 }
623
625 {
626 SkinConfig cfg = config.skin;
627 if (!(this is WidgetSideScreen))
628 {
629 UIContextMenu uIContextMenu = m.AddChild("anchor");
630 foreach (RectPosition p2 in Util.EnumToList<RectPosition>())
631 {
632 uIContextMenu.AddButton(((config.userAnchor == p2) ? "★ " : "") + p2.ToString().lang(), delegate
633 {
634 SetAnchor(p2);
635 SE.ClickGeneral();
636 m.Hide();
637 });
638 }
639 uIContextMenu = m.AddChild("pivot");
640 foreach (RectPosition p in Util.EnumToList<RectPosition>())
641 {
642 uIContextMenu.AddButton(((config.pivot == p) ? "★ " : "") + p.ToString().lang(), delegate
643 {
644 SetPivot(p);
645 SE.ClickGeneral();
646 m.Hide();
647 });
648 }
649 }
650 UIContextMenuItem sliderB = null;
651 Action Refresh = delegate
652 {
653 int num = EMono.ui.skins.skinSets[cfg.id].bgs.Count - 1;
654 sliderB.slider.maxValue = num;
655 sliderB.slider.value = cfg.bg;
656 sliderB.textSlider.text = cfg.bg + "/" + (EMono.ui.skins.skinSets[cfg.id].bgs.Count - 1);
657 };
658 if (ShowStyleMenu)
659 {
660 UIContextMenu uIContextMenu2 = m.AddOrGetChild("style");
661 sliderB = uIContextMenu2.AddSlider("changeBG", (float n) => n + "/" + (EMono.ui.skins.skinSets[cfg.id].bgs.Count - 1), cfg.bg, delegate(float a)
662 {
663 SetSkin(cfg.id, (int)a);
664 Refresh();
665 }, 0f, EMono.ui.skins.skinSets[cfg.id].bgs.Count - 1, isInt: true);
666 uIContextMenu2.AddSlider("bgSize", (float n) => n.ToString() ?? "", cfg.bgSize, delegate(float a)
667 {
668 cfg.bgSize = (int)a;
669 ApplySkin();
670 }, -50f, 50f, isInt: true);
671 uIContextMenu2.AddButton("colorBG", delegate
672 {
673 if (EMono.ui.skins.skinSets[cfg.id].bgs[cfg.bg].redirect != 0)
674 {
675 SE.Beep();
676 }
677 else
678 {
679 EMono.ui.AddLayer<LayerColorPicker>().SetColor(cfg.bgColor, EMono.ui.skins.skinSets[cfg.id].bgs[cfg.bg].color, delegate(PickerState state, Color _c)
680 {
681 cfg.bgColor = _c;
682 ApplySkin();
683 });
684 }
685 });
686 uIContextMenu2.AddButton("editDeco", delegate
687 {
688 EMono.ui.AddLayer<LayerSkinDeco>().SetWidget(this);
689 });
690 }
692 {
693 m.AddToggle("RC_widget", config.RC, delegate(bool a)
694 {
695 config.RC = a;
696 });
697 }
698 m.AddButton(() => (config.locked ? "unlockWidget" : "lockWidget").lang(), delegate
699 {
700 EMono.ui.widgets.ToggleLock(config);
701 SE.ClickGeneral();
702 m.Hide();
703 EMono.ui.GetLayer<LayerWidget>()?.Refresh();
704 });
705 if (IsSealed)
706 {
707 return;
708 }
709 m.AddButton("closeWidget", delegate
710 {
711 if (this is WidgetQuestTracker)
712 {
713 EMono.player.questTracker = false;
714 }
715 EMono.ui.widgets.DeactivateWidget(this);
716 EMono.ui.GetLayer<LayerWidget>()?.Refresh();
717 });
718 }
719
720 public virtual void OnSetContextMenu(UIContextMenu m)
721 {
723 }
724
726 {
727 SkinConfig cfg = config.skin;
728 m.AddSlider("skinGrid", (float n) => n.ToString() ?? "", cfg.grid, delegate(float a)
729 {
730 cfg.grid = (int)a;
731 cfg.gridColor = cfg.Grid.color;
732 ApplySkin();
733 }, 0f, cfg.Skin.bgGrid.Count - 1, isInt: true);
734 m.AddButton("colorGrid", delegate
735 {
736 EMono.ui.AddLayer<LayerColorPicker>().SetColor(cfg.gridColor, cfg.Grid.color, delegate(PickerState state, Color _c)
737 {
738 cfg.gridColor = _c;
739 ApplySkin();
740 });
741 });
742 }
743
744 public void SoundActivate()
745 {
747 }
748}
GameMode
Definition: GameMode.cs:5
PickerState
Definition: PickerState.cs:2
RectPosition
Definition: RectPosition.cs:2
list. Refresh()
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
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:1306
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:606
GameObject goCover
Definition: Widget.cs:166
virtual bool RightClickToClose
Definition: Widget.cs:208
void Deactivate()
Definition: Widget.cs:307
void ShowContextMenu()
Definition: Widget.cs:617
virtual void ApplySkin()
Definition: Widget.cs:572
void AddDeco(SkinDeco deco)
Definition: Widget.cs:600
void SetBaseContextMenu(UIContextMenu m)
Definition: Widget.cs:624
void SetAnchor(RectPosition p)
Definition: Widget.cs:361
bool IsAlignTop()
Definition: Widget.cs:498
void SetGridContextMenu(UIContextMenu m)
Definition: Widget.cs:725
virtual Type SetSiblingAfter
Definition: Widget.cs:204
void UpdateConfig()
Definition: Widget.cs:428
string ID
Definition: Widget.cs:169
virtual bool ShowInBuildMode
Definition: Widget.cs:206
virtual void OnChangeResolution()
Definition: Widget.cs:473
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:508
RectTransform tipPivotRight
Definition: Widget.cs:160
void OnChangePosition()
Definition: Widget.cs:478
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:440
UIDragPanel dragPanel
Definition: Widget.cs:154
TextAnchor RectPositionToTextAnchor(RectPosition p)
Definition: Widget.cs:368
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:384
void Reactivate()
Definition: Widget.cs:324
void TestSkin()
Definition: Widget.cs:566
virtual bool AlwaysBottom
Definition: Widget.cs:202
virtual void OnUpdateConfig()
Definition: Widget.cs:436
void InstantiateDeco(SkinDeco deco)
Definition: Widget.cs:591
void SetSkin(int id, int v=0)
Definition: Widget.cs:553
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:744
virtual void OnApplySkin()
Definition: Widget.cs:587
virtual void OnManagerActivate()
Definition: Widget.cs:330
bool IsInRightMode()
Definition: Widget.cs:216
void ClampToScreen()
Definition: Widget.cs:453
virtual void OnSetContextMenu(UIContextMenu m)
Definition: Widget.cs:720
virtual bool CanShowContextMenu()
Definition: Widget.cs:612
virtual void OnChangeActionMode()
Definition: Widget.cs:489
virtual void OnChangePivot()
Definition: Widget.cs:424
Image imageBG
Definition: Widget.cs:150
RectTransform _rect
Definition: Widget.cs:156
virtual bool ShowStyleMenu
Definition: Widget.cs:196
void RefreshTipPivotPosition()
Definition: Widget.cs:530
SkinConfig GetSkinConfig()
Definition: Widget.cs:548
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:356
void ClampToScreen(RectTransform rect, float margin=10f)
Definition: Widget.cs:458
SkinSet GetSkin()
Definition: Widget.cs:543
SkinRoot skinRoot
Definition: Widget.cs:182
virtual void OnFlip()
Definition: Widget.cs:494
Definition: Window.cs:13
UICollider bgCollider
Definition: Window.cs:670
void SetAnchor()
Definition: Window.cs:1594
void ApplySkin()