private bool ActivateTarget(ViewCellTarget viewCellTarget)
    {
        foreach (var v in _listallViewCellTarget)
        {
            if (v.nameTarget != viewCellTarget.nameTarget)
            {
                v.toggle.onValueChanged.RemoveAllListeners();

                v.toggle.isOn = false;

                if (v.PanelToActivate != null)
                {
                    v.PanelToActivate.SetActive(false);
                }

                v.toggle.onValueChanged.AddListener(
                    (ViewCellTarget) =>
                {
                    ActivateTarget(v);
                });
            }
            else
            {
                if (v.PanelToActivate != null)
                {
                    v.PanelToActivate.SetActive(true);
                }
            }
        }

        return(true);
    }
    public void Construct(FieldTarget fieldTarget)
    {
        if (_listallViewCellTarget.Count == 0)
        {
            _viewCellTarget.gameObject.SetActive(false);

            foreach (string name in Enum.GetNames(typeof(FieldTarget)))
            {
                if (name == "None")
                {
                    continue;
                }

                GameObject temp = Instantiate(_viewCellTarget.gameObject);

                temp.transform.SetParent(_viewCellTarget.gameObject.transform.parent, false);

                ViewCellTarget v = temp.GetComponent <ViewCellTarget>();

                v.nameTarget.text = name;

                _listallViewCellTarget.Add(v);

                v.toggle.onValueChanged.AddListener(
                    (ViewCellTarget) =>
                {
                    ActivateTarget(v);
                });

                FieldTarget ft = (FieldTarget)Enum.Parse(typeof(FieldTarget), name);

                switch (ft)
                {
                case FieldTarget.Block:

                    v.PanelToActivate = null;

                    break;

                case FieldTarget.SugarDrop:

                    v.PanelToActivate = _sugarDropPanel.gameObject;

                    break;

                case FieldTarget.Color:

                    v.PanelToActivate = _targetColorPanel.gameObject;

                    break;
                }

                temp.SetActive(true);
            }
        }

        ChangeTarget(fieldTarget);
    }