Ejemplo n.º 1
0
    // Update is called once per frame
    void LateUpdate()
    {
        switch (m_state)
        {
        case Feature.Move:
            ProgressiveMovement.Move(ref m_cameraData, trackPos);
            break;

        case Feature.Track:
        {
            if (m_player != null)
            {
                PositionTracking.Tracking(ref m_cameraData, m_player.transform.position);
            }
            break;
        }

        case Feature.ZoomAmount:
            Zooming.ZoomInOutAmount(ref m_cameraData);
            break;

        case Feature.ZoomTime:
            Zooming.ZoomInOutTime(ref m_cameraData);
            break;

        case Feature.ZoomPosition:
            Zooming.ZoomInOutPosition(ref m_cameraData, trackPos);
            break;

        default:
            break;
        }
        transform.position = m_cameraData.GetPosition();
    }
Ejemplo n.º 2
0
    private void Start()
    {
        _camera                  = GetComponent <Camera>();
        myposition               = transform;
        _camera.orthographic     = true;
        _camera.orthographicSize = cameraSize;

        // Checking for modules

        if (GetComponent <DeadZone>() != null)

        {
            deadZoneAvailable = true;
            deadZone          = GetComponent <DeadZone>();
        }

        if (GetComponent <CameraLimiters>() != null)

        {
            boundToLimitsAvailable = true;
            limiter = GetComponent <CameraLimiters>();
        }

        if (GetComponent <Zooming>() != null)

        {
            zoomer = GetComponent <Zooming>();
        }
    }
Ejemplo n.º 3
0
 // Use this for initialization
 void Start()
 {
     _zoom             = Zooming.NotZoomed;
     _camera           = GetComponent <Camera>();
     _defaultTransform = new CameraPosition(transform);
     _defaultFov       = _camera.fieldOfView;
     _hit = new RaycastHit();
 }
Ejemplo n.º 4
0
 // Use this for initialization
 void Start()
 {
     _zoom = Zooming.NotZoomed;
     _camera = GetComponent<Camera>();
     _defaultTransform = new CameraPosition(transform);
     _defaultFov = _camera.fieldOfView;
     _hit = new RaycastHit();
 }
Ejemplo n.º 5
0
 // Start is called before the first frame update
 void Start()
 {
     if (current == null)
     {
         current = this;
     }
     else
     {
         Destroy(this);
         return;
     }
     main = Camera.main;
 }
Ejemplo n.º 6
0
        protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
        {
            base.OnPropertyChanged(e);

            switch (e.Property.Name)
            {
            case "Scale":
                Zooming?.Invoke(this, new ZoomEventArgs()
                {
                    OldScale = (double)e.OldValue,
                    NewScale = (double)e.NewValue
                });
                break;

            case "OffsetX":
            case "OffsetY":
                Panning?.Invoke(this, EventArgs.Empty);
                break;
            }
        }
Ejemplo n.º 7
0
        private void DiaoController_RotationChanged(RadialController sender, RadialControllerRotationChangedEventArgs args)
        {
            var selectedTool = _diaoController.Menu.GetSelectedMenuItem();

            if (selectedTool == DiaoToolOpacity)
            {
                OpacityChanging?.Invoke(sender, args);
            }
            if (selectedTool == DiaoToolUndoRedo)
            {
                UndoRedo?.Invoke(sender, args);
            }
            if (selectedTool == DiaoToolZoom)
            {
                Zooming?.Invoke(sender, args);
            }
            if (selectedTool == DiaoToolAlignmentGrid)
            {
                AlignmentGridChanging?.Invoke(sender, args);
            }
        }
