Elin Decompiled Documentation EA 23.346 Nightly
Loading...
Searching...
No Matches
Widget Class Reference
Inheritance diagram for Widget:
EMono IChangeResolution ISkinRoot BaseWidgetNotice WidgetArtTool WidgetBottomBar WidgetCodex WidgetCurrentTool WidgetDate WidgetDebug WidgetEquip WidgetExp WidgetExpHome WidgetExplorer WidgetFeed WidgetHP WidgetHotbar WidgetInspector WidgetMainText WidgetMascot WidgetMemo WidgetMenuPanel WidgetMinimap WidgetMouseover WidgetNeeds WidgetPopText WidgetPopup WidgetQuestTracker WidgetRoster WidgetSceneCustomizer WidgetSideMenu WidgetSideScreen WidgetStatsBar WidgetSticky WidgetStockTracker WidgetSystemIndicator WidgetTracker WidgetTutorial WidgetUnityChan

Classes

class  Config
 
class  Meta
 

Public Types

enum  WidgetType { Default , ZoomMenu }
 
enum  State { Active , Inactive }
 

Public Member Functions

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)
 
TextAnchor RectPositionToTextAnchor (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

Image imageBG
 
SoundData soundActivate
 
UIDragPanel dragPanel
 
RectTransform tipPivotLeft
 
RectTransform tipPivotRight
 

Protected Member Functions

void ClampToScreenEnsured (Component c, Vector2 anchoredPos)
 
void ClampToScreen (RectTransform rect, float margin=10f)
 

Protected Attributes

bool flip
 

Properties

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 Attributes

string _ID
 
Config _config
 
RectTransform _rect
 
SkinRoot _skinRoot
 
GameObject goCover
 

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 6 of file Widget.cs.

Member Enumeration Documentation

◆ State

Enumerator
Active 
Inactive 

Definition at line 140 of file Widget.cs.

141 {
142 Active,
144 }

◆ WidgetType

Enumerator
Default 
ZoomMenu 

Definition at line 31 of file Widget.cs.

Member Function Documentation

◆ Activate()

void Widget.Activate ( )
inline

Definition at line 225 of file Widget.cs.

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 }
RectPosition
Definition: RectPosition.cs:2
List< SkinDeco > decos
Definition: SkinConfig.cs:9
RectPosition anchor
Definition: Widget.cs:41
float y
Definition: Widget.cs:53
object extra
Definition: Widget.cs:59
SkinConfig skin
Definition: Widget.cs:61
float x
Definition: Widget.cs:51
RectPosition userAnchor
Definition: Widget.cs:43
RectPosition pivot
Definition: Widget.cs:45
virtual void OnActivate()
Definition: Widget.cs:298
void OnChangePosition()
Definition: Widget.cs:481
bool flip
Definition: Widget.cs:164
UIDragPanel dragPanel
Definition: Widget.cs:154
virtual bool IsStaticPosition
Definition: Widget.cs:200
void SetPivot(RectPosition p)
Definition: Widget.cs:387
void InstantiateDeco(SkinDeco deco)
Definition: Widget.cs:594
State
Definition: Widget.cs:141
void ClampToScreen()
Definition: Widget.cs:456
RectTransform _rect
Definition: Widget.cs:156
virtual object CreateExtra()
Definition: Widget.cs:302
Config config
Definition: Widget.cs:180
void RefreshOrder()
Definition: Widget.cs:272
virtual void OnFlip()
Definition: Widget.cs:497

References _rect, Widget.Config.anchor, ClampToScreen(), config, CreateExtra(), SkinConfig.decos, dragPanel, Widget.Config.extra, flip, InstantiateDeco(), IsStaticPosition, OnActivate(), OnChangePosition(), OnFlip(), Widget.Config.pivot, RefreshOrder(), SetPivot(), Widget.Config.skin, Widget.Config.userAnchor, Widget.Config.x, and Widget.Config.y.

Referenced by WidgetManager.ActivateWidget().

◆ AddDeco()

void Widget.AddDeco ( SkinDeco  deco)
inline

Definition at line 603 of file Widget.cs.

604 {
605 config.skin.decos.Add(deco);
606 InstantiateDeco(deco);
607 }

