//actualize the prefab with the data from its row of the imported file void ActualizeCard(GameObject obj, C_RowData rowData, KingsCardStyleList cardStyleList, string styleName) { for (int i = 0; i < importData.targets.Length; i++) { string s = importData.targets[i]; if (!string.IsNullOrEmpty(s)) { switch (s) { case "EventScript": EventScript es = obj.GetComponent <EventScript>(); if (es == null) { Debug.LogWarning("GameObject '" + obj.ToString() + "' has no EventScript. Skipping values."); } else { es.SetImportData(importData.headers[i], rowData.entries[i]); } break; case "CardStyle": CardStyle cardStyleScript = obj.GetComponent <CardStyle>(); if (cardStyleScript == null) { Debug.LogWarning("GameObject '" + obj.ToString() + "' has no CardStyle Script. Skipping values."); } else { KingsCardStyle cardStyle = styleDefinitions.GetStyle(styleName); if (styleDefinitions.GetOverwriteStyle(styleName)) { cardStyleScript.SetStyle(cardStyle); //cardStyleScript.SetStyleName(styleName); cardStyleScript.Refresh(); } else { //overwrite is not wanted } } break; default: Debug.LogWarning("Unknown target for import data: '" + s + "'"); break; } } } }
private void OnGUI() { if (initialized == false || s_FieldSeparators == null) { mInit(); } scriptScrollPosition = EditorGUILayout.BeginScrollView(scriptScrollPosition); EditorGUILayout.Space(); EditorGUILayout.LabelField("Options - Import and Export", EditorStyles.boldLabel); if (s_FieldSeparatorDescription != null) { fieldSeparatorIndex = EditorGUILayout.Popup("Field Separator:", fieldSeparatorIndex, s_FieldSeparatorDescription, EditorStyles.popup); } EditorGUILayout.Space(); showExport = EditorGUILayout.Foldout(showExport, "Export", true); if (showExport) { //EditorGUILayout.LabelField("Export", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); directory = EditorGUILayout.TextField("Directory ", directory); file = EditorGUILayout.TextField("File ", file); EditorGUILayout.EndHorizontal(); stack = EditorGUILayout.ObjectField("Card Stack", stack, typeof(CardStack), true) as CardStack; if (GUILayout.Button("Export Cards")) { Export(); } switch (exportState) { case E_ExportState.Export_OK: EditorGUILayout.HelpBox(exportInfo, MessageType.Info); break; case E_ExportState.Export_Fail: EditorGUILayout.HelpBox(exportInfo, MessageType.Error); break; default: //show nothing break; } } EditorGUILayout.Space(); // EditorGUILayout.LabelField("Import", EditorStyles.boldLabel); showImport = EditorGUILayout.Foldout(showImport, "Import", true); if (showImport) { importFile = EditorGUILayout.ObjectField("Data File", importFile, typeof(TextAsset), false) as TextAsset; styleDefinitions = EditorGUILayout.ObjectField("Style Definitions", styleDefinitions, typeof(KingsCardStyleList), false) as KingsCardStyleList; EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Select Output Folder")) { importFolder = EditorUtility.OpenFolderPanel("Select Output Folder", "", ""); } GUI.enabled = false; EditorGUILayout.TextField(importFolder); GUI.enabled = true; EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Analyze Import")) { AnalyzeImportData(); showImportRaw = true; } showImportRaw = EditorGUILayout.Foldout(showImportRaw, "Data"); if (showImportRaw) { showImportRawData(); } showImportInfo(); if (importState == E_ImportState.Analyzed_OK) { if (GUILayout.Button("Execute Import")) { ExecuteImport(); //showImportRaw = true; } } } EditorGUILayout.EndScrollView(); }