Ejemplo n.º 8
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            _draging = true;
        }
        if (Input.GetMouseButtonUp(0))
        {
            _draging = false;
        }
        Ray ray = _camera.ScreenPointToRay(Input.mousePosition);

        if (_draging)
        {
            _isHit = _draging = Physics.Raycast(ray, out _hit, 100) && _hit.transform.tag == "Zoomable";
        }


        switch (_zoom)
        {
        case Zooming.NotZoomed:
            if (Input.GetMouseButtonDown(0))
            {
                if (_isHit)
                {
                    var temp = new GameObject();

                    temp.transform.position = _hit.transform.up * 2.2f + _hit.transform.position;

                    temp.transform.LookAt(_hit.transform);
                    _zoomTransform = new CameraPosition(temp.transform);

                    _zoom = Zooming.ZoomingIn;
                    _lerp = 0;
                }
            }
            break;

        case Zooming.ZoomingIn:

            _lerp += Time.deltaTime / Duration;

            transform.position = Vector3.Lerp(_defaultTransform.Position, _zoomTransform.Position, _lerp);
            transform.forward  = Vector3.Lerp(_defaultTransform.Forward, _zoomTransform.Forward, _lerp);

            if (_lerp >= 1)
            {
                _zoom = Zooming.Zoomed;
            }

            break;

        case Zooming.ZoomingOut:

            _lerp += Time.deltaTime / Duration;

            transform.position  = Vector3.Slerp(_zoomTransform.Position, _defaultTransform.Position, _lerp);
            transform.forward   = Vector3.Slerp(_zoomTransform.Forward, _defaultTransform.Forward, _lerp);
            _camera.fieldOfView = Mathf.Lerp(_zoomFov, _defaultFov, _lerp);

            if (_lerp >= 1)
            {
                _zoom = Zooming.NotZoomed;
            }

            break;

        case Zooming.Zoomed:
            if (_draging)
            {
                if (_isHit)
                {
                    if (Input.GetMouseButtonDown(0))
                    {
                        _prevPoint = _hit.point;
                    }
                    var delta = _prevPoint - _hit.point;
                    _camera.transform.position += new Vector3(delta.x, 0, delta.z);
                }
                break;
            }

            if (Input.GetAxis("Mouse ScrollWheel") < 0)
            {
                _camera.fieldOfView = Mathf.Min(_camera.fieldOfView + 2, 80);
            }

            if (Input.GetAxis("Mouse ScrollWheel") > 0)
            {
                _camera.fieldOfView = Mathf.Max(_camera.fieldOfView - 2, 5);
            }

            if (Input.GetMouseButtonDown(1))
            {
                _zoomTransform = new CameraPosition(transform);
                _zoomFov       = _camera.fieldOfView;
                _zoom          = Zooming.ZoomingOut;
                _lerp          = 0;
            }

            break;

        default:
            throw new ArgumentOutOfRangeException();
        }

        ray = _camera.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, out _hit, 100))
        {
            _prevPoint = _hit.point;
        }
    }
Ejemplo n.º 9
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0)) _draging = true;
        if (Input.GetMouseButtonUp(0)) _draging = false;
        Ray ray = _camera.ScreenPointToRay(Input.mousePosition);
        if (_draging)
            _isHit = _draging = Physics.Raycast(ray, out _hit, 100) && _hit.transform.tag == "Zoomable";


        switch (_zoom)
        {
            case Zooming.NotZoomed:
                if (Input.GetMouseButtonDown(0))
                {
                    if (_isHit)
                    {
                        var temp = new GameObject();

                        temp.transform.position = _hit.transform.up * 2.2f + _hit.transform.position;
                        
                        temp.transform.LookAt(_hit.transform);
                        _zoomTransform = new CameraPosition(temp.transform);

                        _zoom = Zooming.ZoomingIn;
                        _lerp = 0;
                    }
                }
                break;
            case Zooming.ZoomingIn:

                _lerp += Time.deltaTime / Duration;

                transform.position = Vector3.Lerp(_defaultTransform.Position, _zoomTransform.Position, _lerp);
                transform.forward = Vector3.Lerp(_defaultTransform.Forward, _zoomTransform.Forward, _lerp);

                if (_lerp >= 1)
                    _zoom = Zooming.Zoomed;

                break;
            case Zooming.ZoomingOut:

                _lerp += Time.deltaTime / Duration;

                transform.position = Vector3.Slerp(_zoomTransform.Position, _defaultTransform.Position, _lerp);
                transform.forward = Vector3.Slerp(_zoomTransform.Forward, _defaultTransform.Forward, _lerp);
                _camera.fieldOfView = Mathf.Lerp(_zoomFov, _defaultFov, _lerp);

                if (_lerp >= 1)
                    _zoom = Zooming.NotZoomed;

                break;
            case Zooming.Zoomed:
                if (_draging)
                {
                    if (_isHit)
                    {
                        if (Input.GetMouseButtonDown(0))
                        {
                            _prevPoint = _hit.point;
                        }
                        var delta = _prevPoint - _hit.point;
                        _camera.transform.position += new Vector3(delta.x, 0, delta.z);
                    }
                    break;
                }

                if (Input.GetAxis("Mouse ScrollWheel") < 0)
                    _camera.fieldOfView = Mathf.Min(_camera.fieldOfView + 2, 80);

                if (Input.GetAxis("Mouse ScrollWheel") > 0)
                    _camera.fieldOfView = Mathf.Max(_camera.fieldOfView - 2, 5);

                if (Input.GetMouseButtonDown(1))
                {
                    _zoomTransform = new CameraPosition(transform);
                    _zoomFov = _camera.fieldOfView;
                    _zoom = Zooming.ZoomingOut;
                    _lerp = 0;
                }

                break;
            default:
                throw new ArgumentOutOfRangeException();
        }

        ray = _camera.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, out _hit, 100))
        {
            _prevPoint = _hit.point;
        }
    }