/// <summary>
    /// 将制定GameObject存在的UITexture和UISprite去色,变灰
    /// </summary>
    /// <param name="targetObj"> 目标物体</param>
    /// <param name="gray"> 是否变灰</param>
    /// <param name="atlasName"> 制定图集</param>
    public void ChangeObjectsToGray(GameObject targetObj, bool gray, AtlasName atlasName = AtlasName.EM_AtlasName_None)
    {
        UISprite[] sprites = targetObj.GetComponentsInChildren<UISprite>();
        UITexture[] textures = targetObj.GetComponentsInChildren<UITexture>();

        for (int i = 0; i < sprites.Length; i++)
            ChangeUISpriteToGray(sprites[i], gray, atlasName);

        for (int i = 0; i < textures.Length; i++)
            ChangeUITextureToGary(textures[i], gray);
    }
    public bool ChangeUISpriteToGray(UISprite targetSprite, bool toGray, AtlasName atlasName = AtlasName.EM_AtlasName_None)
    {
        bool toGarySucess = false;
        if (targetSprite != null)
        {
            List<UIAtlas> findAtlas = new List<UIAtlas>();
            if (toGray)
                findAtlas = grayAtlas;
            else
                findAtlas = normalAtlas;

            UISpriteData findData = null;
            string spriteName = targetSprite.spriteName;

            // 如果指定图集,不用查找直接更换图集即可(高效方式)
            if (atlasName != AtlasName.EM_AtlasName_None)
            {
                findData = findAtlas[(int)atlasName].GetSprite(spriteName);
                if (findData != null)
                {
                    targetSprite.atlas = findAtlas[(int)atlasName];
                    toGarySucess = true;
                }
            }
            else
            {
                // 未指定图集,需要从现有的图集中查找对应的图集
                for (int i = 0; i < findAtlas.Count; i++)
                {
                    findData = findAtlas[i].GetSprite(spriteName);
                    if (findData != null)
                    {
                        targetSprite.atlas = findAtlas[i];
                        toGarySucess = true;
                        break;
                    }
                }
            }
        }
        return toGarySucess;
    }