/// <summary>
        /// 加载所需资源(泛型)
        /// </summary>
        /// <param name="sceneName">场景名称</param>
        /// <param name="abName">assetBundle 名称</param>
        /// <param name="assetName">资源名称</param>
        /// <param name="isCache">是否缓存,当用户加载资源后,自己没有加入缓存,而之后又需要再次使用这个资源,建议 true</param>
        /// <returns></returns>
        public T LoadAsset <T>(string sceneName, string abName, string assetName, bool isCache = false) where T : UnityEngine.Object
        {
            string _CurrentSceneName = sceneName.ToLower();
            string _CurrentAB        = String.Empty;
            string tmpassetName      = assetName.ToLower();

            if (abName.Contains("/"))
            {
                _CurrentAB = abName.ToLower();
            }
            else
            {
                _CurrentAB = _CurrentSceneName + "/" + abName.ToLower();
            }
            if (_DicAllScenes.ContainsKey(_CurrentSceneName))
            {
                MultiABManager multiObj = _DicAllScenes[_CurrentSceneName];
                return(multiObj.LoadAsset <T>(_CurrentAB, tmpassetName, isCache));
            }
            Debug.LogError(GetType() + "/MyLoadAsset() sceneName 可能为空,或者未使用 LoadAssetBundlePack 提前加载AB包");
            return(default(T));
        }