// Token: 0x06001BC2 RID: 7106 RVA: 0x0008E1EC File Offset: 0x0008C3EC
    public override void UpdateTouches(Touch touch)
    {
        if (this.finger.FingerId != -1 && touch.fingerId != this.finger.FingerId)
        {
            return;
        }
        if (this.finger.FingerId == -1 && touch.phase != TouchPhase.Began)
        {
            return;
        }
        Vector2 vector = touch.position;

        if (this._rotationAngle != 0f)
        {
            vector = Mathfx.RotateVector2AboutPoint(touch.position, new Vector2(this._rotationPoint.x, (float)Screen.height - this._rotationPoint.y), -this._rotationAngle);
        }
        switch (touch.phase)
        {
        case TouchPhase.Began:
            if (this.TouchInside(vector))
            {
                this.finger.StartPos       = vector;
                this.finger.LastPos        = vector;
                this.finger.StartTouchTime = Time.time;
                this.finger.FingerId       = touch.fingerId;
                this._inside = true;
                if (this.OnTouchBegan != null)
                {
                    this.OnTouchBegan(vector);
                }
            }
            break;

        case TouchPhase.Moved:
        case TouchPhase.Stationary:
        {
            bool flag = this.TouchInside(vector);
            if (this._inside && !flag)
            {
                this._inside = false;
                if (this.OnTouchLeftBoundary != null)
                {
                    this.OnTouchLeftBoundary(vector, touch.deltaPosition);
                }
            }
            else if (!this._inside && flag)
            {
                this._inside = true;
                if (this.OnTouchEnteredBoundary != null)
                {
                    this.OnTouchEnteredBoundary(vector, touch.deltaPosition);
                }
            }
            if (this.OnTouchMoved != null)
            {
                this.OnTouchMoved(vector, touch.deltaPosition);
            }
            this.finger.LastPos = vector;
            break;
        }

        case TouchPhase.Ended:
        case TouchPhase.Canceled:
            if (this.OnTouchEnded != null)
            {
                this.OnTouchEnded(vector);
            }
            this.ResetTouch();
            break;
        }
    }