/*--------------------------------------------------------------------------------------------*/ private void UpdateIcons(HovercastInterface pCast) { HovercastOpenIcons icons = pCast.OpenItem.GetComponentInChildren <HovercastOpenIcons>(); if (icons.OpenIcon != null) { icons.OpenIcon.SetActive(!pCast.IsOpen); } if (icons.CloseIcon != null) { icons.CloseIcon.SetActive(pCast.IsOpen); } }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ private void BuildOpenItem(GameObject pItemGo) { HoverItemBuilder build = pItemGo.AddComponent <HoverItemBuilder>(); build.ItemType = HoverItem.HoverItemType.Selector; build.ButtonRendererPrefab = ButtonRendererPrefab; build.PerformBuild(); //// HovercastInterface inter = gameObject.GetComponent <HovercastInterface>(); HoverItemDataSelector data = pItemGo.GetComponent <HoverItemDataSelector>(); data.Id = "HovercastOpenItem"; data.Label = ""; #if UNITY_EDITOR UnityEditor.Events.UnityEventTools.AddPersistentListener( data.OnSelectedEvent, inter.OnOpenToggled); #else data.OnSelectedEvent.AddListener(inter.OnRowSwitched); #endif HoverCanvas can = pItemGo.GetComponentInChildren <HoverCanvas>(); var iconPivotGo = new GameObject("IconPivot"); iconPivotGo.transform.SetParent(can.transform, false); var iconOpenGo = new GameObject("IconOpen"); iconOpenGo.transform.SetParent(iconPivotGo.transform, false); var iconCloseGo = new GameObject("IconClose"); iconCloseGo.transform.SetParent(iconPivotGo.transform, false); RectTransform iconPivotRectTx = iconPivotGo.AddComponent <RectTransform>(); iconPivotRectTx.localPosition = new Vector3(-47.5f, 0, 0); iconPivotRectTx.localScale = new Vector3(2.2f, 2.2f, 1); iconPivotRectTx.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 100); iconPivotRectTx.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 100); RectTransform iconOpenRectTx = iconOpenGo.AddComponent <RectTransform>(); iconOpenRectTx.localPosition = new Vector3(19, 0, 0); iconOpenRectTx.localRotation = Quaternion.Euler(0, 0, -45); iconOpenRectTx.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 40); iconOpenRectTx.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 40); RectTransform iconCloseRectTx = iconCloseGo.AddComponent <RectTransform>(); iconCloseRectTx.localPosition = new Vector3(19, 0, 0); iconCloseRectTx.localRotation = Quaternion.Euler(0, 0, -45); iconCloseRectTx.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 40); iconCloseRectTx.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 40); RawImage openImage = iconOpenGo.AddComponent <RawImage>(); openImage.material = Resources.Load <Material>("Materials/HovercastIconsMaterial"); openImage.uvRect = new Rect(0.002f, 0.002f, 0.496f, 0.996f); RawImage closeImage = iconCloseGo.AddComponent <RawImage>(); closeImage.material = openImage.material; closeImage.uvRect = new Rect(0.502f, 0.002f, 0.496f, 0.996f); //// HoverShapeArc shapeArc = pItemGo.AddComponent <HoverShapeArc>(); shapeArc.OuterRadius = 0.02f; shapeArc.InnerRadius = 0; shapeArc.ArcDegrees = 360; HovercastOpenIcons icons = pItemGo.AddComponent <HovercastOpenIcons>(); icons.OpenIcon = iconOpenGo; icons.CloseIcon = iconCloseGo; }