예제 #1
0
파일: UIDuplicate.cs 프로젝트: wjk17/WSA
        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;
            }
        }
예제 #2
0
 void ClearMeshColliders()
 {
     foreach (var mc in GetComponentsInChildren <MeshCollider>(true))
     {
         ComTool.DestroyAuto(mc);
     }
 }
예제 #3
0
파일: Grid.cs 프로젝트: wjk17/WSA
 public void Clear()
 {
     foreach (var u in units)
     {
         ComTool.DestroyAuto(u.go);
     }
     units.Clear();
 }
예제 #4
0
        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);
        }