internal static string GetLocalizationParam(string ParamName, GameObject root) { string text = null; if ((bool)root) { MonoBehaviour[] components = root.GetComponents <MonoBehaviour>(); int i = 0; for (int num = components.Length; i < num; i++) { ILocalizationParamsManager localizationParamsManager = components[i] as ILocalizationParamsManager; if (localizationParamsManager != null) { text = localizationParamsManager.GetParameterValue(ParamName); if (text != null) { return(text); } } } } int j = 0; for (int count = ParamManagers.Count; j < count; j++) { text = ParamManagers[j].GetParameterValue(ParamName); if (text != null) { return(text); } } return(null); }
public static bool TryGetTranslation(string Term, out string Translation, ILocalizationParamsManager ParamManager = null, bool FixForRTL = true, int maxLineLengthForRTL = 0, bool ignoreRTLnumbers = true, string overrideLanguage = null) { Translation = null; if (string.IsNullOrEmpty(Term)) { return(false); } InitializeIfNeeded(); for (int i = 0, imax = Sources.Count; i < imax; ++i) { if (Sources[i].TryGetTranslation(Term, out Translation, overrideLanguage)) { if (!ParamManager.IsNull()) { ApplyLocalizationParams(ref Translation, ParamManager, allowLocalizedParameters: true); } if (IsRight2Left && FixForRTL) { Translation = ApplyRTLfix(Translation, maxLineLengthForRTL, ignoreRTLnumbers); } return(true); } } return(false); }
//================= public static void ApplyLocalizationParams(ref string translation, ILocalizationParamsManager ParamManager, bool allowLocalizedParameters = true) { ApplyLocalizationParams(ref translation, (p) => { return(ParamManager.GetParameterValue(p)); } , allowLocalizedParameters); }
//========= cat mod =========== private static bool IsNull(this ILocalizationParamsManager lp) { return(lp == null); }