10 public sealed override void OnActivate()
14 this.mold = this.layout.CreateMold(
null);
18 this.layout.RebuildLayout(
true);
21 this.layout2.RebuildLayout(
true);
23 this.activating =
false;
28 public virtual void _OnActivate()
33 private void OnEnable()
35 base.InvokeRepeating(
"_RefreshAll", 0.1f, 0.2f);
39 private void OnDisable()
45 public void _RefreshAll()
49 using (List<BaseNotification>.Enumerator enumerator = this.list.GetEnumerator())
51 while (enumerator.MoveNext())
55 n.item.SetActive(n.Visible, delegate(
bool enabled)
59 n.item.button.RebuildLayout(
true);
67 this.layout.RebuildLayout(
false);
70 this.layout2.RebuildLayout(
true);
76 public virtual void OnRefresh()
84 LayoutGroup layoutGroup = n.GetLayoutGroup() ?? this.layout;
85 ItemNotice itemNotice = Util.Instantiate<
ItemNotice>(n.GetMold() ?? this.mold, parent ?? layoutGroup.transform);
86 itemNotice.button.onClick.AddListener(delegate()
90 BaseCore.Instance.WaitForEndOfFrame(
new Action(n.OnClick));
95 Sprite sprite = n.Sprite;
98 sprite = this.sprites[n.idSprite];
102 itemNotice.button.icon.sprite = sprite;
104 itemNotice.button.image.raycastTarget = n.Interactable;
105 itemNotice.button.tooltip.enable = (n.onShowTooltip !=
null);
106 itemNotice.button.tooltip.onShowTooltip = n.onShowTooltip;
110 if (!this.activating)
112 layoutGroup.RebuildLayout(
true);
123 UnityEngine.Object.DestroyImmediate(n.item.gameObject);
128 public override void OnFlip()
130 this.layout.childAlignment = (this.flip ? TextAnchor.MiddleRight : TextAnchor.MiddleLeft);
131 this.Rect().pivot =
new Vector2((
float)(this.flip ? 1 : 0), this.Rect().pivot.y);
135 public override void OnSetContextMenu(UIContextMenu m)
137 m.AddChild(
"style").AddSlider(
"toggleButtonBG", (
float a) => a.ToString() ??
"", (
float)base.config.skin.button, delegate(
float a)
139 base.config.skin.button = (int)a;
141 }, 0f, (float)(base.config.skin.Skin.buttons.Count - 1),
true,
true,
false);
142 base.SetBaseContextMenu(m);
146 public void RefreshLayout()
148 SkinAsset_Button button = base.GetComponent<SkinRoot>().
Config.Button;
149 int y = button.size.y;
152 RectTransform rectTransform = baseNotification.item.Rect();
153 rectTransform.sizeDelta =
new Vector2(rectTransform.sizeDelta.x, (
float)y);
155 this.layout.spacing = (float)button.spacing.y;
159 public override void OnApplySkin()
161 this.RefreshLayout();
165 public Sprite[] sprites;
168 public List<BaseNotification> list =
new List<BaseNotification>();
171 public VerticalLayoutGroup layout;
174 public VerticalLayoutGroup layout2;
180 private bool activating =
true;