예제 #1
0
        /// <summary>
        /// Create a Localization Settings which with no String/Asset database and a TestLocaleProvider.
        /// The idea here is to avoid loading anything Addressable so our tests can run in isolation and be fast.
        /// </summary>
        /// <returns></returns>
        public static LocalizationSettings CreateEmpty()
        {
            var settings = ScriptableObject.CreateInstance <LocalizationSettings>();

            settings.SetAssetDatabase(null);
            settings.SetStringDatabase(null);

            // Add the test locales
            var localeProvider = new TestLocaleProvider();

            settings.SetAvailableLocales(localeProvider);
            return(settings);
        }
예제 #2
0
        public void Setup()
        {
            LocalizationSettingsHelper.SaveCurrentSettings();

            LocalizationSettings.Instance = ScriptableObject.CreateInstance <LocalizationSettings>();

            var localeProvider = new TestLocaleProvider();

            m_Selected = Locale.CreateLocale("en");
            localeProvider.AddLocale(m_Selected);
            LocalizationSettings.Instance.SetAvailableLocales(localeProvider);

            m_FixtureStringDatabase             = new FixtureStringDatabase();
            LocalizationSettings.StringDatabase = m_FixtureStringDatabase;

            m_FixtureStringDatabase.NoTranslationFoundMessage = "No translation found for '{key}'";
            m_GameObject          = new GameObject(nameof(ChangingLocalizedStringUpdatesValues));
            m_LocalizeStringEvent = m_GameObject.AddComponent <LocalizeStringEvent>();

            // Setup with a default value so we do not start with an empty StringReference.
            m_LocalizeStringEvent.StringReference.SetReference(kDefaultTableCollectionName, kDefaultEntryName);
            ClearLastGetTableEntryValues();
        }