References config, SkinConfig.decos, InstantiateDeco(), and Widget.Config.skin.

Referenced by LayerSkinDeco.OnUpdateInput().

◆ AddLayer()

Layer Widget.AddLayer ( Layer  l,
Transform  trans 
)
inline

Definition at line 511 of file Widget.cs.

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 }
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
Definition: Window.cs:13
UICollider bgCollider
Definition: Window.cs:670
void SetAnchor()
Definition: Window.cs:1594

References Window.bgCollider, Layer.Init(), Layer.OnAfterAddLayer(), Layer.OnBeforeAddLayer(), Window.SetAnchor(), and Layer.windows.

Referenced by WidgetEquip.OnActivate().

◆ ApplySkin()

virtual void Widget.ApplySkin ( )
inlinevirtual

Definition at line 575 of file Widget.cs.

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 }
virtual void OnApplySkin()
Definition: Widget.cs:590
void ApplySkin()

References IUISkin.ApplySkin(), OnApplySkin(), and SkinRoot.Reset().

Referenced by WidgetCurrentTool.OnActivate(), BaseWidgetNotice.OnSetContextMenu(), WidgetInspector.OnSetContextMenu(), WidgetMenuPanel.OnSetContextMenu(), WidgetRoster.OnSetContextMenu(), WidgetSideMenu.OnSetContextMenu(), WidgetSticky.OnSetContextMenu(), SetBaseContextMenu(), SetGridContextMenu(), SetSkin(), and TestSkin().

◆ CanShowContextMenu()

virtual bool Widget.CanShowContextMenu ( )
inlinevirtual

Reimplemented in WidgetCurrentTool, WidgetEquip, and WidgetHotbar.

Definition at line 615 of file Widget.cs.

616 {
617 return true;
618 }

Referenced by ActionMode.TryShowWidgetMenu().

◆ ClampToScreen() [1/2]

◆ ClampToScreen() [2/2]

void Widget.ClampToScreen ( RectTransform  rect,
float  margin = 10f 
)
inlineprotected

Definition at line 461 of file Widget.cs.

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 }

References config, IsStaticPosition, and Widget.Config.userAnchor.

◆ ClampToScreenEnsured()

void Widget.ClampToScreenEnsured ( Component  c,
Vector2  anchoredPos 
)
inlineprotected

Definition at line 443 of file Widget.cs.

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 }

References ClampToScreen().

Referenced by WidgetMascot.Say().

◆ Close()

void Widget.Close ( )
inline

Definition at line 319 of file Widget.cs.

320 {
321 EMono.ui.widgets.DeactivateWidget(this);
322 }
Definition: EMono.cs:4
static UI ui
Definition: EMono.cs:15

References EMono.ui.

Referenced by WidgetPopup.Discard(), WidgetInspector.Hide(), WidgetTracker.Toggle(), ActionMode.TryRightClickCloseWidget(), ActionMode.TryShowWidgetMenu(), and WidgetCodex.Update().

◆ CreateExtra()

◆ Deactivate()

void Widget.Deactivate ( )
inline

Definition at line 307 of file Widget.cs.

308 {
309 OnDeactivate();
310 config.state = State.Inactive;
311 UpdateConfig();
312 UnityEngine.Object.DestroyImmediate(base.gameObject);
313 }
void UpdateConfig()
Definition: Widget.cs:431
virtual void OnDeactivate()
Definition: Widget.cs:315

References OnDeactivate(), and UpdateConfig().

Referenced by WidgetManager.DeactivateWidget().

◆ GetSkin()

SkinSet Widget.GetSkin ( )
inline

Implements ISkinRoot.

Definition at line 546 of file Widget.cs.

547 {
549 }
List< SkinSet > skinSets
Definition: SkinManager.cs:49
static SkinManager Instance
Definition: SkinManager.cs:78

References config, SkinConfig.id, SkinManager.Instance, Widget.Config.skin, and SkinManager.skinSets.

◆ GetSkinConfig()

SkinConfig Widget.GetSkinConfig ( )
inline

Implements ISkinRoot.

Definition at line 551 of file Widget.cs.

552 {
553 return config.skin;
554 }

References config, and Widget.Config.skin.

