public override void OnEnter() { DTutorialOverlay dTutorialOverlay = new DTutorialOverlay(); bool flag = true; if (UseTarget) { if (!string.IsNullOrEmpty(TargetName)) { GameObject gameObject = GameObject.Find(TargetName); if (gameObject != null) { dTutorialOverlay.Target = gameObject; } else { Disney.LaunchPadFramework.Log.LogErrorFormatted(this, "Tutorial overlay skipped. Target {0} not found. Tutorial: {1}", TargetName, i18TranslatedArg0.Value); flag = false; } } else if (TargetObject.Value == null) { Disney.LaunchPadFramework.Log.LogErrorFormatted(this, "Tutorial overlay skipped. Target object was null. Tutorial: {0}", i18TranslatedArg0.Value); flag = false; } else { dTutorialOverlay.Target = TargetObject.Value; } } if (flag) { dTutorialOverlay.Position = HighlightPosition.Value; dTutorialOverlay.AutoSize = AutoSize; dTutorialOverlay.Size = Size; dTutorialOverlay.Shape = Shape; dTutorialOverlay.ArrowPosition = ArrowPosition; dTutorialOverlay.ArrowOffset = ArrowOffset; dTutorialOverlay.TextBoxOffset = TextBoxOffset; dTutorialOverlay.TextBoxPivot = TextBoxPivot; dTutorialOverlay.MaxTextBoxSize = MaxTextBoxSize; dTutorialOverlay.ShowHighlightOutline = ShowHighlightOutline; dTutorialOverlay.Text = Service.Get <Localizer>().GetTokenTranslation(i18nBubbleText); if (!string.IsNullOrEmpty(i18TranslatedArg0.Value)) { dTutorialOverlay.Text = string.Format(dTutorialOverlay.Text, i18TranslatedArg0.Value); } dTutorialOverlay.ShowArrow = ShowArrow; dTutorialOverlay.Opacity = Opacity; dTutorialOverlay.DisableUI = DisableUI; dTutorialOverlay.EnableTarget = EnableTarget; dTutorialOverlay.BlocksRaycast = BlocksRaycast; Service.Get <EventDispatcher>().DispatchEvent(new TutorialUIEvents.ShowHighlightOverlay(dTutorialOverlay)); } Finish(); }
public ShowHighlightOverlay(DTutorialOverlay tutorialOverlayData) { TutorialOverlayData = tutorialOverlayData; }
public void SetHighlight(DTutorialOverlay overlayData) { data = overlayData; Vector3 worldPoint = Vector3.zero; highlightSize = Vector2.zero; if (data.Target != null) { RectTransform component = data.Target.GetComponent <RectTransform>(); if (component != null) { Canvas componentInParent = data.Target.GetComponentInParent <Canvas>(); worldPoint = component.position; if (componentInParent.renderMode == RenderMode.ScreenSpaceCamera) { worldPoint = RectTransformUtility.WorldToScreenPoint(componentInParent.worldCamera, worldPoint); } if (data.AutoSize) { highlightSize = component.rect.size; } } else { worldPoint = Camera.main.WorldToScreenPoint(data.Target.transform.position); } } CanvasScalerExt component2 = GetComponentInParent <Canvas>().GetComponent <CanvasScalerExt>(); Vector2 a = new Vector2(component2.ReferenceResolutionY / (float)Screen.height, component2.ReferenceResolutionY / (float)Screen.height); a *= 1f / component2.ScaleModifier; int num = 0; DataEntityHandle entityByType = Service.Get <CPDataEntityCollection>().GetEntityByType <SystemBarsData>(); if (!entityByType.IsNull) { SystemBarsData component3 = Service.Get <CPDataEntityCollection>().GetComponent <SystemBarsData>(entityByType); num = component3.CurrentNavigationBarHeight; } if (data.Target != null) { highlightPosition = new Vector2((data.Position.x + worldPoint.x) * a.x, (data.Position.y - (float)num + worldPoint.y) * a.y); } else { highlightPosition = new Vector2((float)Screen.width * data.Position.x * a.x, (float)Screen.height * (data.Position.y - (float)num) * a.y); } highlightSize += data.Size; Color color = new Color(1f, 1f, 1f, Mathf.Clamp(data.Opacity, 0f, 1f)); BackgroundShape.GetComponent <Image>().sprite = getShapeSprite(data.Shape); BackgroundShape.GetComponent <Image>().color = color; LeftBG.GetComponent <Image>().color = color; RightBG.GetComponent <Image>().color = color; TopBG.GetComponent <Image>().color = color; BottomBG.GetComponent <Image>().color = color; updateBackground(); updatePopup(); isShowing = true; base.gameObject.SetActive(value: true); if (data.DisableUI) { Service.Get <EventDispatcher>().DispatchEvent(default(UIDisablerEvents.DisableAllUIElements)); Service.Get <EventDispatcher>().DispatchEvent(new UIDisablerEvents.DisableUIElement("Joystick")); if (data.Target != null && data.EnableTarget) { UIElementDisabler component4 = data.Target.GetComponent <UIElementDisabler>(); if (component4 != null) { Service.Get <EventDispatcher>().DispatchEvent(new UIDisablerEvents.EnableUIElement(component4.UIElementID)); } } } UpdateHighlightOutline(data.ShowHighlightOutline); enableUIElementsOnClose = data.DisableUI; GetComponent <CanvasGroup>().blocksRaycasts = data.BlocksRaycast; Service.Get <BackButtonController>().Add(onBackClicked); }