public static TMP_SpriteAsset SearchFallbackForSprite(TMP_SpriteAsset spriteAsset, int unicode, out int spriteIndex)
 {
     spriteIndex = -1;
     if (spriteAsset == null)
     {
         return(null);
     }
     spriteIndex = spriteAsset.GetSpriteIndexFromUnicode(unicode);
     if (spriteIndex != -1)
     {
         return(spriteAsset);
     }
     if (spriteAsset.fallbackSpriteAssets != null && spriteAsset.fallbackSpriteAssets.Count > 0)
     {
         int num = 0;
         while (num < spriteAsset.fallbackSpriteAssets.Count && spriteIndex == -1)
         {
             TMP_SpriteAsset tmp_SpriteAsset = TMP_SpriteAsset.SearchFallbackForSprite(spriteAsset.fallbackSpriteAssets[num], unicode, out spriteIndex);
             if (tmp_SpriteAsset != null)
             {
                 return(tmp_SpriteAsset);
             }
             num++;
         }
     }
     return(null);
 }
 public static TMP_SpriteAsset SearchFallbackForSprite(List <TMP_SpriteAsset> spriteAssets, int unicode, out int spriteIndex)
 {
     spriteIndex = -1;
     if (spriteAssets != null && spriteAssets.Count > 0)
     {
         for (int i = 0; i < spriteAssets.Count; i++)
         {
             TMP_SpriteAsset tmp_SpriteAsset = TMP_SpriteAsset.SearchFallbackForSprite(spriteAssets[i], unicode, out spriteIndex);
             if (tmp_SpriteAsset != null)
             {
                 return(tmp_SpriteAsset);
             }
         }
     }
     return(null);
 }