◆ InstantiateDeco()

void Widget.InstantiateDeco ( SkinDeco  deco)
inline

Definition at line 594 of file Widget.cs.

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 }
int id
Definition: SkinDeco.cs:16
int x
Definition: SkinDeco.cs:28
int y
Definition: SkinDeco.cs:40
Definition: Util.cs:10
static Transform Instantiate(string path, Component parent=null)
Definition: Util.cs:67

References SkinDeco.id, SkinDecoActor.Refresh(), Util, SkinDeco.x, and SkinDeco.y.

Referenced by Activate(), and AddDeco().

◆ IsAlignTop()

bool Widget.IsAlignTop ( )
inline

Definition at line 501 of file Widget.cs.

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 }

◆ IsInRightMode()

bool Widget.IsInRightMode ( )
inline

Definition at line 216 of file Widget.cs.

217 {
219 {
220 return true;
221 }
222 return config.IsInRightMode();
223 }
virtual bool ShowBuildWidgets
Definition: ActionMode.cs:183
static Scene scene
Definition: EMono.cs:27
ActionMode actionMode
Definition: Scene.cs:79
bool IsInRightMode()
Definition: Widget.cs:101
virtual bool ShowInBuildMode
Definition: Widget.cs:206

References Scene.actionMode, config, Widget.Config.IsInRightMode(), EMono.scene, ActionMode.ShowBuildWidgets, and ShowInBuildMode.

Referenced by OnChangeActionMode().

◆ OnActivate()

◆ OnApplySkin()

virtual void Widget.OnApplySkin ( )
inlinevirtual

Reimplemented in BaseWidgetNotice, and WidgetStatsBar.

Definition at line 590 of file Widget.cs.

591 {
592 }

Referenced by ApplySkin().

◆ OnChangeActionMode()

virtual void Widget.OnChangeActionMode ( )
inlinevirtual

Reimplemented in WidgetHotbar.

Definition at line 492 of file Widget.cs.

493 {
494 this.SetActive(IsInRightMode());
495 }
bool IsInRightMode()
Definition: Widget.cs:216

References IsInRightMode().

◆ OnChangePivot()

virtual void Widget.OnChangePivot ( )
inlinevirtual

Reimplemented in WidgetDate.

Definition at line 427 of file Widget.cs.

428 {
429 }

Referenced by SetPivot().

◆ OnChangePosition()

void Widget.OnChangePosition ( )
inline

Definition at line 481 of file Widget.cs.

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 }
if(!match.Success)
void RefreshTipPivotPosition()
Definition: Widget.cs:533

References flip, if(), OnFlip(), and RefreshTipPivotPosition().

Referenced by Activate(), OnManagerActivate(), and WidgetMascot.Update().

◆ OnChangeResolution()

virtual void Widget.OnChangeResolution ( )
inlinevirtual

Implements IChangeResolution.

Reimplemented in WidgetBottomBar, WidgetMainText, WidgetMenuPanel, and WidgetSideScreen.

Definition at line 476 of file Widget.cs.

477 {
478 ClampToScreen(this.Rect());
479 }

References ClampToScreen().

Referenced by WidgetRoster.Build().

◆ OnDeactivate()

virtual void Widget.OnDeactivate ( )
inlinevirtual

Reimplemented in WidgetFeed, WidgetInspector, WidgetMemo, and WidgetSearch.

Definition at line 315 of file Widget.cs.

316 {
317 }

Referenced by Deactivate().

◆ OnFlip()

virtual void Widget.OnFlip ( )
inlinevirtual

Reimplemented in WidgetMascot, and WidgetSystemIndicator.

Definition at line 497 of file Widget.cs.

498 {
499 }

Referenced by Activate(), and OnChangePosition().

◆ OnManagerActivate()

virtual void Widget.OnManagerActivate ( )
inlinevirtual

Reimplemented in WidgetMouseover.

Definition at line 330 of file Widget.cs.

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 }
RectTransform bound
Definition: UIDragPanel.cs:15
RectTransform target
Definition: UIDragPanel.cs:13
RectTransform container
Definition: UIDragPanel.cs:17
Definition: UIText.cs:6
GameObject goCover
Definition: Widget.cs:166
string ID
Definition: Widget.cs:169

