private void InitUI() { isInit = true;; Vector2 size = new Vector2(650, 650); Vector2 leftPos = actor ? new Vector2(-size.x * 0f, 0) : new Vector2(size.x * 0f, 0); GameObject scrollView = CreateUI.NewScrollView(size, BarType.Vertical, ContentType.VerticalLayout); scrollRect = scrollView.GetComponent <ScrollRect>(); scrollRect.verticalNormalizedPosition = 1; Image imgScrollView = scrollView.GetComponentInChildren <Image>(); imgScrollView.color = new Color(0.5f, 0.5f, 0.5f, 0.005f); imgScrollView.raycastTarget = false; RectTransform rScrollView = ((RectTransform)scrollView.transform); rScrollView.SetParent(gameObject.transform, false); rScrollView.anchoredPosition = leftPos; scrollView.GetComponentInChildren <Mask>().enabled = false; GameObject image = new GameObject("line", new System.Type[] { typeof(RectTransform) }); RectTransform rItemCell = image.GetComponent <RectTransform>(); rItemCell.SetParent(transform, false); rItemCell.anchoredPosition = new Vector2(10000, 10000); GameObject prefab = Warehouse.instance.warehouseItemIcon; for (int i = 0; i < Main.settings.numberOfColumns; i++) { GameObject go = UnityEngine.Object.Instantiate(prefab); go.transform.SetParent(rItemCell, false); } rItemCell.sizeDelta = new Vector2(size.x, size.x / Main.settings.numberOfColumns); GridLayoutGroup gridLayoutGroup = image.AddComponent <GridLayoutGroup>(); gridLayoutGroup.cellSize = size / Main.settings.numberOfColumns * 0.9f; gridLayoutGroup.spacing = 0.05f * size / Main.settings.numberOfColumns; gridLayoutGroup.padding.left = (int)(size.x / Main.settings.numberOfColumns * 0.05f); gridLayoutGroup.padding.top = (int)(size.x / Main.settings.numberOfColumns * 0.05f); WarehouseItem itemCell = image.AddComponent <WarehouseItem>(); bigDataScroll = gameObject.AddComponent <BigDataScroll>(); bigDataScroll.Init(scrollRect, itemCell, SetCell); bigDataScroll.cellHeight = size.x / Main.settings.numberOfColumns; Transform parent = transform.parent; ScrollRect scroll = parent.GetComponent <ScrollRect>(); if (scroll != null) { if (scroll.verticalScrollbar != null) { Image other = scroll.verticalScrollbar.GetComponent <Image>(); if (other != null) { RectTransform rect = (RectTransform)rScrollView.Find("ScrollbarVertical"); //rect.sizeDelta = new Vector2(10, 0); Image my = rect.GetComponent <Image>(); //my.color = new Color(10.9490196f, 0.509803951f, 0.203921571f); my.sprite = other.sprite; my.type = Image.Type.Sliced; } else { Main.Logger.Log("没找到 ScrollbarVertical Image"); } if (scroll.verticalScrollbar.targetGraphic != null) { Image other2 = scroll.verticalScrollbar.targetGraphic.GetComponent <Image>(); if (other != null) { RectTransform rect = (RectTransform)rScrollView.Find("ScrollbarVertical/SlidingArea/Handle"); //rect.sizeDelta = new Vector2(10, 10); Image my = rect.GetComponent <Image>(); //my.color = new Color(0.3882353f, 0.807843149f, 0.8156863f); my.sprite = other2.sprite; my.type = Image.Type.Sliced; } else { Main.Logger.Log("没找到 Handle Image"); } } else { Main.Logger.Log("没找到 Handle"); } } } else { Main.Logger.Log("没找到 ScrollbarVertical"); } SetData(); }
private void InitUI() { isInit = true; Vector2 size = new Vector2(200, 600); Vector2 pos = new Vector2(0, 0); Vector2 cellSize = new Vector2(165.0f, 78.0f); float cellWidth = 165.0f; float cellHeight = 78.0f + 38.5f; // Main.Logger.Log("10"); GameObject scrollView = CreateUI.NewScrollView(size, BarType.Vertical, ContentType.VerticalLayout); scrollRect = scrollView.GetComponent <ScrollRect>(); WorldMapSystem.instance.actorHolder = scrollRect.content; rectContent = scrollRect.content; rectContent.GetComponent <ContentSizeFitter>().enabled = false; rectContent.GetComponent <VerticalLayoutGroup>().enabled = false; // Main.Logger.Log("完"); scrollRect.verticalNormalizedPosition = 1; Image imgScrollView = scrollView.GetComponentInChildren <Image>(); imgScrollView.color = new Color(0.5f, 0.5f, 0.5f, 0.005f); imgScrollView.raycastTarget = false; RectTransform rScrollView = ((RectTransform)scrollView.transform); rScrollView.SetParent(gameObject.transform, false); rScrollView.anchoredPosition = pos; scrollView.GetComponentInChildren <Mask>().enabled = false; // Main.Logger.Log("完0"); GameObject gItemCell = new GameObject("line", new System.Type[] { typeof(RectTransform) }); RectTransform rItemCell = gItemCell.GetComponent <RectTransform>(); rItemCell.SetParent(transform, false); rItemCell.anchoredPosition = new Vector2(10000, 10000); rItemCell.sizeDelta = new Vector2(cellWidth, cellHeight); //Image imgItemCell = gItemCell.AddComponent<Image>(); //imgItemCell.color = new Color(1, 0, 0, 0.5f); // Main.Logger.Log("完成"); GameObject prefab = WorldMapSystem.instance.actorIcon; for (int i = 0; i < Main.settings.numberOfColumns; i++) { GameObject go = UnityEngine.Object.Instantiate(prefab); go.transform.SetParent(rItemCell, false); } // Main.Logger.Log("完成0"); GridLayoutGroup gridLayoutGroup = gItemCell.AddComponent <GridLayoutGroup>(); gridLayoutGroup.cellSize = cellSize; gridLayoutGroup.spacing = new Vector2(0, 0); gridLayoutGroup.padding.left = (int)(0); gridLayoutGroup.padding.top = (int)(0); // Main.Logger.Log("完成1"); NpcItem itemCell = gItemCell.AddComponent <NpcItem>(); bigDataScroll = gameObject.AddComponent <BigDataScroll>(); bigDataScroll.Init(scrollRect, itemCell, SetCell); bigDataScroll.cellHeight = cellHeight; //GuiBaseUI.Main.LogAllChild(transform, true); ScrollRect scroll = transform.GetComponent <ScrollRect>(); // Main.Logger.Log("完成v"); RectTransform otherRect = scroll.verticalScrollbar.GetComponent <RectTransform>(); Image other = otherRect.GetComponent <Image>(); // Main.Logger.Log("完成a"); RectTransform myRect = scrollRect.verticalScrollbar.GetComponent <RectTransform>(); //myRect.sizeDelta = new Vector2(10, 0); // Main.Logger.Log("完成b"); Image my = myRect.GetComponent <Image>(); // Main.Logger.Log("完成e"); //my.color = new Color(0.9490196f, 0.509803951f, 0.503921571f); my.sprite = other.sprite; my.type = Image.Type.Sliced; // Main.Logger.Log("完成p"); // Main.Logger.Log("完成V"); RectTransform otherRect2 = scrollRect.verticalScrollbar.targetGraphic.GetComponent <RectTransform>(); Image other2 = otherRect2.GetComponent <Image>(); // Main.Logger.Log("完成A"); RectTransform myRect2 = scrollRect.verticalScrollbar.targetGraphic.GetComponent <RectTransform>(); // Main.Logger.Log("完成B"); //myRect2.sizeDelta = new Vector2(10, 10); Image my2 = myRect2.GetComponent <Image>(); // Main.Logger.Log("完成C"); //my2.color = new Color(0.5882353f, 0.807843149f, 0.8156863f); my2.sprite = other2.sprite; my2.type = Image.Type.Sliced; // Main.Logger.Log("完成D"); // Main.Logger.Log("完成3"); SetData(); ////test //Image imgContent = rectContent.gameObject.GetComponent<Image>(); //if (imgContent == null) //{ // imgContent = rectContent.gameObject.AddComponent<Image>(); //} //imgContent.color = new Color(0, 1, 0, 0.9f); //Image imgTop = bigDataScroll.top.gameObject.GetComponent<Image>(); //if (imgTop == null) //{ // imgTop = bigDataScroll.top.gameObject.AddComponent<Image>(); //} //imgTop.color = new Color(1, 1, 1, 0.9f); //Image imgBtm = bigDataScroll.btm.gameObject.GetComponent<Image>(); //if (imgBtm == null) //{ // imgBtm = bigDataScroll.btm.gameObject.AddComponent<Image>(); //} //imgContent.color = new Color(0, 0, 0, 0.9f); //bigDataScroll.top.name = "Actor,0"; //bigDataScroll.btm.name = "Actor,0"; //transform.localScale = transform.localScale * 0.33f; }
private void InitUI() { Vector2 size = new Vector2(995.0f, 780.0f); Vector2 cellSize = new Vector2(210, 78); float spacing = 30f; float lineHeight = size.y / 6; GameObject scrollView = CreateUI.NewScrollView(size, BarType.Vertical, ContentType.Node); ContentSizeFitter contentSizeFitter = scrollView.GetComponentInChildren <ContentSizeFitter>(); if (contentSizeFitter != null) { contentSizeFitter.enabled = false; } scrollRect = scrollView.GetComponent <ScrollRect>(); scrollRect.verticalNormalizedPosition = 1; Image imgScrollView = scrollView.GetComponentInChildren <Image>(); imgScrollView.color = new Color(0.5f, 0.5f, 0.5f, 0.005f);// 测试时可以把透明度调成0.5可以看见底板大小是否正确 imgScrollView.raycastTarget = false; RectTransform rScrollView = ((RectTransform)scrollView.transform); rScrollView.SetParent(transform, false); rScrollView.anchoredPosition = new Vector2(0, 0); //scrollView.GetComponentInChildren<Mask>().enabled = false;//测试的时候设置不要遮罩方便看 GameObject itemCell = new GameObject("line", new System.Type[] { typeof(RectTransform) });// 创建一行的预制件 //itemCell.AddComponent<Image>().color = new Color(1, 0, 0, 0.5f);//测试的时候加个图片方便看到是否有创建 RectTransform rItemCell = itemCell.GetComponent <RectTransform>(); rItemCell.SetParent(transform, false); rItemCell.anchoredPosition = new Vector2(10000, 10000); // 把预制件设置到看不见的地方 rItemCell.sizeDelta = new Vector2(size.x, lineHeight); GameObject prefab = HomeSystem.instance.listActor; // 这里设置Item预制件 for (int i = 0; i < Main.settings.numberOfColumns; i++) // 初始化预制件 { GameObject go = UnityEngine.Object.Instantiate(prefab); go.transform.SetParent(rItemCell, false); } GridLayoutGroup gridLayoutGroup = itemCell.AddComponent <GridLayoutGroup>(); gridLayoutGroup.cellSize = cellSize; gridLayoutGroup.spacing = new Vector2(spacing, spacing); gridLayoutGroup.padding.left = (int)spacing; gridLayoutGroup.padding.top = (int)spacing; ActorItem actorItem = itemCell.AddComponent <ActorItem>(); bigDataScroll = gameObject.AddComponent <BigDataScroll>(); // 添加大数据滚动组件 bigDataScroll.Init(scrollRect, actorItem, SetCell); //初始化大数据滚动组件 bigDataScroll.cellHeight = lineHeight; //设置每行高度 // 设置滚动条图片 Transform parent = transform.parent; ScrollRect scroll = GetComponent <ScrollRect>();//获取原本的组件 Image otherBar = scroll.verticalScrollbar.GetComponent <Image>(); Image myBar = scrollRect.verticalScrollbar.GetComponent <Image>(); myBar.sprite = otherBar.sprite; myBar.type = Image.Type.Sliced; Image otherHand = scroll.verticalScrollbar.targetGraphic.GetComponent <Image>(); Image myHand = scrollRect.verticalScrollbar.targetGraphic.GetComponent <Image>(); myHand.sprite = otherHand.sprite; myHand.type = Image.Type.Sliced; // Main.Logger.Log("UI改造完毕"); //GuiBaseUI.Main.LogAllChild(transform.parent, true); isInit = true; SetData(); }
private void InitUI() { hasInit = true; Vector2 size = new Vector2(740, 740); GameObject scrollView = CreateUI.NewScrollView(size, BarType.Vertical, ContentType.VerticalLayout); scrollRect = scrollView.GetComponent <ScrollRect>(); scrollRect.verticalNormalizedPosition = 1; Image imgScrollView = scrollView.GetComponentInChildren <Image>(); imgScrollView.color = new Color(0.5f, 0.5f, 0.5f, 0.005f); imgScrollView.raycastTarget = false; RectTransform rScrollView = scrollView.GetComponent <RectTransform>(); rScrollView.SetParent(gameObject.transform, false); rScrollView.anchoredPosition = Vector2.zero; GameObject image = new GameObject("line", new System.Type[] { typeof(RectTransform) }); RectTransform rItemCell = image.GetComponent <RectTransform>(); rItemCell.SetParent(transform, false); rItemCell.anchoredPosition = new Vector2(10000, 10000); GameObject prefab = HomeSystem.instance.bookIcon; for (int i = 0; i < columns; i++) { GameObject go = UnityEngine.Object.Instantiate(prefab, Vector3.zero, Quaternion.identity); go.transform.SetParent(rItemCell, false); } rItemCell.sizeDelta = new Vector2(size.x, size.x / columns + 35f); GridLayoutGroup gridLayoutGroup = image.AddComponent <GridLayoutGroup>(); gridLayoutGroup.cellSize = size / columns * 0.9f; gridLayoutGroup.spacing = 0.05f * size / columns; gridLayoutGroup.padding.left = (int)(size.x / columns * 0.05f); gridLayoutGroup.padding.top = (int)(size.x / columns * 0.05f); bookCell = image.AddComponent <BookCell>(); bigDataScroll = gameObject.AddComponent <BigDataScroll>(); bigDataScroll.Init(scrollRect, bookCell, SetCell); bigDataScroll.cellHeight = size.x / columns + 35f; ScrollRect scroll = HomeSystem.instance.bookHolder.parent.parent.GetComponent <ScrollRect>(); if (scroll != null) { if (scroll.verticalScrollbar != null) { Image other = scroll.verticalScrollbar.GetComponent <Image>(); if (other != null) { RectTransform rect = (RectTransform)rScrollView.Find("ScrollbarVertical"); Image my = rect.GetComponent <Image>(); my.sprite = other.sprite; my.type = Image.Type.Sliced; } else { Main.Logger.Log("没找到 ScrollbarVertical Image"); } if (scroll.verticalScrollbar.targetGraphic != null) { Image other2 = scroll.verticalScrollbar.targetGraphic.GetComponent <Image>(); if (other != null) { RectTransform rect = (RectTransform)rScrollView.Find("ScrollbarVertical/SlidingArea/Handle"); Image my = rect.GetComponent <Image>(); my.sprite = other2.sprite; my.type = Image.Type.Sliced; } else { Main.Logger.Log("没找到 Handle Image"); } } else { Main.Logger.Log("没找到 Handle"); } } } else { Main.Logger.Log("没找到 ScrollbarVertical"); } SetData(); }
private void InitUI() { isInit = true; Vector2 size = new Vector2(230, 830); Vector2 pos = new Vector2(0, 0); Vector2 cellSize = new Vector2(230, 97); float cellWidth = cellSize.x; float cellHeight = cellSize.y; // Main.Logger.Log("10"); GameObject scrollView = CreateUI.NewScrollView(size, BarType.Vertical, ContentType.VerticalLayout); // 创建滑动UI scrollRect = scrollView.GetComponent <ScrollRect>(); // 拿到滑动组件 //WorldMapSystem.instance.actorHolder = scrollRect.content; rectContent = scrollRect.content; // 内容啊 content rectContent.GetComponent <ContentSizeFitter>().enabled = false; //关闭高度自动适应 rectContent.GetComponent <VerticalLayoutGroup>().enabled = false; // 关闭自动排序 // Main.Logger.Log("完"); scrollRect.verticalNormalizedPosition = 1; // 设置最上的位置 Image imgScrollView = scrollView.GetComponentInChildren <Image>(); // 拿到背景图 imgScrollView.color = new Color(0.5f, 0.5f, 0.5f, 1f); // 背景图颜色 imgScrollView.raycastTarget = false; // 设置背景不可点击 RectTransform rScrollView = ((RectTransform)scrollView.transform); // 拿到滑动UI rScrollView.SetParent(gameObject.transform, false); // 设置父物体 rScrollView.anchoredPosition = pos; // 设置位置 //scrollView.GetComponentInChildren<Mask>().enabled = false; // Main.Logger.Log("完0"); GameObject gItemCell = new GameObject("line", new System.Type[] { typeof(RectTransform) }); // 创建一行 RectTransform rItemCell = gItemCell.GetComponent <RectTransform>(); // 得到transform rItemCell.SetParent(transform, false); // 设置父物体 rItemCell.anchoredPosition = new Vector2(10000, 10000); // 隐藏于遥远虚空 rItemCell.sizeDelta = new Vector2(cellWidth, cellHeight); // 设置大小 //Image imgItemCell = gItemCell.AddComponent<Image>(); //imgItemCell.color = new Color(1, 0, 0, 0.5f); // Main.Logger.Log("完成"); GameObject prefab = ActorMenu.instance.listActor; // 拿到子物体预制件 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! for (int i = 0; i < lineCount; i++) // 一行几个 { GameObject go = UnityEngine.Object.Instantiate(prefab); // 创建每行子物体 go.transform.SetParent(rItemCell, false); // 设置父物体 Toggle tog = go.GetComponentInChildren <Toggle>(); var tar = tog.targetGraphic; // Main.Logger.Log(tog + "隐藏" + tog.graphic + " " + tog.graphic.transform.parent); DestroyImmediate(tog); Button btn = go.AddComponent <Button>(); btn.targetGraphic = tar; } // Main.Logger.Log("完成0"); GridLayoutGroup gridLayoutGroup = gItemCell.AddComponent <GridLayoutGroup>(); // 控制子物体 gridLayoutGroup.cellSize = prefab.GetComponent <RectTransform>().sizeDelta; // 设置子物体大小 gridLayoutGroup.spacing = new Vector2(0, 0); // 子物体边距 gridLayoutGroup.padding.left = (int)(12); // 左偏移 gridLayoutGroup.padding.top = (int)(0); // 上偏移 // Main.Logger.Log("完成1"); ActorItem itemCell = gItemCell.AddComponent <ActorItem>(); // 添加大数据子物体关联组件 bigDataScroll = gameObject.AddComponent <BigDataScroll>(); // 添加大数据管理组件 bigDataScroll.Init(scrollRect, itemCell, SetCell); // 初始化大数据组件 bigDataScroll.cellHeight = cellHeight; // 设置一行高度 //GuiBaseUI.Main.LogAllChild(transform, true); // 以下是设置滑动条图片 ScrollRect scroll = transform.GetComponent <ScrollRect>(); // Main.Logger.Log("完成v"); RectTransform otherRect = scroll.verticalScrollbar.GetComponent <RectTransform>(); Image other = otherRect.GetComponent <Image>(); // Main.Logger.Log("完成a"); RectTransform myRect = scrollRect.verticalScrollbar.GetComponent <RectTransform>(); //myRect.sizeDelta = new Vector2(10, 0); // Main.Logger.Log("完成b"); Image my = myRect.GetComponent <Image>(); // Main.Logger.Log("完成e"); //my.color = new Color(0.9490196f, 0.509803951f, 0.503921571f); my.sprite = other.sprite; my.type = Image.Type.Sliced; // Main.Logger.Log("完成p"); // Main.Logger.Log("完成V"); RectTransform otherRect2 = scrollRect.verticalScrollbar.targetGraphic.GetComponent <RectTransform>(); Image other2 = otherRect2.GetComponent <Image>(); // Main.Logger.Log("完成A"); RectTransform myRect2 = scrollRect.verticalScrollbar.targetGraphic.GetComponent <RectTransform>(); // Main.Logger.Log("完成B"); //myRect2.sizeDelta = new Vector2(10, 10); Image my2 = myRect2.GetComponent <Image>(); // Main.Logger.Log("完成C"); //my2.color = new Color(0.5882353f, 0.807843149f, 0.8156863f); my2.sprite = other2.sprite; my2.type = Image.Type.Sliced; // Main.Logger.Log("完成D"); // Main.Logger.Log("完成3"); SetData(); }