void PlaceCursor(PointerEventData eventData) { var pos = new Vector2(eventData.position.x - picker.hsvImage.rectTransform.position.x, picker.hsvImage.rectTransform.rect.height * picker.hsvImage.transform.lossyScale.y - (picker.hsvImage.rectTransform.position.y - eventData.position.y)); // Debug.Log(pos); pos.x /= picker.hsvImage.rectTransform.rect.width * picker.hsvImage.transform.lossyScale.x; pos.y /= picker.hsvImage.rectTransform.rect.height * picker.hsvImage.transform.lossyScale.y; pos.x = Mathf.Clamp(pos.x, 0, .9999f); //1 is the same as 0 pos.y = Mathf.Clamp(pos.y, 0, .9999f); //Debug.Log(pos); picker.MoveCursor(pos.x, pos.y); }
public void ScrollValueChanged(Vector2 value) { //if (scrollRect.Dragging == false) // return; var position = rectTransform.localPosition; position.x = Mathf.Clamp(position.x, -parentPanel.sizeDelta.x / 2, parentPanel.sizeDelta.x / 2); position.y = Mathf.Clamp(position.y, -parentPanel.sizeDelta.y / 2, parentPanel.sizeDelta.y / 2); rectTransform.localPosition = position; //scroll position time position.x += parentPanel.sizeDelta.x / 2; position.y += parentPanel.sizeDelta.y / 2; position.x /= parentPanel.sizeDelta.x; position.y /= parentPanel.sizeDelta.y; ////Debug.Log(position.x + " " + position.y); picker.MoveCursor(position.x, position.y, true); }