public static Vector4 GetAtlasSpritePadding(string link) { string atlasName = LinkTextureData.GetAtlasName(link); string spriteName = LinkTextureData.GetTextureName(link); return(GetAtlasSpritePadding(atlasName, spriteName)); }
//-------∽-★-∽------∽-★-∽--------∽-★-∽资源相关∽-★-∽--------∽-★-∽------∽-★-∽--------// /// <summary> /// 获取assets下的图片sprite /// </summary> /// <param name="link"></param> /// <returns></returns> public static Sprite GetSprite(string link) { string atlasName = LinkTextureData.GetAtlasName(link); atlasName = AtlasBatchSetting.GetBatchedAtlasName(atlasName); //获取打包的图集 string spriteName = LinkTextureData.GetTextureName(link); string path = GetAtlasPath(atlasName); if (_cachedSpritesDict.ContainsKey(path) == false) { _cachedSpritesDict.Add(path, AssetDatabase.LoadAllAssetsAtPath(path)); } Object[] sprites = _cachedSpritesDict[path]; if (sprites.Length == 0) { throw new Exception("未找到图集: " + path); } foreach (Object obj in sprites) { if (obj.name == spriteName) { return(obj as Sprite); } } throw new Exception("未找到Sprite: " + path + " " + spriteName); }
//图片是否在公共图集 static bool IsShared(string link) { if (_atlasName == SHARED || _atlasName == SHARED1) { return(false); } string atlasName = LinkTextureData.GetAtlasName(link); return(atlasName == SHARED || atlasName == SHARED1); }