第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何統(tǒng)一安排父母下的實(shí)例化預(yù)制件的順序?

如何統(tǒng)一安排父母下的實(shí)例化預(yù)制件的順序?

C#
aluckdog 2022-12-04 13:13:10
嘗試根據(jù)擴(kuò)展名 *.json 列出一些文件。在父母下實(shí)例化預(yù)制件,但它不會(huì)按順序出現(xiàn)。有沒有辦法刷新列表或按升序排列它們。目的是加載和刪除文件。如何排列文件 1,2, 3,4,5...如果有 10 個(gè)文件,最后保存的文件應(yīng)該在父文件下的第 10 位?Dictionary<int, Button> BtnList = new Dictionary<int, Button>();public static FileInfo[] info;GameObject lisobj;public void ListMap(){    panellist.SetActive(true);    string mainpath = Application.persistentDataPath;    DirectoryInfo dir = new DirectoryInfo(mainpath);    info = dir.GetFiles("*.json");    for(int i = 1;i<=info.Length;i++)    {           lisobj = Instantiate(prefabpanellist);        lisobj.transform.SetParent(Parentcontent);            number.text = i.ToString();            mapnamedb.text =info[i-1].Name;        var button = lisobj.GetComponentInChildren<Button>();        BtnList.Add(i,button);    }    lisobj.transform.SetParent(Parentcontent);    Dictionary<int, Button>.ValueCollection values = BtnList.Values;    foreach (Button btn in values)    {        btn.onClick.AddListener(() => Deleteinformation());    }}public void Deleteinformation(){    var b= UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject.GetComponent<Button>();    var mykey=BtnList.FirstOrDefault(x=>x.Value==b).Key;    Debug.Log("Items are" + mykey);    string mainpath = Application.persistentDataPath;    Debug.Log("Name is " + info[mykey - 1].Name);    //File.Delete(mainpath + info[mykey-1].);}最初,當(dāng)我將文件保存到 .json 并單擊 Listmap 按鈕(顯示文件列表 - 如屏幕截圖所示)時(shí)。它兩次顯示索引號(hào) 5。我保存的最后一個(gè)文件也被命名為“00000.json”,但它成為第一個(gè)文件。那是在我保存它之后(文件列表)沒有得到更新,當(dāng)我單擊 Listmap 時(shí),文件多次顯示相同的索引號(hào)。似乎它沒有刷新不確定。另一個(gè)問題是最后保存的文件位于頂部。
查看完整描述

1 回答

?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

我已經(jīng)把它們放在一起了,現(xiàn)在這對(duì)我來說非常有用:


注意:我注釋掉了與示例無關(guān)的所有內(nèi)容(或者您沒有添加到問題代碼中的內(nèi)容)


public class FilesExample : MonoBehaviour

{

    // Start is called before the first frame update

    private void Start()

    {

        ListMap();

    }


    public static FileSystemInfo[] info;


    public void ListMap()

    {

        /*

         * If you already called this before you already have child objects

         * So I would destroy the old ones before instantiating new ones

         */

        //foreach(Transform child in Parentcontent)

        foreach(Transform child in transform)

        {

            Destroy(child.gameObject);

        }


        //panellist.SetActive(true);


        /*

         * preferred to use streamingAssetsPath for testing

         */


        //var mainpath = Application.persistentDataPath;

        var mainpath = Application.streamingAssetsPath;

        var dir = new DirectoryInfo(mainpath);


        info = dir.GetFileSystemInfos("*.json").OrderBy(i => i.CreationTime).ToArray();


        for (var i = 1; i <= info.Length; i++)

        {

            /* 

             * Instead of instantiating I simply created new empty objects

             * just as example 

             */


            //var lisobj = Instantiate(prefabpanellist);

            var lisobj = new GameObject(i + " " + info[i - 1].Name);

            //lisobj.transform.SetParent(Parentcontent);

            lisobj.transform.SetParent(transform);


            // Though I'm sure this should already have the correct order

            // you could still do SetLastSibling to move the 

            // created/instantiated object to the bottom

            lisobj.transform.SetAsLastSibling();


            //number.text = i.ToString();

            //mapnamedb.text = info[i - 1].Name;


            /*

             * NOTE: I would simply do the buttons thing in the same

             *       loop. That saves you a lot of storing and accessing lists

             */


            //var index = i;

            //var button = lisobj.GetComponentInChildren<Button>(true);

            //button.onClick.AddListener(() => Deleteinformation(index));

        }

    }


    public void Deleteinformation(int index)

    {

        Debug.Log("Index is " + index);


        Debug.Log("Path is " + info[index].FullName);


        File.Delete( info[index].FullName);


        // update the scene list

        ListMap();

    }

}

結(jié)果


驅(qū)動(dòng)器上的文件按名稱排序

http://img1.sycdn.imooc.com//638c2c940001c2fb01750136.jpg

驅(qū)動(dòng)器上的文件按創(chuàng)建日期排序

http://img1.sycdn.imooc.com//638c2c9e0001bace02300134.jpg

導(dǎo)致 Unity 按創(chuàng)建日期排序

http://img1.sycdn.imooc.com//638c2ca9000170ad01420117.jpg


查看完整回答
反對(duì) 回復(fù) 2022-12-04
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)