示例#1
0
        private void Clear()
        {
            enabled             = false;
            selectedGob         = null;
            selectedComponent   = null;
            selectionTitle.text = "<i>None</i>";
            selectionInfo.text  = "";

            Canvas.ForceUpdateCanvases();

            infoCSF.SetLayoutVertical();
            contentLG.CalculateLayoutInputVertical();
            contentCSF.SetLayoutVertical();
        }
        public void Initialize(string[] options, Action <bool[]> onAffirmativeButtonClicked, string affirmativeButtonText, string titleText, ImageData icon, Action onDismissiveButtonClicked, string dismissiveButtonText)
        {
            m_OptionList      = options;
            m_SelectionItems  = new List <DialogCheckboxOption>();
            m_SelectedIndexes = new bool[options.Length];

            for (int i = 0; i < m_OptionList.Length; i++)
            {
                m_SelectionItems.Add(CreateSelectionItem(i));
            }

            Destroy(m_OptionTemplate);

            m_TitleSection.SetTitle(titleText, icon);
            m_ButtonSection.SetButtons(null, affirmativeButtonText, onDismissiveButtonClicked, dismissiveButtonText);
            m_ButtonSection.SetupButtonLayout(rectTransform);

            m_OnAffirmativeButtonClicked = onAffirmativeButtonClicked;

            float availableHeight = DialogManager.rectTransform.rect.height;

            LayoutGroup textAreaRectTransform = m_TitleSection.text.transform.parent.GetComponent <LayoutGroup>();

            if (textAreaRectTransform.gameObject.activeSelf)
            {
                textAreaRectTransform.CalculateLayoutInputVertical();
                availableHeight -= textAreaRectTransform.preferredHeight;
            }

            m_ListScrollLayoutElement.maxHeight = availableHeight - 98f;

            Initialize();
        }
 private void UpdateGrid(LayoutGroup gridLayoutGroup)
 {
     gridLayoutGroup.CalculateLayoutInputHorizontal();
     gridLayoutGroup.CalculateLayoutInputVertical();
     gridLayoutGroup.SetLayoutHorizontal();
     gridLayoutGroup.SetLayoutVertical();
 }
示例#4
0
 static public void UpdateLayout(LayoutGroup layout)
 {
     layout.CalculateLayoutInputHorizontal();
     layout.SetLayoutHorizontal();
     layout.CalculateLayoutInputVertical();
     layout.SetLayoutVertical();
 }
示例#5
0
        /// <summary>
        /// Gets the height of the item.
        /// </summary>
        /// <returns>The item height.</returns>
        /// <param name="item">Item.</param>
        float CalculateItemHeight(TItem item)
        {
            if (defaultItemlayoutGroup == null)
            {
                defaultItemlayoutGroup = DefaultItemCopy.GetComponent <LayoutGroup>();
            }

            float height = 0f;

            if ((!IsCanCalculateHeight || ForceAutoHeightCalculation) && (defaultItemlayoutGroup != null))
            {
                DefaultItemCopy.gameObject.SetActive(true);

                SetData(DefaultItemCopy, item);

                defaultItemlayoutGroup.CalculateLayoutInputHorizontal();
                defaultItemlayoutGroup.SetLayoutHorizontal();
                defaultItemlayoutGroup.CalculateLayoutInputVertical();
                defaultItemlayoutGroup.SetLayoutVertical();

                height = LayoutUtility.GetPreferredHeight(DefaultItemCopyRect);

                DefaultItemCopy.gameObject.SetActive(false);
            }
            else
            {
                SetData(DefaultItemCopy, item);

                height = (DefaultItemCopy as IListViewItemHeight).Height;
            }

            return(height);
        }
示例#6
0
 //layoutが反映されないときに更新をする処理
 //非アクティブの時に要素を変更し、activeにすると発生?
 static void UpdateLayout(LayoutGroup layout)
 {
     //layoutがアクティブになったタイミングだと機能しないので1frame待っている
     //本当は、必要なら1フレーム待つ をしたい
     WaitAction.Instance.CoalWaitAction_frame(() =>
     {
         layout.CalculateLayoutInputVertical();
         layout.SetLayoutVertical();
     }, 1);
 }
示例#7
0
 /// <summary>
 /// Updates the layout.
 /// </summary>
 /// <param name="layout">Layout.</param>
 public static void UpdateLayout(LayoutGroup layout)
 {
     if (layout == null)
     {
         return;
     }
     layout.CalculateLayoutInputHorizontal();
     layout.SetLayoutHorizontal();
     layout.CalculateLayoutInputVertical();
     layout.SetLayoutVertical();
 }
示例#8
0
        private void Awake()
        {
            _layout = GetComponent <LayoutGroup>();


            _layout.CalculateLayoutInputHorizontal();
            _layout.CalculateLayoutInputVertical();

            _filter.SetLayoutHorizontal();
            _filter.SetLayoutVertical();
        }
