/// <summary>
 /// 判断移动
 /// </summary>
 private void JudgeMove(CookiesAttribute ca)
 {
     _columnDeleteNumList[ca._c]++;
     foreach (KeyValuePair <GameObject, CookiesAttribute> item in _cookiesAttributeDictionary)
     {
         if (item.Value._c == ca._c && item.Value._r < ca._r)
         {
             item.Value._move++;
             if (_moveCookies.IndexOf(item.Value) == -1 && _deleteCookies.IndexOf(item.Value) == -1)
             {
                 _moveCookies.Add(item.Value);
             }
         }
     }
 }
    /// <summary>
    /// 鼠标按下饼干
    /// </summary>
    /// <param name="evenData"></param>
    /// <param name="obj"></param>
    private void OnCookiesDown(PointerEventData evenData, GameObject obj, EventTriggerListener etl)
    {
        if (_mouseState != MouseState.弹起)
        {
            return;
        }
        CookiesAttribute ca = _cookiesAttributeDictionary[obj];

        _choseCookiesType = ca._type;
        ShowOther(false);
        _deleteCookies.Add(ca);
        RefreshColumnRow(ca);
        ChoseAnimation(obj);
        _mouseState = MouseState.;
    }
    /// <summary>
    /// 生成饼干
    /// </summary>
    /// <param name="c">列</param>
    /// <param name="r">行</param>
    public CookiesAttribute CreateCookies(int c, int r)
    {
        GameObject    cookies = Instantiate(_cookiesPrefab);
        RectTransform rtf     = cookies.GetComponent <RectTransform>();

        rtf.SetParent(_content);
        rtf.localPosition = new Vector2(_startX + c * _intervalX, _startY - r * _intervalY);
        //随机图标
        Sprite           sprite = _spritesList[UnityEngine.Random.Range(0, _typeNum)];
        CookiesAttribute ca     = cookies.AddComponent <CookiesAttribute>();

        ca._c            = c;
        ca._r            = r;
        ca._image        = rtf.GetComponent <Image>();
        ca._image.sprite = sprite;
        ca._type         = sprite.name;
        _cookiesAttributeDictionary.Add(cookies, ca);
        EventTriggerListener.Get(cookies)._onDown  = OnCookiesDown;
        EventTriggerListener.Get(cookies)._onEnter = OnCookiesEnter;
        EventTriggerListener.Get(cookies)._onUp    = OnCookiesUp;
        return(ca);
    }
    /// <summary>
    /// 鼠标经过饼干
    /// </summary>
    /// <param name="evenData"></param>
    /// <param name="obj"></param>
    private void OnCookiesEnter(PointerEventData evenData, GameObject obj, EventTriggerListener etl)
    {
        if (_mouseState != MouseState.)
        {
            return;
        }
        CookiesAttribute ca = _cookiesAttributeDictionary[obj];

        if (_choseCookiesType == ca._type)
        {
            int index = _deleteCookies.IndexOf(ca);
            if (index != -1)
            {
                //已存在数组列表
                if (index == _deleteCookies.Count - 1)
                {
                    return;
                }
                for (int i = _deleteCookies.Count - 1; i > index; i--)
                {
                    DOTween.Kill(_deleteCookies[i].transform);
                    _deleteCookies[i].transform.localScale = new Vector2(1, 1);
                    _deleteCookies.RemoveAt(i);
                    Destroy(_linesList[i - 1]);
                    _linesList.RemoveAt(i - 1);
                }
                RefreshColumnRow(_deleteCookies[_deleteCookies.Count - 1]);
            }
            else if (Math.Abs(ca._c - _prevCookiesColumn) <= 1 && Math.Abs(ca._r - _prevCookiesRow) <= 1)
            {
                _deleteCookies.Add(ca);
                RefreshColumnRow(ca);
                CreateLine();
                ChoseAnimation(obj);
            }
        }
    }
 /// <summary>
 /// 刷新当前行列值
 /// </summary>
 /// <param name="cookiesName"></param>
 private void RefreshColumnRow(CookiesAttribute ca)
 {
     _prevCookiesColumn = ca._c;
     _prevCookiesRow    = ca._r;
 }