using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Pool; using UnityEngine.Rendering; using UnityEngine.Serialization; using UnityEngine.Sprites; using UnityEngine.Tilemaps; using UnityEngine.U2D; using UnityEngine.UI; using UnityEngine.UI.Collections; using UnityEngine.UI.CoroutineTween; using UnityEngine.UIElements; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("guisystem")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("guisystem")] [assembly: AssemblyCopyright("Copyright © Microsoft 2013")] [assembly: AssemblyTrademark("")] [assembly: InternalsVisibleTo("UnityEngine.UI.Tests")] [assembly: ComVisible(false)] [assembly: Guid("d4f464c7-9b15-460d-b4bc-2cacd1c1df73")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.0.0")] namespace UnityEngine.UI { [Serializable] public class AnimationTriggers { private const string kDefaultNormalAnimName = "Normal"; private const string kDefaultHighlightedAnimName = "Highlighted"; private const string kDefaultPressedAnimName = "Pressed"; private const string kDefaultSelectedAnimName = "Selected"; private const string kDefaultDisabledAnimName = "Disabled"; [FormerlySerializedAs("normalTrigger")] [SerializeField] private string m_NormalTrigger = "Normal"; [FormerlySerializedAs("highlightedTrigger")] [SerializeField] private string m_HighlightedTrigger = "Highlighted"; [FormerlySerializedAs("pressedTrigger")] [SerializeField] private string m_PressedTrigger = "Pressed"; [FormerlySerializedAs("m_HighlightedTrigger")] [SerializeField] private string m_SelectedTrigger = "Selected"; [FormerlySerializedAs("disabledTrigger")] [SerializeField] private string m_DisabledTrigger = "Disabled"; public string normalTrigger { get { return m_NormalTrigger; } set { m_NormalTrigger = value; } } public string highlightedTrigger { get { return m_HighlightedTrigger; } set { m_HighlightedTrigger = value; } } public string pressedTrigger { get { return m_PressedTrigger; } set { m_PressedTrigger = value; } } public string selectedTrigger { get { return m_SelectedTrigger; } set { m_SelectedTrigger = value; } } public string disabledTrigger { get { return m_DisabledTrigger; } set { m_DisabledTrigger = value; } } } [AddComponentMenu("UI/Button", 30)] public class Button : Selectable, IPointerClickHandler, IEventSystemHandler, ISubmitHandler { [Serializable] public class ButtonClickedEvent : UnityEvent { } [FormerlySerializedAs("onClick")] [SerializeField] private ButtonClickedEvent m_OnClick = new ButtonClickedEvent(); public ButtonClickedEvent onClick { get { return m_OnClick; } set { m_OnClick = value; } } protected Button() { } private void Press() { if (IsActive() && IsInteractable()) { UISystemProfilerApi.AddMarker("Button.onClick", (Object)(object)this); ((UnityEvent)m_OnClick).Invoke(); } } public virtual void OnPointerClick(PointerEventData eventData) { if (eventData.button == PointerEventData.InputButton.Left) { Press(); } } public virtual void OnSubmit(BaseEventData eventData) { Press(); if (IsActive() && IsInteractable()) { DoStateTransition(SelectionState.Pressed, instant: false); ((MonoBehaviour)this).StartCoroutine(OnFinishSubmit()); } } private IEnumerator OnFinishSubmit() { float fadeTime = base.colors.fadeDuration; float elapsedTime = 0f; while (elapsedTime < fadeTime) { elapsedTime += Time.unscaledDeltaTime; yield return null; } DoStateTransition(base.currentSelectionState, instant: false); } } public enum CanvasUpdate { Prelayout, Layout, PostLayout, PreRender, LatePreRender, MaxUpdateValue } public interface ICanvasElement { Transform transform { get; } void Rebuild(CanvasUpdate executing); void LayoutComplete(); void GraphicUpdateComplete(); bool IsDestroyed(); } public class CanvasUpdateRegistry { private static CanvasUpdateRegistry s_Instance; private bool m_PerformingLayoutUpdate; private bool m_PerformingGraphicUpdate; private string[] m_CanvasUpdateProfilerStrings = new string[5] { "CanvasUpdate.Prelayout", "CanvasUpdate.Layout", "CanvasUpdate.PostLayout", "CanvasUpdate.PreRender", "CanvasUpdate.LatePreRender" }; private const string m_CullingUpdateProfilerString = "ClipperRegistry.Cull"; private readonly IndexedSet m_LayoutRebuildQueue = new IndexedSet(); private readonly IndexedSet m_GraphicRebuildQueue = new IndexedSet(); private static readonly Comparison s_SortLayoutFunction = SortLayoutList; public static CanvasUpdateRegistry instance { get { if (s_Instance == null) { s_Instance = new CanvasUpdateRegistry(); } return s_Instance; } } protected CanvasUpdateRegistry() { //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Expected O, but got Unknown Canvas.willRenderCanvases += new WillRenderCanvases(PerformUpdate); } private bool ObjectValidForUpdate(ICanvasElement element) { bool result = element != null; if (element is Object) { result = (Object)((element is Object) ? element : null) != (Object)null; } return result; } private void CleanInvalidItems() { for (int num = m_LayoutRebuildQueue.Count - 1; num >= 0; num--) { ICanvasElement canvasElement = m_LayoutRebuildQueue[num]; if (canvasElement == null) { m_LayoutRebuildQueue.RemoveAt(num); } else if (canvasElement.IsDestroyed()) { m_LayoutRebuildQueue.RemoveAt(num); canvasElement.LayoutComplete(); } } for (int num2 = m_GraphicRebuildQueue.Count - 1; num2 >= 0; num2--) { ICanvasElement canvasElement2 = m_GraphicRebuildQueue[num2]; if (canvasElement2 == null) { m_GraphicRebuildQueue.RemoveAt(num2); } else if (canvasElement2.IsDestroyed()) { m_GraphicRebuildQueue.RemoveAt(num2); canvasElement2.GraphicUpdateComplete(); } } } private void PerformUpdate() { UISystemProfilerApi.BeginSample((SampleType)0); CleanInvalidItems(); m_PerformingLayoutUpdate = true; m_LayoutRebuildQueue.Sort(s_SortLayoutFunction); for (int i = 0; i <= 2; i++) { for (int j = 0; j < m_LayoutRebuildQueue.Count; j++) { ICanvasElement canvasElement = m_LayoutRebuildQueue[j]; try { if (ObjectValidForUpdate(canvasElement)) { canvasElement.Rebuild((CanvasUpdate)i); } } catch (Exception ex) { Debug.LogException(ex, (Object)(object)canvasElement.transform); } } } for (int k = 0; k < m_LayoutRebuildQueue.Count; k++) { m_LayoutRebuildQueue[k].LayoutComplete(); } m_LayoutRebuildQueue.Clear(); m_PerformingLayoutUpdate = false; UISystemProfilerApi.EndSample((SampleType)0); UISystemProfilerApi.BeginSample((SampleType)1); ClipperRegistry.instance.Cull(); m_PerformingGraphicUpdate = true; for (int l = 3; l < 5; l++) { for (int m = 0; m < m_GraphicRebuildQueue.Count; m++) { try { ICanvasElement canvasElement2 = m_GraphicRebuildQueue[m]; if (ObjectValidForUpdate(canvasElement2)) { canvasElement2.Rebuild((CanvasUpdate)l); } } catch (Exception ex2) { Debug.LogException(ex2, (Object)(object)m_GraphicRebuildQueue[m].transform); } } } for (int n = 0; n < m_GraphicRebuildQueue.Count; n++) { m_GraphicRebuildQueue[n].GraphicUpdateComplete(); } m_GraphicRebuildQueue.Clear(); m_PerformingGraphicUpdate = false; UISystemProfilerApi.EndSample((SampleType)1); } private static int ParentCount(Transform child) { if ((Object)(object)child == (Object)null) { return 0; } Transform parent = child.parent; int num = 0; while ((Object)(object)parent != (Object)null) { num++; parent = parent.parent; } return num; } private static int SortLayoutList(ICanvasElement x, ICanvasElement y) { Transform transform = x.transform; Transform transform2 = y.transform; return ParentCount(transform) - ParentCount(transform2); } public static void RegisterCanvasElementForLayoutRebuild(ICanvasElement element) { instance.InternalRegisterCanvasElementForLayoutRebuild(element); } public static bool TryRegisterCanvasElementForLayoutRebuild(ICanvasElement element) { return instance.InternalRegisterCanvasElementForLayoutRebuild(element); } private bool InternalRegisterCanvasElementForLayoutRebuild(ICanvasElement element) { if (m_LayoutRebuildQueue.Contains(element)) { return false; } return m_LayoutRebuildQueue.AddUnique(element); } public static void RegisterCanvasElementForGraphicRebuild(ICanvasElement element) { instance.InternalRegisterCanvasElementForGraphicRebuild(element); } public static bool TryRegisterCanvasElementForGraphicRebuild(ICanvasElement element) { return instance.InternalRegisterCanvasElementForGraphicRebuild(element); } private bool InternalRegisterCanvasElementForGraphicRebuild(ICanvasElement element) { if (m_PerformingGraphicUpdate) { Debug.LogError((object)$"Trying to add {element} for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported."); return false; } return m_GraphicRebuildQueue.AddUnique(element); } public static void UnRegisterCanvasElementForRebuild(ICanvasElement element) { instance.InternalUnRegisterCanvasElementForLayoutRebuild(element); instance.InternalUnRegisterCanvasElementForGraphicRebuild(element); } public static void DisableCanvasElementForRebuild(ICanvasElement element) { instance.InternalDisableCanvasElementForLayoutRebuild(element); instance.InternalDisableCanvasElementForGraphicRebuild(element); } private void InternalUnRegisterCanvasElementForLayoutRebuild(ICanvasElement element) { if (m_PerformingLayoutUpdate) { Debug.LogError((object)$"Trying to remove {element} from rebuild list while we are already inside a rebuild loop. This is not supported."); return; } element.LayoutComplete(); instance.m_LayoutRebuildQueue.Remove(element); } private void InternalUnRegisterCanvasElementForGraphicRebuild(ICanvasElement element) { if (m_PerformingGraphicUpdate) { Debug.LogError((object)$"Trying to remove {element} from rebuild list while we are already inside a rebuild loop. This is not supported."); return; } element.GraphicUpdateComplete(); instance.m_GraphicRebuildQueue.Remove(element); } private void InternalDisableCanvasElementForLayoutRebuild(ICanvasElement element) { if (m_PerformingLayoutUpdate) { Debug.LogError((object)$"Trying to remove {element} from rebuild list while we are already inside a rebuild loop. This is not supported."); return; } element.LayoutComplete(); instance.m_LayoutRebuildQueue.DisableItem(element); } private void InternalDisableCanvasElementForGraphicRebuild(ICanvasElement element) { if (m_PerformingGraphicUpdate) { Debug.LogError((object)$"Trying to remove {element} from rebuild list while we are already inside a rebuild loop. This is not supported."); return; } element.GraphicUpdateComplete(); instance.m_GraphicRebuildQueue.DisableItem(element); } public static bool IsRebuildingLayout() { return instance.m_PerformingLayoutUpdate; } public static bool IsRebuildingGraphics() { return instance.m_PerformingGraphicUpdate; } } [Serializable] public struct ColorBlock : IEquatable { [FormerlySerializedAs("normalColor")] [SerializeField] private Color m_NormalColor; [FormerlySerializedAs("highlightedColor")] [SerializeField] private Color m_HighlightedColor; [FormerlySerializedAs("pressedColor")] [SerializeField] private Color m_PressedColor; [FormerlySerializedAs("m_HighlightedColor")] [SerializeField] private Color m_SelectedColor; [FormerlySerializedAs("disabledColor")] [SerializeField] private Color m_DisabledColor; [Range(1f, 5f)] [SerializeField] private float m_ColorMultiplier; [FormerlySerializedAs("fadeDuration")] [SerializeField] private float m_FadeDuration; public static ColorBlock defaultColorBlock; public Color normalColor { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return m_NormalColor; } set { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) m_NormalColor = value; } } public Color highlightedColor { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return m_HighlightedColor; } set { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) m_HighlightedColor = value; } } public Color pressedColor { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return m_PressedColor; } set { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) m_PressedColor = value; } } public Color selectedColor { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return m_SelectedColor; } set { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) m_SelectedColor = value; } } public Color disabledColor { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return m_DisabledColor; } set { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) m_DisabledColor = value; } } public float colorMultiplier { get { return m_ColorMultiplier; } set { m_ColorMultiplier = value; } } public float fadeDuration { get { return m_FadeDuration; } set { m_FadeDuration = value; } } static ColorBlock() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) defaultColorBlock = new ColorBlock { m_NormalColor = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)), m_HighlightedColor = Color32.op_Implicit(new Color32((byte)245, (byte)245, (byte)245, byte.MaxValue)), m_PressedColor = Color32.op_Implicit(new Color32((byte)200, (byte)200, (byte)200, byte.MaxValue)), m_SelectedColor = Color32.op_Implicit(new Color32((byte)245, (byte)245, (byte)245, byte.MaxValue)), m_DisabledColor = Color32.op_Implicit(new Color32((byte)200, (byte)200, (byte)200, (byte)128)), colorMultiplier = 1f, fadeDuration = 0.1f }; } public override bool Equals(object obj) { if (!(obj is ColorBlock)) { return false; } return Equals((ColorBlock)obj); } public bool Equals(ColorBlock other) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) if (normalColor == other.normalColor && highlightedColor == other.highlightedColor && pressedColor == other.pressedColor && selectedColor == other.selectedColor && disabledColor == other.disabledColor && colorMultiplier == other.colorMultiplier) { return fadeDuration == other.fadeDuration; } return false; } public static bool operator ==(ColorBlock point1, ColorBlock point2) { return point1.Equals(point2); } public static bool operator !=(ColorBlock point1, ColorBlock point2) { return !point1.Equals(point2); } public override int GetHashCode() { return base.GetHashCode(); } } public class ClipperRegistry { private static ClipperRegistry s_Instance; private readonly IndexedSet m_Clippers = new IndexedSet(); public static ClipperRegistry instance { get { if (s_Instance == null) { s_Instance = new ClipperRegistry(); } return s_Instance; } } protected ClipperRegistry() { } public void Cull() { int count = m_Clippers.Count; for (int i = 0; i < count; i++) { m_Clippers[i].PerformClipping(); } } public static void Register(IClipper c) { if (c != null) { instance.m_Clippers.AddUnique(c); } } public static void Unregister(IClipper c) { instance.m_Clippers.Remove(c); } public static void Disable(IClipper c) { instance.m_Clippers.DisableItem(c); } } public static class Clipping { public static Rect FindCullAndClipWorldRect(List rectMaskParents, out bool validRect) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) if (rectMaskParents.Count == 0) { validRect = false; return default(Rect); } Rect canvasRect = rectMaskParents[0].canvasRect; Vector4 padding = rectMaskParents[0].padding; float num = ((Rect)(ref canvasRect)).xMin + padding.x; float num2 = ((Rect)(ref canvasRect)).xMax - padding.z; float num3 = ((Rect)(ref canvasRect)).yMin + padding.y; float num4 = ((Rect)(ref canvasRect)).yMax - padding.w; int count = rectMaskParents.Count; for (int i = 1; i < count; i++) { canvasRect = rectMaskParents[i].canvasRect; padding = rectMaskParents[i].padding; if (num < ((Rect)(ref canvasRect)).xMin + padding.x) { num = ((Rect)(ref canvasRect)).xMin + padding.x; } if (num3 < ((Rect)(ref canvasRect)).yMin + padding.y) { num3 = ((Rect)(ref canvasRect)).yMin + padding.y; } if (num2 > ((Rect)(ref canvasRect)).xMax - padding.z) { num2 = ((Rect)(ref canvasRect)).xMax - padding.z; } if (num4 > ((Rect)(ref canvasRect)).yMax - padding.w) { num4 = ((Rect)(ref canvasRect)).yMax - padding.w; } } validRect = num2 > num && num4 > num3; if (!validRect) { return default(Rect); } return new Rect(num, num3, num2 - num, num4 - num3); } } public interface IClipper { void PerformClipping(); } public interface IClippable { GameObject gameObject { get; } RectTransform rectTransform { get; } void RecalculateClipping(); void Cull(Rect clipRect, bool validRect); void SetClipRect(Rect value, bool validRect); void SetClipSoftness(Vector2 clipSoftness); } internal class RectangularVertexClipper { private readonly Vector3[] m_WorldCorners = (Vector3[])(object)new Vector3[4]; private readonly Vector3[] m_CanvasCorners = (Vector3[])(object)new Vector3[4]; public Rect GetCanvasRect(RectTransform t, Canvas c) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)c == (Object)null) { return default(Rect); } t.GetWorldCorners(m_WorldCorners); Transform component = ((Component)c).GetComponent(); for (int i = 0; i < 4; i++) { m_CanvasCorners[i] = component.InverseTransformPoint(m_WorldCorners[i]); } return new Rect(m_CanvasCorners[0].x, m_CanvasCorners[0].y, m_CanvasCorners[2].x - m_CanvasCorners[0].x, m_CanvasCorners[2].y - m_CanvasCorners[0].y); } } public static class DefaultControls { public interface IFactoryControls { GameObject CreateGameObject(string name, params Type[] components); } private class DefaultRuntimeFactory : IFactoryControls { public static IFactoryControls Default = new DefaultRuntimeFactory(); public GameObject CreateGameObject(string name, params Type[] components) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown return new GameObject(name, components); } } public struct Resources { public Sprite standard; public Sprite background; public Sprite inputField; public Sprite knob; public Sprite checkmark; public Sprite dropdown; public Sprite mask; } private static IFactoryControls m_CurrentFactory = DefaultRuntimeFactory.Default; private const float kWidth = 160f; private const float kThickHeight = 30f; private const float kThinHeight = 20f; private static Vector2 s_ThickElementSize = new Vector2(160f, 30f); private static Vector2 s_ThinElementSize = new Vector2(160f, 20f); private static Vector2 s_ImageElementSize = new Vector2(100f, 100f); private static Color s_DefaultSelectableColor = new Color(1f, 1f, 1f, 1f); private static Color s_PanelColor = new Color(1f, 1f, 1f, 0.392f); private static Color s_TextColor = new Color(10f / 51f, 10f / 51f, 10f / 51f, 1f); public static IFactoryControls factory => m_CurrentFactory; private static GameObject CreateUIElementRoot(string name, Vector2 size, params Type[] components) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) GameObject obj = factory.CreateGameObject(name, components); obj.GetComponent().sizeDelta = size; return obj; } private static GameObject CreateUIObject(string name, GameObject parent, params Type[] components) { GameObject obj = factory.CreateGameObject(name, components); SetParentAndAlign(obj, parent); return obj; } private static void SetDefaultTextValues(Text lbl) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) lbl.color = s_TextColor; if ((Object)(object)lbl.font == (Object)null) { lbl.AssignDefaultFont(); } } private static void SetDefaultColorTransitionValues(Selectable slider) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) ColorBlock colors = slider.colors; colors.highlightedColor = new Color(0.882f, 0.882f, 0.882f); colors.pressedColor = new Color(0.698f, 0.698f, 0.698f); colors.disabledColor = new Color(0.521f, 0.521f, 0.521f); } private static void SetParentAndAlign(GameObject child, GameObject parent) { if (!((Object)(object)parent == (Object)null)) { child.transform.SetParent(parent.transform, false); SetLayerRecursively(child, parent.layer); } } private static void SetLayerRecursively(GameObject go, int layer) { go.layer = layer; Transform transform = go.transform; for (int i = 0; i < transform.childCount; i++) { SetLayerRecursively(((Component)transform.GetChild(i)).gameObject, layer); } } public static GameObject CreatePanel(Resources resources) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) GameObject obj = CreateUIElementRoot("Panel", s_ThickElementSize, typeof(Image)); RectTransform component = obj.GetComponent(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.anchoredPosition = Vector2.zero; component.sizeDelta = Vector2.zero; Image component2 = obj.GetComponent(); component2.sprite = resources.background; component2.type = Image.Type.Sliced; component2.color = s_PanelColor; return obj; } public static GameObject CreateButton(Resources resources) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) GameObject val = CreateUIElementRoot("Button (Legacy)", s_ThickElementSize, typeof(Image), typeof(Button)); GameObject obj = CreateUIObject("Text (Legacy)", val, typeof(Text)); Image component = val.GetComponent(); component.sprite = resources.standard; component.type = Image.Type.Sliced; component.color = s_DefaultSelectableColor; SetDefaultColorTransitionValues(val.GetComponent