예제 #1
0
파일: Localize.cs 프로젝트: GRXing/Frame
        public T FindTranslatedObject <T>(string value) where T : Object
        {
            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }

            if (TranslatedObjects != null)
            {
                for (int i = 0, imax = TranslatedObjects.Length; i < imax; ++i)
                {
                    if (TranslatedObjects[i] is T && value.EndsWith(TranslatedObjects[i].name, StringComparison.OrdinalIgnoreCase))
                    {
                        // Check if the value is just the name or has a path
                        if (string.Compare(value, TranslatedObjects[i].name, StringComparison.OrdinalIgnoreCase) == 0)
                        {
                            return((T)TranslatedObjects[i]);
                        }

                        // Check if the path matches
                        //Resources.get TranslatedObjects[i].
                    }
                }
            }

            T obj = LocalizationManager.FindAsset(value) as T;

            if (obj)
            {
                return(obj);
            }

            obj = ResourceManager.pInstance.GetAsset <T>(value);
            return(obj);
        }
예제 #2
0
        public T FindTranslatedObject <T>(string value) where T : UnityEngine.Object
        {
            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }

            if (TranslatedObjects != null)
            {
                for (int i = 0, imax = TranslatedObjects.Length; i < imax; ++i)
                {
                    if (TranslatedObjects[i] as T != null && value == TranslatedObjects[i].name)
                    {
                        return(TranslatedObjects[i] as T);
                    }
                }
            }

            T obj = LocalizationManager.FindAsset(value) as T;

            if (obj)
            {
                return(obj);
            }

            obj = ResourceManager.pInstance.GetAsset <T>(value);
            return(obj);
        }
예제 #3
0
        public T FindTranslatedObject <T>(string value) where T : UnityEngine.Object
        {
            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }
            if (TranslatedObjects != null)
            {
                int i = 0;
                for (int num = TranslatedObjects.Length; i < num; i++)
                {
                    if (TranslatedObjects[i] is T && value.EndsWith(TranslatedObjects[i].name, StringComparison.OrdinalIgnoreCase) && string.Compare(value, TranslatedObjects[i].name, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        return((T)TranslatedObjects[i]);
                    }
                }
            }
            T val = LocalizationManager.FindAsset(value) as T;

            if ((bool)(UnityEngine.Object)val)
            {
                return(val);
            }
            return(ResourceManager.pInstance.GetAsset <T>(value));
        }
예제 #4
0
        public T FindTranslatedObject <T>(string value) where T : Object
        {
            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }

            if (mAssetDictionary == null || mAssetDictionary.Count != TranslatedObjects.Count)
            {
                UpdateAssetDictionary();
            }

            foreach (var kvp in mAssetDictionary)
            {
                if (kvp.Value is T && value.EndsWith(kvp.Key, StringComparison.OrdinalIgnoreCase))
                {
                    // Check if the value is just the name or has a path
                    if (string.Compare(value, kvp.Key, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        return((T)kvp.Value);
                    }

                    // Check if the path matches
                    //Resources.get TranslatedObjects[i].
                }
            }

            T obj = LocalizationManager.FindAsset(value) as T;

            if (obj)
            {
                return(obj);
            }

            obj = ResourceManager.pInstance.GetAsset <T>(value);
            return(obj);
        }