RebuildChecker.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using UnityEngine;
  2. namespace WebGLSupport.Detail
  3. {
  4. public class RebuildChecker
  5. {
  6. IInputField input;
  7. string beforeString;
  8. int beforeCaretPosition;
  9. int beforeSelectionFocusPosition;
  10. int beforeSelectionAnchorPosition;
  11. //Vector2 anchoredPosition;
  12. public RebuildChecker(IInputField input)
  13. {
  14. this.input = input;
  15. }
  16. public bool NeedRebuild(bool debug = false)
  17. {
  18. var res = false;
  19. // any not same
  20. if (beforeString != input.text)
  21. {
  22. if(debug) Debug.Log(string.Format("beforeString : {0} != {1}", beforeString, input.text));
  23. beforeString = input.text;
  24. res = true;
  25. }
  26. if (beforeCaretPosition != input.caretPosition)
  27. {
  28. if (debug) Debug.Log(string.Format("beforeCaretPosition : {0} != {1}", beforeCaretPosition, input.caretPosition));
  29. beforeCaretPosition = input.caretPosition;
  30. res = true;
  31. }
  32. if (beforeSelectionFocusPosition != input.selectionFocusPosition)
  33. {
  34. if (debug) Debug.Log(string.Format("beforeSelectionFocusPosition : {0} != {1}", beforeSelectionFocusPosition, input.selectionFocusPosition));
  35. beforeSelectionFocusPosition = input.selectionFocusPosition;
  36. res = true;
  37. }
  38. if (beforeSelectionAnchorPosition != input.selectionAnchorPosition)
  39. {
  40. if (debug) Debug.Log(string.Format("beforeSelectionAnchorPosition : {0} != {1}", beforeSelectionAnchorPosition, input.selectionAnchorPosition));
  41. beforeSelectionAnchorPosition = input.selectionAnchorPosition;
  42. res = true;
  43. }
  44. //if (anchoredPosition != input.TextComponentRectTransform().anchoredPosition)
  45. //{
  46. // if (debug) Debug.Log(string.Format("anchoredPosition : {0} != {1}", anchoredPosition, input.TextComponentRectTransform().anchoredPosition));
  47. // anchoredPosition = input.TextComponentRectTransform().anchoredPosition;
  48. // res = true;
  49. //}
  50. return res;
  51. }
  52. }
  53. }