Esempio n. 1
0
 public void OnPointerDown(PointerEventData eventData)
 {
     if (CustomGuideAssist.IsCameraActionFlag(this.guideObject.ccv2))
     {
         return;
     }
     CustomGuideAssist.SetCameraMoveFlag(this.guideObject.ccv2, false);
 }
 public void OnInitializePotentialDrag(PointerEventData eventData)
 {
     if (CustomGuideAssist.IsCameraActionFlag(this.guideObject.ccv2))
     {
         return;
     }
     this.oldPos = eventData.get_pressPosition();
 }
Esempio n. 3
0
 public static void SetCameraMoveFlag(CameraControl_Ver2 _ctrl, bool _bPlay)
 {
     if (Object.op_Equality((Object)_ctrl, (Object)null) || CustomGuideAssist.IsCameraMoveFlag(_ctrl) == _bPlay)
     {
         return;
     }
     _ctrl.NoCtrlCondition = (BaseCameraControl_Ver2.NoCtrlFunc)(() => !_bPlay);
 }
Esempio n. 4
0
        public override void OnDrag(PointerEventData _eventData)
        {
            if (CustomGuideAssist.IsCameraActionFlag(this.guideObject.ccv2))
            {
                return;
            }
            base.OnDrag(_eventData);
            Vector3 zero = Vector3.get_zero();

            if ((double)Mathf.Abs(Vector3.Dot(((Component)this.camera).get_transform().get_forward(), ((Component)this).get_transform().get_right())) > 0.100000001490116)
            {
                Vector3 vector3_1 = this.PlanePos(_eventData.get_position());
                Vector3 vector3_2 = Quaternion.op_Multiply(Quaternion.Euler(0.0f, 90f, 0.0f), ((Component)this).get_transform().InverseTransformPoint(this.prevPlanePos));
                Vector3 vector3_3 = Quaternion.op_Multiply(Quaternion.Euler(0.0f, 90f, 0.0f), ((Component)this).get_transform().InverseTransformPoint(vector3_1));
                float   angle     = this.VectorToAngle(new Vector2((float)vector3_2.x, (float)vector3_2.y), new Vector2((float)vector3_3.x, (float)vector3_3.y));
                if (Object.op_Inequality((Object)null, (Object)this.guidLimit) && this.guidLimit.limited)
                {
                    ((Vector3) ref zero).set_Item((int)this.axis, this.LimitedValue(this.axis, angle));
                }
                else
                {
                    ((Vector3) ref zero).set_Item((int)this.axis, angle);
                }
                this.prevPlanePos = vector3_1;
            }
            else
            {
                Vector3 vector3_1 = Vector2.op_Implicit(_eventData.get_position());
                vector3_1.z = (__Null)(double)Vector3.Distance(this.prevPlanePos, ((Component)this.camera).get_transform().get_position());
                Vector3 vector3_2 = Vector2.op_Implicit(this.prevScreenPos);
                vector3_2.z = (__Null)(double)Vector3.Distance(this.prevPlanePos, ((Component)this.camera).get_transform().get_position());
                Vector3 vector3_3 = Vector3.op_Addition(this.prevPlanePos, Vector3.op_Subtraction(this.camera.ScreenToWorldPoint(vector3_1), this.camera.ScreenToWorldPoint(vector3_2)));
                Vector3 vector3_4 = Quaternion.op_Multiply(Quaternion.Euler(0.0f, 90f, 0.0f), ((Component)this).get_transform().InverseTransformPoint(this.prevPlanePos));
                Vector3 vector3_5 = Quaternion.op_Multiply(Quaternion.Euler(0.0f, 90f, 0.0f), ((Component)this).get_transform().InverseTransformPoint(vector3_3));
                this.prevPlanePos = vector3_3;
                float angle = this.VectorToAngle(new Vector2((float)vector3_4.x, (float)vector3_4.y), new Vector2((float)vector3_5.x, (float)vector3_5.y));
                if (Object.op_Inequality((Object)null, (Object)this.guidLimit) && this.guidLimit.limited)
                {
                    ((Vector3) ref zero).set_Item((int)this.axis, this.LimitedValue(this.axis, angle));
                }
                else
                {
                    ((Vector3) ref zero).set_Item((int)this.axis, angle);
                }
                this.prevPlanePos = vector3_3;
            }
            this.prevScreenPos = _eventData.get_position();
            Quaternion quaternion  = Quaternion.op_Multiply(Quaternion.Euler(this.guideObject.amount.rotation), Quaternion.Euler(zero));
            Vector3    eulerAngles = ((Quaternion) ref quaternion).get_eulerAngles();

            eulerAngles.x = (__Null)(eulerAngles.x % 360.0);
            eulerAngles.y = (__Null)(eulerAngles.y % 360.0);
            eulerAngles.z = (__Null)(eulerAngles.z % 360.0);
            this.guideObject.amount.rotation = eulerAngles;
            this.guideObject.ctrlAxisType    = (int)this.axis;
        }
