protected bool Select(GameObject target) { if (!target) { return(false); } Deselect(); var selectable = target.GetComponent <IPlayerSelectable> (); if (selectable == null) { return(false); } m_selectedGameObject = target; m_selectable = selectable; m_selectable.OnSelect(); m_draggable = m_selectedGameObject.GetComponent <IPlayerDraggable> (); if (m_draggable != null) { m_draggable.OnDragStart(); } return(true); }
protected void Deselect() { if (m_selectedGameObject) { if (m_draggable != null) { m_draggable.OnDragEnd(); m_draggable = null; } m_selectable.OnDeselect(); m_selectable = null; m_selectedGameObject = null; } }