public override void OnInspectorGUI() { CSVWranglerStartUp my = (CSVWranglerStartUp)target; //EditorGUIUtility.LookLikeControls(); DrawDefaultInspector(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Download index file")) { FileDownloadWindow.Init(); FileDownloadWindow.instance.AddToDlQueue(my.settings.liveURL, "CSVs/csvWrangler.csv", FileDownloadWindow.DownloadLocation.ResourceFolder); } if (File.Exists(Application.dataPath + "/Resources/CSVs/csvWrangler.csv") && GUILayout.Button("Download referenced csvs")) { //open the csvWrangler.csv into deadsimple csv DeadSimpleCSV indexTable = new DeadSimpleCSV(File.ReadAllText(Application.dataPath + "/Resources/CSVs/csvWrangler.csv"), true); //dump into classlist List<CSVWrangler.IndexRow> rows = indexTable.ConvertRowsToObjects<CSVWrangler.IndexRow>(); FileDownloadWindow.Init(); foreach (CSVWrangler.IndexRow row in rows) { FileDownloadWindow.instance.AddToDlQueue(row.url, "CSVs/" + row.name + ".csv", FileDownloadWindow.DownloadLocation.ResourceFolder); } } EditorGUILayout.EndHorizontal(); }
//needs to assign the text asset as part of its creation static void ProcessAsset(string origLocation, TextAsset txt, DeadSimpleCSV csv) { //if matching file exists, then get it ExternalVarsSO extvar = ExternalVarsSOManager.Instance().FindByExternalFile(txt); var fileName = origLocation.Substring(0, origLocation.Length - (".csv".Length)) + ".asset"; bool createdAsset = false; //if not create it an if (extvar == null) { extvar = ExternalVarsSO.CreateInstance <ExternalVarsSO>(); extvar.localCSV = txt; AssetDatabase.CreateAsset(extvar, fileName); createdAsset = true; } try { extvar.GenerateVars(csv.ConvertRowsToObjects <ExternalVarsSO.VarSpec>()); } catch (Exception) { if (createdAsset) { AssetDatabase.DeleteAsset(fileName); UnityEngine.Object.DestroyImmediate(extvar); } } }
public void SetupTests() { csvFromFile = new AID.DeadSimpleCSV(fileContents, true); listFromCSV = csvFromFile.ConvertRowsToObjects <ExampleCSVSerialiseClass>(); csvFromList = AID.DeadSimpleCSV.CreateFromList(listFromCSV); listFromCSVFromList = csvFromList.ConvertRowsToObjects <ExampleCSVSerialiseClass>(); csvFromListStr = csvFromList.GetAsCSVString(true); }
void Start() { //get the call back for all dls completed //handles native types and enums // this shows loading a table of data where the col name matches a classes var name // the ConvertRowsToObjects uses reflection and convert to out each row as the given object // has not been tested with classes that have refs to other classes, this will most likely NOT work AID.DeadSimpleCSV csvFromFile = new AID.DeadSimpleCSV(txtFile.text, true); List <ExampleCSVSerialiseClass> listFromCSV = csvFromFile.ConvertRowsToObjects <ExampleCSVSerialiseClass>(); foreach (ExampleCSVSerialiseClass o in listFromCSV) { print(o); } AID.DeadSimpleCSV csvFromList = AID.DeadSimpleCSV.CreateFromList <ExampleCSVSerialiseClass>(listFromCSV); print(csvFromList.GetAsCSVString(true)); AID.CSVWrangler.Instance().CSVWranglerChange += CSVWranglerStateHasChanged; AID.CSVWrangler.Instance().Init(); }
public static List <T> ConvertStringCSVToObjects <T>(string csvStr, bool generateColumnLookup) where T : class, new() { var csv = new DeadSimpleCSV(csvStr, generateColumnLookup); return(csv.ConvertRowsToObjects <T>()); }