Exemplo n.º 1
0
 protected virtual void Update()
 {
     //IL_00cb: Unknown result type (might be due to invalid IL or missing references)
     //IL_00d5: Unknown result type (might be due to invalid IL or missing references)
     //IL_00da: Unknown result type (might be due to invalid IL or missing references)
     //IL_00db: Unknown result type (might be due to invalid IL or missing references)
     //IL_00dd: Invalid comparison between Unknown and I4
     //IL_00e2: Unknown result type (might be due to invalid IL or missing references)
     //IL_00e5: Invalid comparison between Unknown and I4
     //IL_00ea: Unknown result type (might be due to invalid IL or missing references)
     //IL_00ed: Invalid comparison between Unknown and I4
     //IL_00f2: Unknown result type (might be due to invalid IL or missing references)
     //IL_00f5: Invalid comparison between Unknown and I4
     //IL_00fa: Unknown result type (might be due to invalid IL or missing references)
     //IL_00fd: Invalid comparison between Unknown and I4
     //IL_0102: Unknown result type (might be due to invalid IL or missing references)
     //IL_0105: Invalid comparison between Unknown and I4
     //IL_010a: Unknown result type (might be due to invalid IL or missing references)
     //IL_010d: Invalid comparison between Unknown and I4
     //IL_0129: Unknown result type (might be due to invalid IL or missing references)
     //IL_0148: Unknown result type (might be due to invalid IL or missing references)
     //IL_016d: Unknown result type (might be due to invalid IL or missing references)
     //IL_0194: Unknown result type (might be due to invalid IL or missing references)
     //IL_0198: Unknown result type (might be due to invalid IL or missing references)
     //IL_01a3: Unknown result type (might be due to invalid IL or missing references)
     //IL_01df: Unknown result type (might be due to invalid IL or missing references)
     //IL_01e4: Expected O, but got Unknown
     //IL_022e: Unknown result type (might be due to invalid IL or missing references)
     //IL_0233: Unknown result type (might be due to invalid IL or missing references)
     //IL_024e: Unknown result type (might be due to invalid IL or missing references)
     //IL_0253: Unknown result type (might be due to invalid IL or missing references)
     //IL_0258: Unknown result type (might be due to invalid IL or missing references)
     //IL_0274: Unknown result type (might be due to invalid IL or missing references)
     //IL_053c: Unknown result type (might be due to invalid IL or missing references)
     //IL_056c: Unknown result type (might be due to invalid IL or missing references)
     //IL_061f: Unknown result type (might be due to invalid IL or missing references)
     //IL_063a: Unknown result type (might be due to invalid IL or missing references)
     //IL_06ed: Unknown result type (might be due to invalid IL or missing references)
     if (isSelected && mSelectTime != Time.get_frameCount())
     {
         if (mDoInit)
         {
             Init();
         }
         if (mWaitForKeyboard)
         {
             if (mKeyboard != null && !mKeyboard.get_active())
             {
                 return;
             }
             mWaitForKeyboard = false;
         }
         if (mSelectMe != -1 && mSelectMe != Time.get_frameCount())
         {
             mSelectMe       = -1;
             mSelectionEnd   = ((!string.IsNullOrEmpty(mValue)) ? mValue.Length : 0);
             mDrawStart      = 0;
             mSelectionStart = ((!selectAllTextOnFocus) ? mSelectionEnd : 0);
             label.color     = activeTextColor;
             RuntimePlatform platform = Application.get_platform();
             if ((int)platform == 8 || (int)platform == 11 || (int)platform == 21 || (int)platform == 22 || (int)platform == 20 || (int)platform == 19 || (int)platform == 18)
             {
                 TouchScreenKeyboardType val;
                 string text;
                 if (inputShouldBeHidden)
                 {
                     TouchScreenKeyboard.set_hideInput(true);
                     val  = keyboardType;
                     text = "|";
                 }
                 else if (inputType == InputType.Password)
                 {
                     TouchScreenKeyboard.set_hideInput(false);
                     val             = 0;
                     text            = mValue;
                     mSelectionStart = mSelectionEnd;
                 }
                 else
                 {
                     TouchScreenKeyboard.set_hideInput(false);
                     val             = keyboardType;
                     text            = mValue;
                     mSelectionStart = mSelectionEnd;
                 }
                 mWaitForKeyboard = true;
                 mKeyboard        = ((inputType != InputType.Password) ? TouchScreenKeyboard.Open(text, val, !inputShouldBeHidden && inputType == InputType.AutoCorrect, label.multiLine && !hideInput, false, false, defaultText) : TouchScreenKeyboard.Open(text, val, false, false, true));
             }
             else
             {
                 Vector2 compositionCursorPos = Vector2.op_Implicit((!(UICamera.current != null) || !(UICamera.current.cachedCamera != null)) ? label.worldCorners[0] : UICamera.current.cachedCamera.WorldToScreenPoint(label.worldCorners[0]));
                 compositionCursorPos.y = (float)Screen.get_height() - compositionCursorPos.y;
                 Input.set_imeCompositionMode(1);
                 Input.set_compositionCursorPos(compositionCursorPos);
             }
             UpdateLabel();
             if (string.IsNullOrEmpty(Input.get_inputString()))
             {
                 return;
             }
         }
         if (mKeyboard != null)
         {
             string text2 = (!mKeyboard.get_done() && mKeyboard.get_active()) ? mKeyboard.get_text() : mCached;
             if (inputShouldBeHidden)
             {
                 if (text2 != "|")
                 {
                     if (!string.IsNullOrEmpty(text2))
                     {
                         Insert(text2.Substring(1));
                     }
                     else
                     {
                         DoBackspace();
                     }
                     mKeyboard.set_text("|");
                 }
             }
             else if (mCached != text2)
             {
                 mCached = text2;
                 if (!mKeyboard.get_done() && mKeyboard.get_active())
                 {
                     value = text2;
                 }
             }
             if (mKeyboard.get_done() || !mKeyboard.get_active())
             {
                 if (!mKeyboard.get_wasCanceled())
                 {
                     Submit();
                 }
                 mKeyboard  = null;
                 isSelected = false;
                 mCached    = string.Empty;
             }
         }
         else
         {
             string compositionString = Input.get_compositionString();
             if (string.IsNullOrEmpty(compositionString) && !string.IsNullOrEmpty(Input.get_inputString()))
             {
                 string inputString = Input.get_inputString();
                 for (int i = 0; i < inputString.Length; i++)
                 {
                     char c = inputString[i];
                     if (c >= ' ' && c != '\uf700' && c != '\uf701' && c != '\uf702' && c != '\uf703')
                     {
                         Insert(c.ToString());
                     }
                 }
             }
             if (mLastIME != compositionString)
             {
                 mSelectionEnd = ((!string.IsNullOrEmpty(compositionString)) ? (mValue.Length + compositionString.Length) : mSelectionStart);
                 mLastIME      = compositionString;
                 UpdateLabel();
                 ExecuteOnChange();
             }
         }
         if (mCaret != null && mNextBlink < RealTime.time)
         {
             mNextBlink = RealTime.time + 0.5f;
             mCaret.set_enabled(!mCaret.get_enabled());
         }
         if (isSelected && mLastAlpha != label.finalAlpha)
         {
             UpdateLabel();
         }
         if (mCam == null)
         {
             mCam = UICamera.FindCameraForLayer(this.get_gameObject().get_layer());
         }
         if (mCam != null)
         {
             if (UICamera.GetKeyDown(mCam.submitKey0))
             {
                 if (onReturnKey == OnReturnKey.NewLine || (onReturnKey == OnReturnKey.Default && label.multiLine && !Input.GetKey(306) && !Input.GetKey(305) && label.overflowMethod != UILabel.Overflow.ClampContent && validation == Validation.None))
                 {
                     Insert("\n");
                 }
                 else
                 {
                     if (UICamera.controller.current != null)
                     {
                         UICamera.controller.clickNotification = UICamera.ClickNotification.None;
                     }
                     UICamera.currentKey = mCam.submitKey0;
                     Submit();
                 }
             }
             if (UICamera.GetKeyDown(mCam.submitKey1))
             {
                 if (onReturnKey == OnReturnKey.NewLine || (onReturnKey == OnReturnKey.Default && label.multiLine && !Input.GetKey(306) && !Input.GetKey(305) && label.overflowMethod != UILabel.Overflow.ClampContent && validation == Validation.None))
                 {
                     Insert("\n");
                 }
                 else
                 {
                     if (UICamera.controller.current != null)
                     {
                         UICamera.controller.clickNotification = UICamera.ClickNotification.None;
                     }
                     UICamera.currentKey = mCam.submitKey1;
                     Submit();
                 }
             }
             if (!mCam.useKeyboard && UICamera.GetKeyUp(9))
             {
                 OnKey(9);
             }
         }
     }
 }