さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

テキストファイルを新規作成する

 Unityのエディタからテキストファイルを作れないっぽかったので拡張してみた。

 試してみると、どうもTextAssetをUnityの機能で新規に作るのは無理?じみていたので、File.CreateTextを呼ぶことに。
 いちいち書き方がダサいんだけど、ほんとにあってんのかしら。

using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;

namespace Hoge
{
    public class CreateFile
    {
        [MenuItem("Assets/Create text asset")]
        static void CreateTextAsset()
        {
            foreach (Object selectedObject in Selection.objects)
            {
                var path = AssetDatabase.GetAssetPath(selectedObject);
                if (!AssetDatabase.IsValidFolder(path))
                {
                    path = Path.GetDirectoryName(path);
                }

                path += Path.DirectorySeparatorChar + "新しいファイル.txt";
                path = AssetDatabase.GenerateUniqueAssetPath(path);
                path = Path.GetFullPath(path);

                File.CreateText(path);
                AssetDatabase.Refresh();
                Debug.Log(path);
            }
        }
    }
}