Esempio n. 1
0
    public void ContentSet(ContentsData.Params param)
    {
        if (PlayerPrefs.GetInt("GetContents" + param.FileID) != 0)
        {
            isActive            = true;
            button.interactable = true;
            text.color          = activeTextColor;
        }
        else
        {
            text.color = disabeleTextColor;
        }

        text.text = param.ContentsName;
        m_params  = param;
    }
Esempio n. 2
0
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
        string targetFile = "Assets/CSV/English.json";
        string exportFile = "Assets/Resources/ContentsData/English.asset";

        foreach (string asset in importedAssets)
        {
            //合致しないものはスルー
            if (!targetFile.Equals(asset))
            {
                continue;
            }

            // 既存のマスタを取得
            ContentsData data = AssetDatabase.LoadAssetAtPath <ContentsData>(exportFile);

            // 見つからなければ作成する
            if (data == null)
            {
                data = ScriptableObject.CreateInstance <ContentsData>();
                AssetDatabase.CreateAsset((ScriptableObject)data, exportFile);
                AssetDatabase.SaveAssets();
            }
            else
            {
                // 中身を削除
                data.Elements.Clear();
            }
            //変更ここから//
            AssetDatabase.StartAssetEditing();
            // CSVファイルをオブジェクトへ保存
            using (StreamReader sr = new StreamReader(targetFile))
            {
                string line = sr.ReadToEnd();

                string[] cutStr   = { ":\"" };
                string[] dataStrs = line.Split(cutStr, System.StringSplitOptions.None);
                int      nowCount = 1;

                char[] removeChar = new char[2] {
                    ' ', ' '
                };
                // ファイルの終端まで繰り返す
                while (nowCount < dataStrs.Length)
                {
                    // 追加するパラメータを生成
                    ContentsData.Params p = new ContentsData.Params();
                    // 値を設定する
                    p.FileID = ChangeString(ReturnIntervalString(RemoveTopChar(dataStrs[nowCount], removeChar)));
                    nowCount++;
                    p.ContentsName = ChangeString(ReturnIntervalString(RemoveNumberChar(RemoveTopChar(dataStrs[nowCount], removeChar))));
                    nowCount++;
                    p.ContentsText = ChangeString(ReturnIntervalString(RemoveTopChar(dataStrs[nowCount], removeChar), "\"}"));
                    nowCount++;
                    // 追加
                    data.Elements.Add(p);
                }
            }

            //変更ここまで//
            AssetDatabase.StopAssetEditing();

            //変更をUnityEditorに伝える//
            EditorUtility.SetDirty(data);

            //すべてのアセットを保存//
            AssetDatabase.SaveAssets();

            Debug.Log("Json updated.");
        }
    }
Esempio n. 3
0
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
        string targetFile = "Assets/CSV/Japanese.csv";
        string exportFile = "Assets/Resources/ContentsData/Japanese.asset";

        // 現在のデータだと余計なものも入ってしまう為コメントアウト

        foreach (string asset in importedAssets)
        {
            // 合致しないものはスルー
            if (!targetFile.Equals(asset))
            {
                continue;
            }

            // 既存のマスタを取得
            ContentsData data = AssetDatabase.LoadAssetAtPath <ContentsData>(exportFile);

            // 見つからなければ作成する
            if (data == null)
            {
                data = ScriptableObject.CreateInstance <ContentsData>();
                AssetDatabase.CreateAsset((ScriptableObject)data, exportFile);
                AssetDatabase.SaveAssets();
            }
            else
            {
                // 中身を削除
                data.Elements.Clear();
            }
            //変更ここから//
            AssetDatabase.StartAssetEditing();
            // CSVファイルをオブジェクトへ保存
            using (StreamReader sr = new StreamReader(targetFile))
            {
                // ヘッダをやり過ごす
                sr.ReadLine();

                // ファイルの終端まで繰り返す
                while (!sr.EndOfStream)
                {
                    string   line     = sr.ReadLine();
                    string[] dataStrs = line.Split(',');

                    // 追加するパラメータを生成
                    ContentsData.Params p = new ContentsData.Params();
                    // 値を設定する
                    p.FileID       = dataStrs[0];
                    p.ContentsName = dataStrs[1];
                    p.ContentsText = dataStrs[2];

                    ////p.FileID = dataStrs[1];
                    ////p.ContentsName = dataStrs[2];
                    ////p.ContentsText = dataStrs[5];

                    // 追加
                    data.Elements.Add(p);
                }
            }

            //変更ここまで//
            AssetDatabase.StopAssetEditing();

            //変更をUnityEditorに伝える//
            EditorUtility.SetDirty(data);

            //すべてのアセットを保存//
            AssetDatabase.SaveAssets();

            Debug.Log("Data updated.");
        }
    }