示例#9
0
 /// <summary>
 /// Updates the layout.
 /// </summary>
 /// <param name="layout">Layout.</param>
 static public void UpdateLayout(LayoutGroup layout)
 {
     if (layout is EasyLayout.EasyLayout)
     {
         (layout as EasyLayout.EasyLayout).UpdateLayout();
     }
     else
     {
         layout.CalculateLayoutInputHorizontal();
         layout.SetLayoutHorizontal();
         layout.CalculateLayoutInputVertical();
         layout.SetLayoutVertical();
     }
 }
        public void Initialize(OptionDataList optionDataList, Action <int> onItemClick, string titleText, ImageData icon)
        {
            m_TitleSection.SetTitle(titleText, icon);

            m_OptionDataList = optionDataList;
            m_SelectionItems = new List <DialogSimpleOption>();

            Image       imageIcon  = m_OptionTemplate.GetChildByName <Image>("Icon");
            VectorImage vectorIcon = m_OptionTemplate.GetChildByName <VectorImage>("Icon");

            if (m_OptionDataList.options.Count > 0 && m_OptionDataList.options[0].imageData != null)
            {
                if (m_OptionDataList.options[0].imageData.imageDataType == ImageDataType.Sprite)
                {
                    DestroyImmediate(vectorIcon.gameObject);
                }
                else
                {
                    DestroyImmediate(imageIcon.gameObject);
                }
            }
            else
            {
                DestroyImmediate(imageIcon.gameObject);
            }

            for (int i = 0; i < m_OptionDataList.options.Count; i++)
            {
                m_SelectionItems.Add(CreateSelectionItem(i));
            }

            float availableHeight = DialogManager.rectTransform.rect.height;

            LayoutGroup textAreaRectTransform = m_TitleSection.text.transform.parent.GetComponent <LayoutGroup>();

            if (textAreaRectTransform.gameObject.activeSelf)
            {
                textAreaRectTransform.CalculateLayoutInputVertical();
                availableHeight -= textAreaRectTransform.preferredHeight;
            }

            m_ListScrollLayoutElement.maxHeight = availableHeight - 48f;

            Destroy(m_OptionTemplate);

            m_OnItemClick = onItemClick;

            Initialize();
        }
    public static int CalculateLayoutInputVertical(IntPtr l)
    {
        int result;

        try
        {
            LayoutGroup layoutGroup = (LayoutGroup)LuaObject.checkSelf(l);
            layoutGroup.CalculateLayoutInputVertical();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
示例#12
0
    private static int CalculateLayoutInputVertical(IntPtr L)
    {
        int result;

        try
        {
            ToLua.CheckArgsCount(L, 1);
            LayoutGroup layoutGroup = (LayoutGroup)ToLua.CheckObject(L, 1, typeof(LayoutGroup));
            layoutGroup.CalculateLayoutInputVertical();
            result = 0;
        }
        catch (Exception e)
        {
            result = LuaDLL.toluaL_exception(L, e, null);
        }
        return(result);
    }
示例#13
0
    private void CheckBounds()
    {
        Vector3[] corners = new Vector3[4];
        parentRect.GetLocalCorners(corners);
        Vector3 screenSize = corners[corners.Length - 1];

        ResetContentPosition(displayRect);

        layout.CalculateLayoutInputHorizontal();
        layout.CalculateLayoutInputVertical();
        LayoutRebuilder.ForceRebuildLayoutImmediate(displayRect);


        float width  = displayRect.sizeDelta.x;
        float height = displayRect.sizeDelta.y;

        RectTransformUtility.ScreenPointToLocalPointInRectangle(parentRect,
                                                                Input.mousePosition,
                                                                null,
                                                                out _tooltipPosition);

        float verticalDiff = Mathf.Abs(screenSize.y - _tooltipPosition.y);

        if (height > verticalDiff)
        {
            displayRect.pivot         = new Vector2(displayRect.pivot.x, 0);
            displayRect.localPosition = Vector3.zero;
        }

        float horizontalDiff = Mathf.Abs(screenSize.x - _tooltipPosition.x);

        if (width > horizontalDiff)
        {
            displayRect.pivot         = new Vector2(1, displayRect.pivot.y);
            displayRect.localPosition = Vector3.zero;
        }
    }
示例#14
0
		static public void UpdateLayout(LayoutGroup layout)
		{
			layout.CalculateLayoutInputHorizontal();
			layout.SetLayoutHorizontal();
			layout.CalculateLayoutInputVertical();
			layout.SetLayoutVertical();
		}
示例#15
0
 public void OnEnableUI()
 {
     _layout.CalculateLayoutInputHorizontal();
     _layout.CalculateLayoutInputVertical();
 }