using UnityEngine; using System.Collections; public class MaterialLoader { public static Material Load(string modelName, string materialName) { string _bundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, ResourcesPath.MOB_SUFFIX, modelName); string _assetName = materialName; AssetInfo _assetInfo = new AssetInfo(_bundleName, _assetName); Material _controller = AssetBundleUtility.Instance.Sync_LoadAsset(_assetInfo) as Material; if (_controller == null) { DebugEx.LogErrorFormat("MaterialLoader.Load() => 加载不到资源: {0}.", _assetName); } return _controller; } public static Material LoadClothesMaterial(int id, bool isUI, bool isSuit) { var _modelResConfig = Config.Instance.Get(id); if (_modelResConfig == null) { return null; } string _assetName = string.Empty; if (isSuit) { if (isUI) { _assetName = _modelResConfig.Material_UI_Suit; } else { _assetName = _modelResConfig.Material_Fight_Suit; } } else { if (isUI) { _assetName = _modelResConfig.Material_UI_Normal; } else { _assetName = _modelResConfig.Material_Fight_Normal; } } if (string.IsNullOrEmpty(_assetName)) { return null; } string _name = _modelResConfig.ResourcesName; int _index = _name.IndexOf('/'); if (_index != -1) { _name = _name.Substring(_index + 1); } if (_name.Contains("A_Zs")) { _name = "A_Zs"; } else if (_name.Contains("A_Fs")) { _name = "A_Fs"; } Material _mat = null; if (AssetSource.mobFromEditor) { #if UNITY_EDITOR string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath, "Mob/", _name, "/Materials/", _assetName, ".mat"); _mat = UnityEditor.AssetDatabase.LoadAssetAtPath(_resourcePath); #endif } else { string _bundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, _name.ToLower(), "_materials"); AssetInfo _assetInfo = new AssetInfo(_bundleName, _assetName); _mat = AssetBundleUtility.Instance.Sync_LoadAsset(_assetInfo) as Material; } if (_mat == null) { DebugEx.LogErrorFormat("MaterialLoader.Load() => 加载不到资源: {0}.", _assetName); } return _mat; } }