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); } }