// Update is called once per frame void Update() { if (m_CheckDeselect) { if (Mathf.Abs(Input.mousePosition.x - m_DragLocationStart.x) > 2 && Mathf.Abs(Input.mousePosition.y - m_DragLocationStart.y) > 2) { m_CheckDeselect = false; m_Dragging = true; m_GuiManager.Dragging = true; m_SelectedManager.DeselectAll(); } } }
public void LeftButton_SingleClickUp(MouseEventArgs e) { switch (m_Mode) { case Mode.Normal: //If we've just switched from another mode, don't execute if (m_Placed) { m_Placed = false; return; } //We've left clicked, have we left clicked on a unit? int currentObjLayer = currentObject.layer; if (!m_GuiManager.Dragging && (currentObjLayer == 8 || currentObjLayer == 9 || currentObjLayer == 12 || currentObjLayer == 13)) { if (!IsShiftDown) { m_SelectedManager.DeselectAll(); } m_SelectedManager.AddObject(currentObject.GetComponent <RTSObject>()); } else if (!m_GuiManager.Dragging) { m_SelectedManager.DeselectAll(); } break; case Mode.PlaceBuilding: if (m_Placed) { m_Placed = false; } break; } }