예제 #1
0
        public static void SetExtendedDataById(ChaFileCoordinate file, string id, PluginData extendedFormatData)
        {
            Dictionary <string, PluginData> chaDictionary = internalCoordinateDictionary.Get(file);

            if (chaDictionary == null)
            {
                chaDictionary = new Dictionary <string, PluginData>();
                internalCoordinateDictionary.Set(file, chaDictionary);
            }

            chaDictionary[id] = extendedFormatData;
        }
예제 #2
0
        /// <summary>
        /// Set PluginData for a CraftInfo for the specified extended save data ID
        /// </summary>
        /// <param name="file">CraftInfo for which to set extended data</param>
        /// <param name="id">ID of the data to be saved to the card</param>
        /// <param name="extendedFormatData">PluginData to save to the card</param>
        public static void SetExtendedDataById(CraftInfo file, string id, PluginData extendedFormatData)
        {
            Dictionary <string, PluginData> craftInfoDictionary = internalCraftInfoDictionary.Get(file);

            if (craftInfoDictionary == null)
            {
                craftInfoDictionary = new Dictionary <string, PluginData>();
                internalCraftInfoDictionary.Set(file, craftInfoDictionary);
            }

            craftInfoDictionary[id] = extendedFormatData;
        }
예제 #3
0
        /// <summary>
        /// Set PluginData for a WorldData for the specified extended save data ID
        /// </summary>
        /// <param name="file">WorldData for which to set extended data</param>
        /// <param name="id">ID of the data to be saved to the card</param>
        /// <param name="extendedFormatData">PluginData to save to the card</param>
        public static void SetExtendedDataById(WorldData file, string id, PluginData extendedFormatData)
        {
            Dictionary <string, PluginData> worldDictionary = internalWorldDataDictionary.Get(file);

            if (worldDictionary == null)
            {
                worldDictionary = new Dictionary <string, PluginData>();
                internalWorldDataDictionary.Set(file, worldDictionary);
            }

            worldDictionary[id] = extendedFormatData;
        }
예제 #4
0
        /// <summary>
        /// Set PluginData for a SaveData for the specified extended save data ID
        /// </summary>
        /// <param name="saveData">SaveData for which to set extended data</param>
        /// <param name="id">ID of the data to be saved to the save file</param>
        /// <param name="extendedFormatData">PluginData to save to the save file</param>
        public static void SetExtendedDataById(SaveData saveData, string id, PluginData extendedFormatData)
        {
            Dictionary <string, PluginData> chaDictionary = internalSaveDataDictionary.Get(saveData);

            if (chaDictionary == null)
            {
                chaDictionary = new Dictionary <string, PluginData>();
                internalSaveDataDictionary.Set(saveData, chaDictionary);
            }

            chaDictionary[id] = extendedFormatData;
        }
        /// <summary>
        /// Set PluginData for a HEditData for the specified extended save data ID
        /// </summary>
        /// <param name="data">HEditData for which to set extended data</param>
        /// <param name="id">ID of the data to be saved to the card</param>
        /// <param name="extendedFormatData">PluginData to save to the card</param>
        public static void SetExtendedDataById(HEdit.HEditData data, string id, PluginData extendedFormatData)
        {
            var dict = _internalHEditDataDictionary.Get(data);

            if (dict == null)
            {
                dict = new Dictionary <string, PluginData>();
                _internalHEditDataDictionary.Set(data, dict);
            }

            dict[id] = extendedFormatData;
        }
예제 #6
0
        public static string TranslateText(string input, object obj)
        {
            if (DynamicTranslator.IsPastingToClipboard.Value)
            {
                GUIUtility.systemCopyBuffer = input;
            }

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

            if (obj != null && !OriginalTranslations.Contains(obj))
            {
                OriginalTranslations.Set(obj, input);
            }

            if (Translations.TryGetValue(input.Trim(), out CompiledLine translation))
            {
                return(translation.TranslatedLine);
            }

            if (TryGetRegex(input, out string regexTranslation))
            {
                return(regexTranslation);
            }

            if (obj is UnityEngine.UI.Text)
            {
                var immediatelyTranslated = DynamicTranslator.OnOnUnableToTranslateUgui(obj, input);
                if (immediatelyTranslated != null)
                {
                    return(immediatelyTranslated);
                }
            }
            else if (obj is TMP_Text)
            {
                var immediatelyTranslated = DynamicTranslator.OnOnUnableToTranslateTextMeshPro(obj, input);
                if (immediatelyTranslated != null)
                {
                    return(immediatelyTranslated);
                }
            }

            if (!Untranslated.Contains(input))
            {
                Untranslated.Add(input);
            }

            return(input);
        }