Esempio n. 5
0
 public void OnInitializePotentialDrag(PointerEventData _eventData)
 {
     if (CustomGuideAssist.IsCameraActionFlag(this.guideObject.ccv2))
     {
         return;
     }
     this.guideObject.isDrag = true;
     this.prevScreenPos      = _eventData.get_position();
     this.prevPlanePos       = this.PlanePos(_eventData.get_position());
 }
        public override void OnDrag(PointerEventData eventData)
        {
            if (CustomGuideAssist.IsCameraActionFlag(this.guideObject.ccv2))
            {
                return;
            }
            base.OnDrag(eventData);
            bool    _snap = false;
            Vector3 _src  = Vector3.op_Addition(this.guideObject.amount.position, this.axis != CustomGuideMove.MoveAxis.XYZ ? this.AxisMove(eventData.get_delta(), ref _snap) : Vector3.op_Subtraction(this.WorldPos(eventData.get_position()), this.WorldPos(this.oldPos)));

            if (Object.op_Inequality((Object)null, (Object)this.guidLimit) && this.guidLimit.limited)
            {
                Vector3 vector3_1 = this.guidLimit.trfParent.InverseTransformPoint(_src);
                float   x1        = (float)this.guidLimit.limitMin.x;
                float   x2        = (float)this.guidLimit.limitMax.x;
                if (this.guidLimit.limitMin.x > this.guidLimit.limitMax.x)
                {
                    x1 = (float)this.guidLimit.limitMax.x;
                    x2 = (float)this.guidLimit.limitMin.x;
                }
                vector3_1.x = (__Null)(double)Mathf.Clamp((float)vector3_1.x, x1, x2);
                float y1 = (float)this.guidLimit.limitMin.y;
                float y2 = (float)this.guidLimit.limitMax.y;
                if (this.guidLimit.limitMin.y > this.guidLimit.limitMax.y)
                {
                    y1 = (float)this.guidLimit.limitMax.y;
                    y2 = (float)this.guidLimit.limitMin.y;
                }
                vector3_1.y = (__Null)(double)Mathf.Clamp((float)vector3_1.y, y1, y2);
                float z1 = (float)this.guidLimit.limitMin.z;
                float z2 = (float)this.guidLimit.limitMax.z;
                if (this.guidLimit.limitMin.z > this.guidLimit.limitMax.z)
                {
                    z1 = (float)this.guidLimit.limitMax.z;
                    z2 = (float)this.guidLimit.limitMin.z;
                }
                vector3_1.z = (__Null)(double)Mathf.Clamp((float)vector3_1.z, z1, z2);
                Vector3 vector3_2 = this.guidLimit.trfParent.TransformPoint(vector3_1);
                if (this.axis == CustomGuideMove.MoveAxis.XYZ || this.axis == CustomGuideMove.MoveAxis.X)
                {
                    _src.x = vector3_2.x;
                }
                if (this.axis == CustomGuideMove.MoveAxis.XYZ || this.axis == CustomGuideMove.MoveAxis.Y)
                {
                    _src.y = vector3_2.y;
                }
                if (this.axis == CustomGuideMove.MoveAxis.XYZ || this.axis == CustomGuideMove.MoveAxis.Z)
                {
                    _src.z = vector3_2.z;
                }
            }
            this.guideObject.amount.position = this.axis != CustomGuideMove.MoveAxis.XYZ ? (!_snap ? _src : this.Parse(_src)) : _src;
            this.guideObject.ctrlAxisType    = (int)this.axis;
            this.oldPos = eventData.get_position();
        }
Esempio n. 7
0
 public void OnPointerUp(PointerEventData _eventData)
 {
     CustomGuideAssist.SetCameraMoveFlag(this.guideObject.ccv2, true);
     this.guideObject.isDrag = false;
 }