Ejemplo n.º 1
0
    //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;
                }
            }
        }
    }
Ejemplo n.º 2
0
    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();
    }