public RichEditLine(Transform parent, float width) { gameObject = new GameObject("RichEditLine"); transform = gameObject.AddComponent<RectTransform>(); transform.SetParent(parent, false); transform.SetAsLastSibling(); layoutElement = gameObject.AddComponent<LayoutElement>(); layoutElement.preferredWidth = width; layoutElement.preferredHeight = 0; layoutGroup = gameObject.AddComponent<HorizontalLayoutGroup>(); layoutGroup.childForceExpandWidth = false; layoutGroup.childForceExpandHeight = false; layoutGroup.childAlignment = TextAnchor.LowerLeft; }
public RichEditBlock(Transform parent, float width, float lineSpacing) { gameObject = new GameObject("RichEditBlock"); transform = gameObject.AddComponent<RectTransform>(); transform.SetParent(parent, false); transform.SetAsLastSibling(); layoutElement = gameObject.AddComponent<LayoutElement>(); layoutElement.preferredWidth = width; layoutElement.preferredHeight = 0; layoutGroup = gameObject.AddComponent<VerticalLayoutGroup>(); layoutGroup.childForceExpandWidth = false; layoutGroup.childForceExpandHeight = false; layoutGroup.childAlignment = TextAnchor.LowerLeft; layoutGroup.spacing = lineSpacing; currentLine = AddNewLine(); }
public bool Add(RectTransform child, bool forceAdd = false) { bool canAdd = child.rect.width <= AvailableWidth; if (!canAdd && !forceAdd) { return false; } UpdateHeightForChild(child); if (canAdd) { child.SetParent(transform, false); child.SetAsLastSibling(); CurrentWidth += child.rect.width; } else { GameObject containerObject = new GameObject("LineForceContainer"); RectTransform containerTransformRect = containerObject.AddComponent<RectTransform>(); containerTransformRect.SetParent(transform, false); containerTransformRect.SetAsLastSibling(); LayoutElement containerLayoutElement = containerObject.AddComponent<LayoutElement>(); containerLayoutElement.preferredWidth = AvailableWidth; containerLayoutElement.preferredHeight = child.rect.height; CurrentWidth += containerLayoutElement.preferredWidth; } return true; }
/// <summary> /// Creates user interface. /// </summary> private void CreateUI() { DebugEx.Verbose("DockingGroupScript.CreateUI()"); //=========================================================================== // Tabs GameObject //=========================================================================== #region Tabs GameObject GameObject tabs = new GameObject("Tabs"); Utils.InitUIObject(tabs, transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mTabsTransform = tabs.AddComponent<RectTransform>(); Utils.AlignRectTransformTopStretch(mTabsTransform, 16f); #endregion //*************************************************************************** // ContextMenu GameObject //*************************************************************************** #region ContextMenu GameObject GameObject contextMenuGameObject = new GameObject("ContextMenu"); Utils.InitUIObject(contextMenuGameObject, tabs.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component RectTransform contextMenuTransform = contextMenuGameObject.AddComponent<RectTransform>(); Utils.AlignRectTransformTopRight(contextMenuTransform, 14f, 5f, 5f, 10f); #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component contextMenuGameObject.AddComponent<CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image contextMenuImage = contextMenuGameObject.AddComponent<Image>(); contextMenuImage.sprite = Assets.Common.DockWidgets.Textures.contextMenuButton.sprite; contextMenuImage.type = Image.Type.Sliced; #endregion //=========================================================================== // Button Component //=========================================================================== #region Button Component Button contextMenuButton = contextMenuGameObject.AddComponent<Button>(); contextMenuButton.targetGraphic = contextMenuImage; contextMenuButton.transition = Selectable.Transition.SpriteSwap; contextMenuButton.spriteState = Assets.Common.DockWidgets.SpriteStates.contextMenuButton.spriteState; contextMenuButton.onClick.AddListener(OnContextMenuButtonClicked); #endregion #endregion //*************************************************************************** // Lock GameObject //*************************************************************************** #region Lock GameObject GameObject lockGameObject = new GameObject("Lock"); Utils.InitUIObject(lockGameObject, tabs.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component RectTransform lockTransform = lockGameObject.AddComponent<RectTransform>(); Utils.AlignRectTransformTopRight(lockTransform, 7f, 9f, 25f, 6f); #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component lockGameObject.AddComponent<CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image lockImage = lockGameObject.AddComponent<Image>(); lockImage.sprite = Assets.Common.DockWidgets.Textures.unlockedButton.sprite; lockImage.type = Image.Type.Sliced; #endregion //=========================================================================== // Button Component //=========================================================================== #region Button Component Button lockButton = lockGameObject.AddComponent<Button>(); lockButton.targetGraphic = lockImage; lockButton.transition = Selectable.Transition.SpriteSwap; lockButton.spriteState = Assets.Common.DockWidgets.SpriteStates.unlockedButton.spriteState; lockButton.onClick.AddListener(OnLockButtonClicked); #endregion #endregion #endregion //=========================================================================== // Pages GameObject //=========================================================================== #region Pages GameObject GameObject pages = new GameObject("Pages"); Utils.InitUIObject(pages, transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component RectTransform pagesTransform = pages.AddComponent<RectTransform>(); Utils.AlignRectTransformStretchStretch(pagesTransform, 0f, 16f, 0f, 0f); #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component pages.AddComponent<CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image pagesImage = pages.AddComponent<Image>(); pagesImage.sprite = Assets.Common.DockWidgets.Textures.pageBackground.sprite; pagesImage.type = Image.Type.Sliced; #endregion //=========================================================================== // Content GameObject //=========================================================================== #region Content GameObject GameObject content = new GameObject("Content"); Utils.InitUIObject(content, pages.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mContentTransform = content.AddComponent<RectTransform>(); Utils.AlignRectTransformStretchStretch( mContentTransform , pagesImage.sprite.border.x , pagesImage.sprite.border.w , pagesImage.sprite.border.z , pagesImage.sprite.border.y ); #endregion #endregion #endregion mTabsTransform.SetAsLastSibling(); }