public override bool Perform(bool repeat = false) { TMPro.TMP_InputField inputField = StaticAction.GetSelectedInputField(); if (!!inputField) { string copied = GUIUtility.systemCopyBuffer; if (copied == null) { return(true); } int startPosition = inputField.selectionStringAnchorPosition; int endPosition = inputField.selectionStringFocusPosition; if (startPosition > endPosition) { int tmpPosition = startPosition; startPosition = endPosition; endPosition = tmpPosition; } if (startPosition == endPosition) { inputField.text = inputField.text.Insert(startPosition, copied); } else { inputField.text = inputField.text.Remove(startPosition, endPosition - startPosition).Insert(startPosition, copied); } inputField.selectionStringFocusPosition = inputField.selectionStringAnchorPosition = startPosition + copied.Length; return(true); } return(false); }
public override bool Perform(bool repeat = false) { TMPro.TMP_InputField inputField = StaticAction.GetSelectedInputField(); if (!!inputField) { int startPosition = inputField.selectionStringAnchorPosition; int endPosition = inputField.selectionStringFocusPosition; if (startPosition > endPosition) { int tmpPosition = startPosition; startPosition = endPosition; endPosition = tmpPosition; } else if (startPosition == endPosition) { if (startPosition == 0) // nothing to remove { return(true); } startPosition--; } inputField.text = inputField.text.Remove(startPosition, endPosition - startPosition); inputField.selectionStringFocusPosition = inputField.selectionStringAnchorPosition = startPosition; return(true); } return(false); }
public override bool Perform(bool repeat = false) { TMPro.TMP_InputField inputField = StaticAction.GetSelectedInputField(); if (!!inputField) { int startPosition = inputField.selectionStringAnchorPosition; int endPosition = inputField.selectionStringFocusPosition; if (startPosition > endPosition) { int tmpPosition = startPosition; startPosition = endPosition; endPosition = tmpPosition; } else if (startPosition == endPosition) { if (endPosition == inputField.text.Length) { return(true); } endPosition++; } GUIUtility.systemCopyBuffer = inputField.text.Substring(startPosition, endPosition - startPosition); return(true); } return(false); }
public override bool KeyCallback(uint eventMask, char _, KeyCode __, EventModifiers eventModifiers) { TMPro.TMP_InputField inputField = StaticAction.GetSelectedInputField(); if (!!inputField) { inputField.MoveTextEnd((eventModifiers & EventModifiers.Shift) != 0); return(true); } return(false); }
public override bool Perform(bool repeat = false) { TMPro.TMP_InputField inputField = StaticAction.GetSelectedInputField(); if (!!inputField) { inputField.MoveTextEnd(false); return(true); } return(false); }