void Duplicate() { prefab = transform.GetChild(0); var cs = transform.GetChildsL1(); for (int c = 1; c < cs.Count; c++) { cs[c].SetParent(null, false); ComTool.DestroyAuto(cs[c].gameObject); } var os = offset + (prefab as RectTransform).rect.size; int i = 0; foreach (var txt in txts) { if (i == 0) { i++; prefab.GetComponentInChildren <Text>().text = txt; continue; } var t = Instantiate(prefab, transform, true); t.GetComponentInChildren <Text>().text = txt; var rt = (t as RectTransform); rt.anchoredPosition += os * i++ *factor; } }
void ClearMeshColliders() { foreach (var mc in GetComponentsInChildren <MeshCollider>(true)) { ComTool.DestroyAuto(mc); } }
public void Clear() { foreach (var u in units) { ComTool.DestroyAuto(u.go); } units.Clear(); }
public void OnEnable() { //if (transform.childCount > 1) return; // 是否已经提前初始化 prefab = transform.GetChild(0); foreach (var child in transform.GetChildsL1()) { if (child != prefab) { child.SetParent(null, false);// UI.Root; ComTool.DestroyAuto(child.gameObject); } } prefab.gameObject.SetActive(true); var os = offset + (prefab as RectTransform).rect.size * factor; btns = new List <GameObject>(); clickable = new List <bool>(); int i = 0; foreach (var btn in buttons) { var t = Instantiate(prefab, transform, true); btns.Add(t.gameObject); clickable.Add(true); (t as RectTransform).anchoredPosition += os * i; t.GetComponentInChildren <Text>().text = btn; var img = t.GetComponent <Image>(); var n = i++; var mw = t.AddComponent <MouseEventWrapper>(); img.color = (i - 1) == idx ? colorDown : colorNormal; mw.onMouseDown = () => { foreach (var b in btns) { b.GetComponent <Image>().color = colorNormal; } idx = n; img.color = colorDown; ItemClick(n); }; mw.onMouseEnter = () => { if (n != idx) { img.color = colorOver; } }; mw.onMouseExit = () => { if (n != idx) { img.color = colorNormal; } }; //mw.onMouseUp = () => { img.color = mw.over ? colorOver : colorNormal; }; mw.CreateBox2D(); } prefab.gameObject.SetActive(false); }