Esempio n. 1
0
        private static void LoadJSON(string path, Action <JSONExportData> OnComplete)
        {
            JSONExportData data = new JSONExportData();

            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            //string finalPath = path;

            //int appPathLen = Application.dataPath.Length;
            //finalPath = path.Substring(appPathLen - 6);

            Debug.Log(path);
            data = new JSONExportData().LoadData(path);

            Debug.Log(data.answerData.Length);

            //if (data)
            //{
            //    EditorUtility.DisplayDialog("Paradox Engine", "Language data load failed.", "Ok");
            //    return;
            //}

            if (LocalizationManagerWindow._window == null)
            {
                return;
            }

            OnComplete(data);
        }
        private void ImportJSON(JSONExportData data)
        {
            JSONTextNodeData   importedTNData;
            JSONAnswerNodeData importedTData;
            JSONAnswerNodeData importedANData;
            JSONDropdownData   importedDData;

            ParadoxTextLocalizationData       tData;
            ParadoxDropdownLocalizationData   dData;
            ParadoxAnswerNodeLocalizationData aData;
            ParadoxTextNodeLocalizationData   tnData;

            for (int i = 0; i < _cacheData.Count; i++)
            {
                if (_cacheData[i].filterType == ELanguageGraphFilter.Text && data.menuTextData.Any(x => new Guid(x.LocalizationID).Equals(new Guid(_cacheData[i].id))))
                {
                    importedTData = data.menuTextData.Where(x => new Guid(x.LocalizationID).Equals(_cacheData[i].id)).First();
                    tData         = _cacheData[i] as ParadoxTextLocalizationData;

                    tData.data    = importedTData.Data;
                    _cacheData[i] = tData;
                }

                else if (_cacheData[i].filterType == ELanguageGraphFilter.Dropdown && data.menuDropdownData.Any(x => new Guid(x.LocalizationID).Equals(new Guid(_cacheData[i].id))))
                {
                    importedDData = data.menuDropdownData.Where(x => new Guid(x.LocalizationID).Equals(new Guid(_cacheData[i].id))).First();
                    dData         = _cacheData[i] as ParadoxDropdownLocalizationData;

                    dData.data    = importedDData.Data;
                    _cacheData[i] = dData;
                }

                else if (_cacheData[i].filterType == ELanguageGraphFilter.AnswerNode && data.answerData.Any(x => new Guid(x.LocalizationID).Equals(new Guid(_cacheData[i].id))))
                {
                    importedANData = data.answerData.Where(x => new Guid(x.LocalizationID).Equals(new Guid(_cacheData[i].id))).First();
                    aData          = _cacheData[i] as ParadoxAnswerNodeLocalizationData;

                    aData.data    = importedANData.Data;
                    _cacheData[i] = aData;
                }

                else if (_cacheData[i].filterType == ELanguageGraphFilter.TextNode && data.textData.Any(x => new Guid(x.LocalizationID).Equals(new Guid(_cacheData[i].id))))
                {
                    importedTNData = data.textData.Where(x => new Guid(x.LocalizationID).Equals(new Guid(_cacheData[i].id))).First();
                    tnData         = _cacheData[i] as ParadoxTextNodeLocalizationData;
                    ParadoxTextNodeData temp;

                    for (int n = 0; n < tnData.data.Count; n++)
                    {
                        temp           = tnData.data[n];
                        temp.Text      = importedTNData.Data[n].Text;
                        tnData.data[n] = temp;
                    }

                    _cacheData[i] = tnData;
                }
            }
        }
Esempio n. 3
0
        internal static void ExportJSONLanguageData(LanguageData data)
        {
            JSONExportData exportData = new JSONExportData
            {
                graphName = data.name,
                textData  = data.textNodeData.Select(x =>
                {
                    return(new JSONTextNodeData
                    {
                        LocalizationID = new Guid(x.id).ToString(),
                        FilterType = x.filterType,
                        Data = x.data.Select(n => new JSONTextNodeData.SerializableTextData
                        {
                            Text = n.Text,
                            CharacterName = n.IsDialogue? n.Character.name : "",
                        }).ToArray(),
                    });
                }).ToArray(),
                answerData = data.answerNodeData.Select(x =>
                {
                    return(new JSONAnswerNodeData
                    {
                        LocalizationID = new Guid(x.id).ToString(),
                        FilterType = x.filterType,
                        Data = x.data
                    });
                }).ToArray(),
                menuTextData = data.textData.Select(x =>
                {
                    return(new JSONAnswerNodeData
                    {
                        LocalizationID = new Guid(x.id).ToString(),
                        FilterType = x.filterType,
                        Data = x.data
                    });
                }).ToArray(),
                menuDropdownData = data.dropdownData.Select(x =>
                {
                    return(new JSONDropdownData
                    {
                        LocalizationID = new Guid(x.id).ToString(),
                        FilterType = x.filterType,
                        Data = x.data
                    });
                }).ToArray()
            };


            exportData.SaveData($"Assets/Paradox Engine/{exportData.graphName}.json", false);
            AssetDatabase.Refresh();
        }