References UIDragPanel.bound, UIDragPanel.container, dragPanel, goCover, ID, OnChangePosition(), UIDragPanel.target, and Util.

Referenced by WidgetManager.ActivateWidget().

◆ OnManagerDeactivate()

virtual void Widget.OnManagerDeactivate ( )
inlinevirtual

Reimplemented in WidgetMouseover.

Definition at line 359 of file Widget.cs.

360 {
361 UnityEngine.Object.DestroyImmediate(goCover);
362 }

References goCover.

◆ OnSetContextMenu()

◆ OnUpdateConfig()

virtual void Widget.OnUpdateConfig ( )
inlinevirtual

Reimplemented in WidgetMemo.

Definition at line 439 of file Widget.cs.

440 {
441 }

Referenced by UpdateConfig().

◆ Reactivate()

void Widget.Reactivate ( )
inline

Definition at line 324 of file Widget.cs.

325 {
326 EMono.ui.widgets.DeactivateWidget(this);
327 EMono.ui.widgets.ActivateWidget(config);
328 }

References config, and EMono.ui.

Referenced by WidgetSceneCustomizer.OnClickReset().

◆ RectPositionToTextAnchor()

TextAnchor Widget.RectPositionToTextAnchor ( RectPosition  p)
inline

Definition at line 371 of file Widget.cs.

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 }

Referenced by BaseWidgetNotice._RefreshAll().

◆ RefreshOrder()

void Widget.RefreshOrder ( )
inline

Definition at line 272 of file Widget.cs.

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 }
Definition: Widget.cs:7
virtual Type SetSiblingAfter
Definition: Widget.cs:204
virtual bool AlwaysBottom
Definition: Widget.cs:202

References AlwaysBottom, item, SetSiblingAfter, and EMono.ui.

Referenced by Activate(), and LayerSkinDeco.OnKill().

◆ RefreshTipPivotPosition()

void Widget.RefreshTipPivotPosition ( )
inline

Definition at line 533 of file Widget.cs.

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 }
RectTransform tipPivotLeft
Definition: Widget.cs:158
RectTransform tipPivotRight
Definition: Widget.cs:160

References tipPivotLeft, and tipPivotRight.

Referenced by OnChangePosition().

◆ RemoveDeco()

void Widget.RemoveDeco ( SkinDeco  deco)
inline

Definition at line 609 of file Widget.cs.

610 {
611 config.skin.decos.Remove(deco);
612 UnityEngine.Object.DestroyImmediate(deco.actor.gameObject);
613 }
SkinDecoActor actor
Definition: SkinDeco.cs:8

References SkinDeco.actor, config, SkinConfig.decos, and Widget.Config.skin.

Referenced by LayerSkinDeco.OnUpdateInput().

◆ SetAnchor()

void Widget.SetAnchor ( RectPosition  p)
inline

Definition at line 364 of file Widget.cs.

365 {
366 config.userAnchor = p;
367 dragPanel.autoAnchor = p == RectPosition.Auto;
368 _rect.SetAnchor(p);
369 }

References _rect.

◆ SetBaseContextMenu()

void Widget.SetBaseContextMenu ( UIContextMenu  m)
inline

Definition at line 627 of file Widget.cs.

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 }
PickerState
Definition: PickerState.cs:2
SkinAssetRedirect
Color bgColor
Definition: SkinConfig.cs:67
int bgSize
Definition: SkinConfig.cs:31
UIContextMenuItem AddToggle(string idLang="", bool isOn=false, UnityAction< bool > action=null)
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)
bool RC
Definition: Widget.cs:57
virtual void ApplySkin()
Definition: Widget.cs:575
bool IsSealed
Definition: Widget.cs:185
void SetSkin(int id, int v=0)
Definition: Widget.cs:556
virtual bool AllowRightClickToClose
Definition: Widget.cs:210
virtual bool ShowStyleMenu
Definition: Widget.cs:196

References UIContextMenu.AddButton(), UIContextMenu.AddChild(), UIContextMenu.AddOrGetChild(), UIContextMenu.AddSlider(), UIContextMenu.AddToggle(), AllowRightClickToClose, ApplySkin(), SkinConfig.bg, SkinConfig.bgColor, SkinConfig.bgSize, Color, config, UIContextMenu.Hide(), SkinConfig.id, IsSealed, Widget.Config.pivot, Widget.Config.RC, SetSkin(), ShowStyleMenu, Widget.Config.skin, EMono.ui, Widget.Config.userAnchor, and Util.

Referenced by BaseWidgetNotice.OnSetContextMenu(), OnSetContextMenu(), WidgetCurrentTool.OnSetContextMenu(), WidgetEquip.OnSetContextMenu(), WidgetFeed.OnSetContextMenu(), WidgetHotbar.OnSetContextMenu(), WidgetHP.OnSetContextMenu(), WidgetInspector.OnSetContextMenu(), WidgetMainText.OnSetContextMenu(), WidgetMascot.OnSetContextMenu(), WidgetMenuPanel.OnSetContextMenu(), WidgetMinimap.OnSetContextMenu(), WidgetRoster.OnSetContextMenu(), WidgetSideMenu.OnSetContextMenu(), WidgetSideScreen.OnSetContextMenu(), WidgetSticky.OnSetContextMenu(), WidgetTracker.OnSetContextMenu(), and WidgetUnityChan.OnSetContextMenu().

◆ SetGridContextMenu()

void Widget.SetGridContextMenu ( UIContextMenu  m)
inline

Definition at line 728 of file Widget.cs.

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 }
SpriteAsset Grid
Definition: SkinConfig.cs:106
Color gridColor
Definition: SkinConfig.cs:79
Color color
Definition: SpriteAsset.cs:7

References UIContextMenu.AddButton(), UIContextMenu.AddSlider(), ApplySkin(), Color, SpriteAsset.color, config, SkinConfig.grid, SkinConfig.Grid, SkinConfig.gridColor, Widget.Config.skin, and EMono.ui.

Referenced by WidgetCurrentTool.OnSetContextMenu(), WidgetHotbar.OnSetContextMenu(), and WidgetMenuPanel.OnSetContextMenu().

◆ SetPivot()

void Widget.SetPivot ( RectPosition  p)
inline

Definition at line 387 of file Widget.cs.

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 }
virtual void OnChangePivot()
Definition: Widget.cs:427

References ClampToScreen(), and OnChangePivot().

Referenced by Activate().

◆ SetSkin()

void Widget.SetSkin ( int  id,
int  v = 0 
)
inline

Definition at line 556 of file Widget.cs.

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 }
SkinAsset_BG BG
Definition: SkinConfig.cs:93
void SetID(int _id)
Definition: SkinConfig.cs:133

References ApplySkin(), SkinConfig.BG, SkinAsset_Sprite.color, config, SkinConfig.id, SkinConfig.SetID(), and Widget.Config.skin.

Referenced by SetBaseContextMenu().

◆ ShowContextMenu()

void Widget.ShowContextMenu ( )
inline

Definition at line 620 of file Widget.cs.

621 {
622 UIContextMenu uIContextMenu = EMono.ui.CreateContextMenu();
623 OnSetContextMenu(uIContextMenu);
624 uIContextMenu.Show();
625 }
void Show(UIItem i)
virtual void OnSetContextMenu(UIContextMenu m)
Definition: Widget.cs:723

References OnSetContextMenu(), UIContextMenu.Show(), and EMono.ui.

Referenced by HotItem.OnRightClick(), WidgetHotbar.OnSetContextMenu(), LayerWidget.OnUpdateInput(), and ActionMode.TryShowWidgetMenu().

◆ SoundActivate()

void Widget.SoundActivate ( )
inline

Definition at line 747 of file Widget.cs.

748 {
750 }
static SoundManager Sound
Definition: EMono.cs:39
SoundData soundActivate
Definition: Widget.cs:152

References EMono.Sound, and soundActivate.

Referenced by LayerWidget.OnInit().

◆ Test()

void Widget.Test ( )
inline

Definition at line 212 of file Widget.cs.

213 {
214 }

◆ TestSkin()

void Widget.TestSkin ( )
inline

Definition at line 569 of file Widget.cs.

570 {
571 config.skin.SetID();
572 ApplySkin();
573 }

