public void Update() { if (toolManager != null && Parent.CurrentGM.Item1.Equals(this)) { (int, int)mouse = PositionToGrid(Camera.main.ScreenToWorldPoint(Input.mousePosition)); if (Input.GetMouseButtonDown(0) || Input.GetMouseButton(0) || Input.GetMouseButtonUp(0)) { if (Input.GetMouseButtonDown(0)) { drawing = mouse != (-1, -1); } if (drawing && mouse != (-1, -1)) { toolManager.Action(this, mouse); } if (mouse != (-1, -1) && Input.GetMouseButtonUp(0)) { drawing = false; } if (Input.GetMouseButtonUp(0) && drawing && mouse == (-1, -1)) { toolManager.EndAction(); drawing = false; } } if (mouse != (-1, -1)) { toolManager.DisplayHover(this, mouse); } else { Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); toolManager.CleanHover(); } if (Input.GetKey(KeyCode.LeftControl) && (Input.GetKeyDown(KeyCode.C) || Input.GetKeyDown(KeyCode.V) || Input.GetKeyDown(KeyCode.X)) || Input.GetMouseButtonDown(1)) { toolManager.Action(this, mouse); } }