Пример #1
0
    private void DeleteBindCell(BindCell target)
    {
        if (m_BindCells.Contains(target))
        {
            m_BindCells.Remove(target);
            m_UnabelCells.Remove(target);

            object bindBehaviour = target.GetComponent();
            if (bindBehaviour != null && m_DualCells.ContainsKey(bindBehaviour))
            {
                m_DualCells.Remove(bindBehaviour);
            }

            if (target.m_Target != null && m_GoCells.ContainsKey(target.m_Target))
            {
                m_GoCells[target.m_Target].Remove(target);
                if (m_GoCells[target.m_Target].Count == 0)
                {
                    m_GoCells.Remove(target.m_Target);
                }
            }

            if (bindBehaviour is GameObject)
            {
                RemoveComponent((GameObject)bindBehaviour);
            }

            if (bindBehaviour is Transform)
            {
                RemoveComponent((Transform)bindBehaviour);
            }

            if (bindBehaviour is MonoBehaviour)
            {
                RemoveComponent((MonoBehaviour)bindBehaviour);
            }
        }

        NewCurInfo(m_CurInfo.m_Target != null ? m_CurInfo.m_Target : null);
    }