コード例 #1
0
    IEnumerator ListAllData(List <string> data)
    {
        #region 前処理:アトラクターの一時停止とシステム状態の遷移
        photoManager.AttractorDisable();
        if ((SystemManager.systemState & SystemManager.SystemState.MAIN) == SystemManager.SystemState.MAIN)
        {
            SystemManager.systemState  = ~SystemManager.SystemState.MAIN & SystemManager.systemState;
            SystemManager.systemState |= SystemManager.SystemState.LOAD;
        }
        #endregion

        CSVTagger             tagger  = GetComponent <CSVTagger>();
        List <List <string> > csvData = new List <List <string> >();
        List <List <string> > csvWord = new List <List <string> >();
        foreach (string dataName in data)
        {
            string csvText = File.ReadAllText(dataName);
            if (csvText != null)
            {
                string[] metadataPath = dataName.Split('/');

                #region keyCodeの生成とcsvのリスト化
                if (metadataPath[metadataPath.Length - 1].Contains("data"))
                {
                    csvData.AddRange(tagger.CSVToList(csvText));
                    photoManager.CreateKeydataCode(csvData);
                    photoManager.CreateMaxMinCode(csvData);
                }
                else if (metadataPath[metadataPath.Length - 1].Contains("keyword"))
                {
                    csvWord.AddRange(tagger.CSVToList(csvText));
                    photoManager.CreateKeywordCode(csvWord);
                }
                #endregion
            }
        }

        //int counter = (int)(1 / Time.deltaTime);
        #region タグ付け
        foreach (DflipPhoto a in photoManager.photos)
        {
            string filename = a.fileName;
            if (csvData != null)
            {
                tagger.TaggingData(csvData, a, filename);
            }
            if (csvWord != null)
            {
                tagger.TaggingWord(csvWord, a, filename);
            }

            //if (counter < 1)
            //{
            //    text.text = "Now Loading . . .";
            //    counter = (int)((1/2) * (1 / Time.deltaTime));
            //}
            //else if (counter > 1 && counter < (int)((1/6)  * (1/ Time.deltaTime)))
            //{
            //    text.text = "Now Loading .";
            //}
            //else if (counter > (int)((1 / 6) * (1 / Time.deltaTime)) && counter < (int)((1 / 3) * (1 / Time.deltaTime)))
            //{
            //    text.text = "Now Loading . .";
            //}

            //counter--;
            yield return(null);
        }
        #endregion

        #region 後処理
        GetComponent <GUIManager>().CreateButtons();
        GetComponent <GUIManager>().GUIInteractable();
        #region exifに関しては全画像についてexifデータが揃っていなければinteractableをオフにする
        if (checker != photoManager.photos.Count)
        {
            gameObject.GetComponent <GUIManager>().Deinteractable("撮影年月");
        }
        else
        {
            photoManager.CreateMaxMinCode("撮影年月");
        }
        #endregion
        SystemManager.systemState  = ~SystemManager.SystemState.LOAD & SystemManager.systemState;
        SystemManager.systemState |= SystemManager.SystemState.MAIN;
        photoManager.AttractorEnable();
        #endregion
    }