예제 #1
0
    public void HandleWorldObjectSelected(object sender, WorldObjectSelectedEventArgs args)
    {
        if (args.clickType == MouseClickType.DOUBLE)
        {
            var model          = args.objectModel;
            var objectCenter   = model.Position + model.LocalCenterPoint;
            var cameraOffset   = (transform.position - objectCenter).normalized * 3f;
            var cameraPosition = objectCenter + cameraOffset;

            Sequence seq = DOTween.Sequence();
            seq.Append(transform.DOMove(cameraPosition, .3f).SetEase(Ease.OutQuad));
            seq.Insert(0f, transform.DOLookAt(objectCenter, .3f).SetEase(Ease.OutQuad));
            seq.OnComplete(() => _orbitControl.OrbitPoint = objectCenter);
        }
    }
예제 #2
0
    public void HandleWorldObjectSelected(object sender, WorldObjectSelectedEventArgs args)
    {
        if (args.objectModel == null || args.objectModel.Type == WorldObjectType.LIGHT)
        {
            return;
        }

        if (_shapeModel != null)
        {
            _shapeModel.OnModelUpdate -= UpdateUI;
        }

        _shapeModel = args.objectModel as IShapeModel;

        UpdateUI();

        _shapeModel.OnModelUpdate += UpdateUI;
    }
예제 #3
0
    public void HandleWorldObjectSelected(object sender, WorldObjectSelectedEventArgs args)
    {
        if (args.objectModel == null)
        {
            return;
        }

        UIState state;

        if (args.objectModel.Type == WorldObjectType.LIGHT)
        {
            state = UIState.LIGHT_DATA;
        }
        else
        {
            state = UIState.SHAPE_DATA;
        }
        UpdateUIState(state);
    }
예제 #4
0
    public void HandleWorldObjectSelected(object sender, WorldObjectSelectedEventArgs args)
    {
        // Deregister from previous model's update action
        if (_model != null)
        {
            _model.OnModelUpdate -= UpdateView;
        }

        _model = args.objectModel;
        positionGizmo.Model = _model;
        rotationGizmo.Model = _model;

        // Register for this new model's update action.
        if (_model != null)
        {
            _model.OnModelUpdate += UpdateView;
            UpdateView();
        }

        // If the model is null, means no object is selected.  turn off.
        this.gameObject.SetActive(_model != null);
    }