Elin Decompiled Documentation EA 23.303 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 != 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 }
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:478
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:384
void InstantiateDeco(SkinDeco deco)
Definition: Widget.cs:591
State
Definition: Widget.cs:141
void ClampToScreen()
Definition: Widget.cs:453
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:494

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

601 {
602 config.skin.decos.Add(deco);
603 InstantiateDeco(deco);
604 }

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

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

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 }
virtual void OnApplySkin()
Definition: Widget.cs:587
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 612 of file Widget.cs.

613 {
614 return true;
615 }

Referenced by ActionMode.TryShowWidgetMenu().

◆ ClampToScreen() [1/2]

◆ ClampToScreen() [2/2]

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

Definition at line 458 of file Widget.cs.

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 }

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

◆ ClampToScreenEnsured()

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

Definition at line 440 of file Widget.cs.

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 }

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:428
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 543 of file Widget.cs.

544 {
546 }
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 548 of file Widget.cs.

549 {
550 return config.skin;
551 }

References config, and Widget.Config.skin.

◆ InstantiateDeco()

void Widget.InstantiateDeco ( SkinDeco  deco)
inline

Definition at line 591 of file Widget.cs.

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

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 }

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

588 {
589 }

Referenced by ApplySkin().

◆ OnChangeActionMode()

virtual void Widget.OnChangeActionMode ( )
inlinevirtual

Reimplemented in WidgetHotbar.

Definition at line 489 of file Widget.cs.

490 {
491 this.SetActive(IsInRightMode());
492 }
bool IsInRightMode()
Definition: Widget.cs:216

References IsInRightMode().

◆ OnChangePivot()

virtual void Widget.OnChangePivot ( )
inlinevirtual

Reimplemented in WidgetDate.

Definition at line 424 of file Widget.cs.

425 {
426 }

Referenced by SetPivot().

◆ OnChangePosition()

void Widget.OnChangePosition ( )
inline

Definition at line 478 of file Widget.cs.

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 }
void RefreshTipPivotPosition()
Definition: Widget.cs:530

References flip, 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 473 of file Widget.cs.

474 {
475 ClampToScreen(this.Rect());
476 }

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

495 {
496 }

Referenced by Activate(), and OnChangePosition().

◆ OnManagerActivate()

virtual void Widget.OnManagerActivate ( )
inlinevirtual

Reimplemented in WidgetMouseover.

Definition at line 330 of file Widget.cs.

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

357 {
358 UnityEngine.Object.DestroyImmediate(goCover);
359 }

References goCover.

◆ OnSetContextMenu()

◆ OnUpdateConfig()

virtual void Widget.OnUpdateConfig ( )
inlinevirtual

Reimplemented in WidgetMemo.

Definition at line 436 of file Widget.cs.

437 {
438 }

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

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 }

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

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

607 {
608 config.skin.decos.Remove(deco);
609 UnityEngine.Object.DestroyImmediate(deco.actor.gameObject);
610 }
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 361 of file Widget.cs.

362 {
363 config.userAnchor = p;
364 dragPanel.autoAnchor = p == RectPosition.Auto;
365 _rect.SetAnchor(p);
366 }

References _rect.

◆ SetBaseContextMenu()

void Widget.SetBaseContextMenu ( UIContextMenu  m)
inline

Definition at line 624 of file Widget.cs.

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 }
PickerState
Definition: PickerState.cs:2
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:572
bool IsSealed
Definition: Widget.cs:185
void SetSkin(int id, int v=0)
Definition: Widget.cs:553
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 725 of file Widget.cs.

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

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

References ClampToScreen(), and OnChangePivot().

Referenced by Activate().

◆ SetSkin()

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

Definition at line 553 of file Widget.cs.

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

618 {
619 UIContextMenu uIContextMenu = EMono.ui.CreateContextMenu();
620 OnSetContextMenu(uIContextMenu);
621 uIContextMenu.Show();
622 }
void Show(UIItem i)
virtual void OnSetContextMenu(UIContextMenu m)
Definition: Widget.cs:720

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

745 {
747 }
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 566 of file Widget.cs.

567 {
568 config.skin.SetID();
569 ApplySkin();
570 }

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

◆ UpdateConfig()

void Widget.UpdateConfig ( )
inline

Definition at line 428 of file Widget.cs.

429 {
430 config.anchor = _rect.GetAnchor();
431 config.x = _rect.anchoredPosition.x;
432 config.y = _rect.anchoredPosition.y;
434 }
virtual void OnUpdateConfig()
Definition: Widget.cs:436

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: