Esempio n. 1
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            var label = VisualizerFactory.InstantiateLabelVisualizerPrefab();

            label.Initialize(this, payload);


            var meshRenderer = label.TextComponent.GetComponent <MeshRenderer>();

            var targetFont = FontFactory.GetFontPair(FontName.GetFirstValue(payload.Data));

            var newMaterial = FontFactory.GenerateNewSpatialMaterial(targetFont.FontTexture);

            label.TextComponent.font = targetFont.Font;

            label.TextComponent.fontSize  = Mathf.FloorToInt(FontSize.GetFirstValue(payload.Data) * targetFont.FontScale);
            label.transform.localPosition = new Vector3(0f, label.TextComponent.fontSize * targetFont.VerticalOffset, 0f);

            label.CharactersPerLine = CharactersPerLine.GetFirstValue(payload.Data);

            label.MaxLines = MaxLines.GetFirstValue(payload.Data);

            newMaterial.color = FontColor.GetFirstValue(payload.Data);

            meshRenderer.material = newMaterial;


            label.BackgroundPadding = BackgroundPadding.GetFirstValue(payload.Data);
            label.BackgroundDepth   = BackgroundDepth.GetFirstValue(payload.Data);

            label.LateralJustification = Justification.GetFirstValue(payload.Data);

            label.VerticalJustification = VerticalJustification.GetFirstValue(payload.Data);

            label.MinHeight = MinHeight.GetFirstValue(payload.Data);
            label.MaxHeight = MaxHeight.GetFirstValue(payload.Data);

            label.Orientation = Orientation.GetFirstValue(payload.Data);

            label.SetClickState(ClickState);

            label.RemoveBackground = !ShowBackground.GetFirstValue(payload.Data);

            label.Text = LabelText.GetFirstValue(payload.Data);

            var newPayload = new VisualPayload(payload.Data, new VisualDescription(label.Bound));

            var iterator = DefaultState.Transmit(newPayload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            var groupId = GroupId.GetFirstValue(payload.Data);

            DataSharedTooltipVisualizer newVisualizer;

            if (!DataShare.ContainsKey(groupId))
            {
                newVisualizer = VisualizerFactory.InstantiateDataSharedTooltipVisualizer();

                newVisualizer.Initialize(this, payload);

                DataShare[groupId] = newVisualizer;
            }
            else
            {
                newVisualizer = DataShare[groupId];
            }


            newVisualizer.TextColor       = FontColor.GetFirstValue(payload.Data);
            newVisualizer.FontSize        = FontSize.GetFirstValue(payload.Data);
            newVisualizer.BackgroundColor = BackgroundColor.GetFirstValue(payload.Data);
            newVisualizer.CheckRedeclareStyle();


            newVisualizer.DisplayText =
                ShowTooltip.GetFirstValue(payload.Data)?
                Tooltip.GetFirstValue(payload.Data):"";

            newVisualizer.DrawPosition = ScreenPosition.GetFirstValue(payload.Data);

            var iterator = Router.TransmitAll(payload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }