Пример #1
0
        private void Hide()
        {
            foreach (var propertyView in _propertiesViews)
            {
                Destroy(propertyView.gameObject);
            }
            _propertiesViews.Clear();

            _tooltipVm.Properties.CollectionChanged -= PropertiesOnCollectionChanged;
            _tooltipVm = null;

            gameObject.SetActive(false);
        }
Пример #2
0
        private void Show(ITooltipViewModel tooltipVm)
        {
            _textTitle.text       = tooltipVm.Name;
            _textDescription.text = tooltipVm.Description;

            _tooltipVm = tooltipVm;
            _tooltipVm.Properties.CollectionChanged += PropertiesOnCollectionChanged;

            foreach (var propertyVm in tooltipVm.Properties.Values)
            {
                _propertiesViews.Add(ViewManager.Instantiate <TooltipPropertyView, ITooltipPropertyViewModel>(
                                         propertyVm, _propertyPrefab, _propertiesTransform));
            }

            gameObject.SetActive(true);
            Canvas.ForceUpdateCanvases(); // force to recompute the ContentSizeFitter immediatly for correct height.
            var position = Camera.main.WorldToScreenPoint(tooltipVm.Target.position);

            transform.position = new Vector3(position.x + RectTransform.rect.width / 2 + tooltipVm.PixelRadius,
                                             position.y + RectTransform.rect.height / 2 + tooltipVm.PixelRadius,
                                             position.z);
        }