public void Awake() { var data = new UITreeData("SpringGUI", new List <UITreeData>() { new UITreeData("Button", new List <UITreeData>() { new UITreeData("DoubleClickButton"), new UITreeData("LongClickButton") }), new UITreeData("Pie"), new UITreeData("DatePicker"), new UITreeData("C#", new List <UITreeData>() { new UITreeData("high-level syntax", new List <UITreeData>() { new UITreeData("Action", new List <UITreeData>() { new UITreeData("One parameter"), new UITreeData("Two parameter"), new UITreeData("Three parameter"), new UITreeData("Four parameter"), new UITreeData("Five parameter") }), new UITreeData("Func"), new UITreeData("delegate") }), new UITreeData("Reflect") }) }); //UITree.SetData(data); UITree.Inject(data); }
private void Helper(IObjectData objData, UITreeData parUiTree) { var curUiTree = new UITreeData(objData.Name, objData.EntityLabel); if (objData is IElementData) { IElementData eleData = objData as IElementData; var typeUiTreeData = parUiTree.FindChildren(eleData.TypeName); if (typeUiTreeData == default) { typeUiTreeData = new UITreeData(eleData.TypeName, eleData.ProductGeoData.typeId); parUiTree.AddChild(typeUiTreeData); } var curEleUiTreeData = new UITreeData(objData.Name, objData.EntityLabel); typeUiTreeData.AddChild(curEleUiTreeData); foreach (var decEle in objData.RelatedObjects) { curEleUiTreeData.AddChild(new UITreeData(decEle.Name, decEle.EntityLabel)); } return; } parUiTree.AddChild(curUiTree); foreach (var p in objData.RelatedObjects) { Helper(p, curUiTree); } }
public void Awake() { var data = new UITreeData("SpringGUI", new List <UITreeData>() { new UITreeData("Button", new List <UITreeData>() { new UITreeData("DoubleClickButton"), new UITreeData("LongClickButton") }), new UITreeData("Pie"), new UITreeData("DatePicker"), new UITreeData("C#", new List <UITreeData>() { new UITreeData("委托", new List <UITreeData>() { new UITreeData("Action"), new UITreeData("Func"), new UITreeData("delegate") }), new UITreeData("反射") }) }); UITree.SetData(data); }
private void Start() { UITreeData TreeRoot = new UITreeData("我的项目", new List <UITreeData>() { new UITreeData("unity专栏", new List <UITreeData>() { new UITreeData("自定义UI组件专栏", new List <UITreeData>() { new UITreeData("目录树"), new UITreeData("鼠标响应", new List <UITreeData>() { new UITreeData("OnMouseButton"), new UITreeData("Ray") }) }), new UITreeData("调用外部exe"), new UITreeData("Shader专栏", new List <UITreeData>() { new UITreeData("Dissolve Shader"), new UITreeData("Transparent Shader") }) }), new UITreeData("ifc专栏", new List <UITreeData>() { new UITreeData("基础篇"), new UITreeData("高级篇", new List <UITreeData>() { new UITreeData("空间结构"), new UITreeData("属性信息") }) }) }); uiTree.Inject(TreeRoot); }
public void Inject(UITreeData rootData) { if (null == m_container) { GetComponent(); } TreeRootNode.Inject(rootData); }
public UITreeData(string name, int label = 0, int layer = 0) { Label = label; Name = name; Layer = layer; Parent = null; ChildNodes = new List <UITreeData>(); }
private void GenerateUiTree(IProjectData projData) { var uiTreeData = new UITreeData(projData.Name, projData.EntityLabel); foreach (var prodData in projData.RelatedObjects) { Helper(prodData, uiTreeData); } uiTree.Inject(uiTreeData); }
public override bool Equals(object obj) { UITreeData other = obj as UITreeData; if (null == other) { return(false); } return(other.Name.Equals(Name) && other.Layer.Equals(Layer) && other.Label.Equals(Label)); }
private void ResetChildren(UITreeData treeData) { for (int i = 0; i < treeData.ChildNodes.Count; i++) { UITreeData node = treeData.ChildNodes[i]; node.Parent = treeData; node.Layer = treeData.Layer + 1; ResetChildren(node); } }
public void SetParent(UITreeData parent) { if (null != this.Parent) { this.Parent.RemoveChild(this); } this.Parent = parent; this.Layer = parent.Layer + 1; parent.ChildNodes.Add(this); ResetChildren(this); }
public UITreeData(string name, List <UITreeData> childNodes, int label = 0, int layer = 0) { Label = label; Name = name; Parent = null; ChildNodes = childNodes; if (null == ChildNodes) { ChildNodes = new List <UITreeData>(); } Layer = layer; ResetChildren(this); }
public void Clear() { RemoveListener(); text.text = "Hierarchy"; toggle.isOn = true; icon.sprite = null; TreeData = null; UITree = null; toggle = null; icon = null; text = null; _toggleTransform = null; _myTransform = null; _container = null; _children.Clear(); }
public GameObject Pop(UITreeData data, int siblingIndex) { GameObject treeNode = null; if (m_pool.Count > 0) { treeNode = m_pool[0]; m_pool.RemoveAt(0); } else { treeNode = CloneTree(); } treeNode.transform.SetParent(m_container); treeNode.SetActive(true); //treeNode.GetComponent<UITreeNode>().SetData(data); treeNode.GetComponent <UITreeNode>().Inject(data); treeNode.transform.SetSiblingIndex(siblingIndex + 1); return(treeNode); }
public void Awake() { var data = new UITreeData("工具栏", new List <UITreeData>() { new UITreeData("交换机 ", new List <UITreeData>() { new UITreeData("交换机"), }), // new UITreeData("Pie"), // new UITreeData("DatePicker"), new UITreeData("机柜 ", new List <UITreeData>() { // new UITreeData("high-level syntax",new List<UITreeData>() // { //new UITreeData("Action",new List<UITreeData>() // { // new UITreeData("One parameter"), // new UITreeData("Two parameter"), // new UITreeData("Three parameter"), // new UITreeData("Four parameter"), // new UITreeData("Five parameter") // }), // new UITreeData("冰箱"), new UITreeData("机柜"), // }), // new UITreeData("Reflect") }), new UITreeData("空调 ", new List <UITreeData>() { new UITreeData("空调"), }), new UITreeData("服务器 ", new List <UITreeData>() { new UITreeData("服务器"), }) }); //UITree.SetData(data); UITree.Inject(data); }
public void Inject(UITreeData data) { if (null == _myTransform) { GetComponent(); } ResetComponent(); TreeData = data; text.text = data.Name; toggle.isOn = false; toggle.onValueChanged.AddListener(OpenOrClose); icon.GetComponent <Button>().onClick.AddListener(GetProduct); _container.localPosition += new Vector3(_container.GetComponent <RectTransform>().sizeDelta.y *TreeData.Layer, 0, 0); if (data.ChildNodes.Count.Equals(0)) { _toggleTransform.gameObject.SetActive(false); icon.sprite = UITree.m_lastLayerIcon; } else { icon.sprite = toggle.isOn ? UITree.m_openIcon : UITree.m_closeIcon; } }
public UITreeData FindChildren(UITreeData uiTreeData) { return(ChildNodes.Find(c => c.Equals(uiTreeData))); }
public void RemoveChild(UITreeData child) { RemoveChild(new UITreeData[] { child }); }
public void AddChild(UITreeData child) { AddChild(new UITreeData[] { child }); }