References ApplySkin(), config, SkinConfig.SetID(), and Widget.Config.skin.

◆ UpdateConfig()

void Widget.UpdateConfig ( )
inline

Definition at line 431 of file Widget.cs.

432 {
433 config.anchor = _rect.GetAnchor();
434 config.x = _rect.anchoredPosition.x;
435 config.y = _rect.anchoredPosition.y;
437 }
virtual void OnUpdateConfig()
Definition: Widget.cs:439

References _rect, and OnUpdateConfig().

Referenced by Deactivate().

Member Data Documentation

◆ _config

Config Widget._config
private

Definition at line 148 of file Widget.cs.

◆ _ID

string Widget._ID
private

Definition at line 146 of file Widget.cs.

◆ _rect

RectTransform Widget._rect
private

Definition at line 156 of file Widget.cs.

Referenced by Activate(), SetAnchor(), and UpdateConfig().

◆ _skinRoot

SkinRoot Widget._skinRoot
private

Definition at line 162 of file Widget.cs.

◆ dragPanel

◆ flip

bool Widget.flip
protected

◆ goCover

GameObject Widget.goCover
private

Definition at line 166 of file Widget.cs.

Referenced by OnManagerActivate(), and OnManagerDeactivate().

◆ imageBG

Image Widget.imageBG

◆ soundActivate

SoundData Widget.soundActivate

Definition at line 152 of file Widget.cs.

Referenced by SoundActivate().

◆ tipPivotLeft

RectTransform Widget.tipPivotLeft

Definition at line 158 of file Widget.cs.

Referenced by RefreshTipPivotPosition().

◆ tipPivotRight

RectTransform Widget.tipPivotRight

Definition at line 160 of file Widget.cs.

Referenced by RefreshTipPivotPosition().

Property Documentation

◆ AllowRightClickToClose

virtual bool Widget.AllowRightClickToClose
get

Definition at line 210 of file Widget.cs.

Referenced by SetBaseContextMenu().

◆ AlwaysBottom

virtual bool Widget.AlwaysBottom
get

Definition at line 202 of file Widget.cs.

Referenced by RefreshOrder().

◆ AlwaysTop

virtual bool Widget.AlwaysTop
get

Definition at line 198 of file Widget.cs.

◆ config

◆ ID

string Widget.ID
get

Definition at line 168 of file Widget.cs.

169 {
170 get
171 {
172 if (_ID == null)
173 {
174 return _ID = base.name.Replace("Widget", "").Replace("(Clone)", "");
175 }
176 return _ID;
177 }
178 }
string _ID
Definition: Widget.cs:146

Referenced by OnManagerActivate().

◆ IsSealed

bool Widget.IsSealed
get

Definition at line 184 of file Widget.cs.

185 {
186 get
187 {
188 if (config.meta.system)
189 {
191 }
192 return false;
193 }
194 }
CoreConfig config
Definition: Core.cs:70
static Core core
Definition: EMono.cs:5
Meta meta
Definition: Widget.cs:70
bool system
Definition: Widget.cs:19

Referenced by ButtonHotItem.RefreshItem(), and SetBaseContextMenu().

◆ IsStaticPosition

virtual bool Widget.IsStaticPosition
get

Definition at line 200 of file Widget.cs.

Referenced by Activate(), and ClampToScreen().

◆ RightClickToClose

virtual bool Widget.RightClickToClose
get

Definition at line 208 of file Widget.cs.

Referenced by ActionMode.TryRightClickCloseWidget(), and ActionMode.TryShowWidgetMenu().

◆ SetSiblingAfter

virtual Type Widget.SetSiblingAfter
get

Definition at line 204 of file Widget.cs.

Referenced by RefreshOrder().

◆ ShowInBuildMode

virtual bool Widget.ShowInBuildMode
get

Definition at line 206 of file Widget.cs.

Referenced by IsInRightMode().

◆ ShowStyleMenu

virtual bool Widget.ShowStyleMenu
get

Definition at line 196 of file Widget.cs.

Referenced by SetBaseContextMenu().

◆ skinRoot

SkinRoot Widget.skinRoot
get

Definition at line 182 of file Widget.cs.


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