Esempio n. 1
0
        public void Start()
        {
            // Instantiate hint 3D view:
            if (HintModel.Type == HintType.Text)
            {
                var hint3DView = Instantiate(TextHint3DViewPrefab, Application.View.SceneRoot.transform);
                hint3DView.Text = HintModel.Name;
                _hint3DView     = hint3DView;
            }
            else if (HintModel.Type == HintType.Image)
            {
                var hint3DView     = Instantiate(ImageHint3DViewPrefab, Application.View.SceneRoot.transform);
                var imageHintModel = (ImageHintModel)HintModel;
                hint3DView.Image = Application.View.ImageHintTextures.GetTexture(imageHintModel.ImageHintType);
                _hint3DView      = hint3DView;
            }
            else if (HintModel.Type == HintType.Geometry)
            {
                var hint3DView        = Instantiate(GeometryHint3DViewPrefab, Application.View.SceneRoot.transform);
                var geometryHintModel = (GeometryHintModel)HintModel;
                hint3DView.Geometry = Application.View.GeometryModels.GetGeometry(geometryHintModel.ModelID);
                _hint3DView         = hint3DView;
            }
            else
            {
                throw new NotSupportedException();
            }

            _hint3DView.LocalPosition = HintModel.LocalPosition;
            _hint3DView.LocalRotation = HintModel.LocalRotation;
            _hint3DView.LocalScale    = HintModel.LocalScale;
            _hint3DView.Showing       = true;
        }
        public void Start()
        {
            // Instantiate hint panel item view:
            _hintPanelItemView = Instantiate(HintPanelItemViewPrefab, HintPanelItemViewsContainer);

            // Set properties:
            _hintPanelItemView.Name = HintModel.Name;

            if (HintModel.Type == HintType.Text)
            {
                _hintPanelItemView.Icon = Application.View.Icons.TextIcon;
            }
            else if (HintModel.Type == HintType.Image)
            {
                var imageHintModel = (ImageHintModel)HintModel;
                _hintPanelItemView.Icon           = Application.View.ImageHintTextures.GetTexture(imageHintModel.ImageHintType);
                _hintPanelItemView.OnIconClicked += _hintPanelItemView_OnIconClicked;
            }
            else if (HintModel.Type == HintType.Geometry)
            {
                _hintPanelItemView.Icon = Application.View.Icons.GeometryIcon;
            }
            else
            {
                throw new NotSupportedException();
            }

            // Subscribe to events:
            _hintPanelItemView.OnNameChanged      += _hintPanelItemView_OnNameChanged;
            _hintPanelItemView.OnEditClicked      += _hintPanelItemView_OnEditClicked;
            _hintPanelItemView.OnDuplicateClicked += _hintPanelItemView_OnDuplicateClicked;
            _hintPanelItemView.OnDeleteClicked    += _hintPanelItemView_OnDeleteClicked;

            // Instantiate hint 3D view:
            if (HintModel.Type == HintType.Text)
            {
                var hint3DView = Instantiate(TextHint3DViewPrefab, Application.View.SceneRoot.transform);
                hint3DView.Text = HintModel.Name;
                _hint3DView     = hint3DView;
            }
            else if (HintModel.Type == HintType.Image)
            {
                var hint3DView     = Instantiate(ImageHint3DViewPrefab, Application.View.SceneRoot.transform);
                var imageHintModel = (ImageHintModel)HintModel;
                hint3DView.Image = Application.View.ImageHintTextures.GetTexture(imageHintModel.ImageHintType);
                _hint3DView      = hint3DView;
            }
            else if (HintModel.Type == HintType.Geometry)
            {
                var hint3DView        = Instantiate(GeometryHint3DViewPrefab, Application.View.SceneRoot.transform);
                var geometryHintModel = (GeometryHintModel)HintModel;
                hint3DView.Geometry = Application.View.GeometryModels.GetGeometry(geometryHintModel.ModelID);
                _hint3DView         = hint3DView;
            }
            else
            {
                throw new NotSupportedException();
            }

            _hint3DView.LocalPosition = HintModel.LocalPosition;
            _hint3DView.LocalRotation = HintModel.LocalRotation;
            _hint3DView.LocalScale    = HintModel.LocalScale;
            _hint3DView.Showing       = Showing;

            if (_edit)
            {
                _hintPanelItemView.OnEditClick();
            }
        }