Menu>Tool>GenerateCodeで利用 CSVと、出力先フォルダを入力してGenerateすると、CSVの内容に応じたクラスを自動生成する。 また、NugetのCSVHelper を導入し、SamplesのAdditional CSVHelper Parserを導入することで、専用のTextParserクラスを導入できる。 これはHeader以外の行に表示された型名の入力を、無視し、必要データだけを取り込むようにセッティングされている。

現在の対応型は以下の通り "int", "uint" ,"float", "double", "bool", "string" , "Vector2" , "Vector3"

Install URL https://github.com/amenonegames/DataClassGeneratorEditor.git?path=Assets/Packages/DataClassGenerator

CSV形式のサンプル

PropertyName1 PropertyName2 ...
PropertyType1 PropertyType2 ...
Value Value ...
Value Value ...

展開されるクラスのサンプル

    [System.Serializable]
    public class CSVFileName
    {

        [SerializeField]
        private PropertyType1	 _propertyname1; //All Char to Lower case
        public PropertyType1	 PropertyName1 
        { 
            get => _propertyname1; 
            set => _propertyname1 = value;
        }

        [SerializeField]
        private PropertyType2	 _propertyname2; //All Char to Lower case
        public PropertyType2	 PropertyName2 
        { 
            get => _propertyname2; 
            set => _propertyname2 = value;
        }

    }

データの読み込み方法

    public class User 
    {
        private void GetSampleData()
        {
            TextAsset csvRaw = Resources.Load<TextAsset>(CSVFile); //Load csv as TextAsset
            CSVFileName dataInClassInstance = TextParser.ToModels<CSVFileName>(csvRaw); //AutoGenerate class is named csv filename
            Debug.Log("Damage:" + data[0].Damage.ToString()); //Now you can use class instance.
        }
    }