public void InitMessage(SwrveMessageFormat format, SwrveInAppMessageConfig inAppConfig, SwrveOrientation deviceOrientation, bool afterRotation = false) { this.format = format; format.Init(deviceOrientation); renderBackgroundColor = format.BackgroundColor.HasValue; if (!afterRotation) { if (animator != null) { animator.InitMessage(format); } else { format.InitAnimation(new Point(0, 0), new Point(0, 0)); } } // Create widgets to render and use the cached personalization values widgetViews = new SwrveWidgetView[format.Images.Count + format.Buttons.Count]; int eindex = 0; for (int ii = 0; ii < format.Images.Count; ii++) { SwrveImage image = format.Images[ii]; SwrveWidgetView renderer; if (image.Text != null) { // Get cached resolved template string resolvedTextTemplate = templatingResolver.TextResolution[image]; renderer = new SwrveMessagePersonalizedWidgetView(image, resolvedTextTemplate, inAppConfig); } else { renderer = new SwrveImageView(image); } widgetViews[eindex++] = renderer; } for (int bi = 0; bi < format.Buttons.Count; bi++) { SwrveButton button = format.Buttons[bi]; SwrveWidgetView renderer; if (button.Text != null) { string resolvedTextTemplate = templatingResolver.TextResolution[button]; renderer = new SwrveMessagePersonalizedWidgetView(button, resolvedTextTemplate, inAppConfig); } else { renderer = new SwrveButtonView(button, inAppConfig.ButtonClickTintColor); } widgetViews[eindex++] = renderer; } }
public SwrveMessagePersonalizedWidgetView(SwrveWidget widget, string resolvedText, SwrveInAppMessageConfig inAppConfig) { this.widget = widget; content = new GUIContent(resolvedText); style = new GUIStyle(); style.alignment = TextAnchor.MiddleCenter; style.normal.textColor = inAppConfig.PersonalizedTextForegroundColor; style.font = inAppConfig.PersonalizedTextFont; backgroundColor = inAppConfig.PersonalizedTextBackgroundColor; clickTintColor = inAppConfig.ButtonClickTintColor; if (widget.Texture != null) { FitTextSizeToImage(widget.Texture.width, widget.Texture.height); } isButton = (widget is SwrveButton); if (isButton) { button = (SwrveButton)widget; } }