예제 #1
0
 public void OnToggleClick(bool isOn)
 {
     if (isOn)
     {
         nowIsOpen = !nowIsOpen;
         attachedDirData.isFold = !nowIsOpen;
         transform.Find("dir/dirState").GetComponent <Image>().sprite = nowIsOpen ? dirOpenImg : dirCloseImg;
         transform.Find("files").gameObject.SetActive(nowIsOpen);
         if (nowIsOpen)
         {
             Transform fileParent = transform.Find("files");
             if (fileParent.childCount == 0)
             {
                 for (int i = 0; i < attachedDirData.dirs.Count; i++)
                 {
                     DirData   oneDirData = attachedDirData.dirs[i];
                     Transform dirObj     = Instantiate(Main.instance.dirPrefab, fileParent);
                     dirObj.GetComponent <Toggle>().group = Main.instance.baseToggleGroup;
                     oneDirData.attachedObj = dirObj;
                     oneDirData.parentDir   = attachedDirData;
                     DirPrefab tmpDirPrefab = dirObj.GetComponent <DirPrefab>();
                     tmpDirPrefab.SetDirName(oneDirData.dirName);
                     tmpDirPrefab.SetPos(oneDirData.GetParentDirArr().Count * 100);
                     tmpDirPrefab.attachedDirData = oneDirData;
                 }
                 for (int i = 0; i < attachedDirData.files.Count; i++)
                 {
                     FileData  oneFileData = attachedDirData.files[i];
                     Transform fileObj     = Instantiate(Main.instance.filePrefab, fileParent);
                     fileObj.GetComponent <Toggle>().group = Main.instance.baseToggleGroup;
                     oneFileData.attachedObj = fileObj;
                     oneFileData.parentDir   = attachedDirData;
                     fileObj.GetComponent <FilePrefab>().Init(oneFileData);
                 }
             }
         }
         Main.instance.ResetSize();
     }
 }
예제 #2
0
    public void Btn_newDir()
    {
        int dirArrCount = attachedDirData.GetParentDirArr().Count;

        if (dirArrCount >= 4)
        {
            return;
        }
        if (attachedDirData.isFold)
        {
            Toggle tmpToggle = GetComponent <Toggle>();
            if (!tmpToggle.isOn)
            {
                tmpToggle.isOn = true;
            }
            else
            {
                OnToggleClick(true);
            }
        }
        Transform parentTrsm = transform.Find("files");
        Transform dirObj     = Instantiate(Main.instance.dirPrefab, parentTrsm);

        dirObj.GetComponent <Toggle>().group = Main.instance.baseToggleGroup;
        DirData tmp = new DirData();

        attachedDirData.dirs.Add(tmp);
        tmp.parentDir   = attachedDirData;
        tmp.dirName     = "默认分组";
        tmp.attachedObj = dirObj;
        DirPrefab tmpDirPrefab = dirObj.GetComponent <DirPrefab>();

        tmpDirPrefab.SetDirName(tmp.dirName);
        tmpDirPrefab.SetPos((dirArrCount + 1) * 100);
        tmpDirPrefab.attachedDirData = tmp;
        dirObj.SetSiblingIndex(tmp.GetDirIndex());
        Main.instance.SaveData();
        Main.instance.ResetSize();
    }