/// <summary> /// Script starting callback. /// </summary> void Awake() { DebugEx.Verbose("DockingGroupScript.Awake()"); Translator.AddLanguageChangedListener(UpdateTabs); CreateUI(); }
/// <summary> /// Creates the content. /// </summary> /// <param name="contentTransform">Content transform.</param> /// <param name="width">Width of content.</param> /// <param name="height">Height of content.</param> protected override void CreateContent(Transform contentTransform, out float width, out float height) { DebugEx.VerboseFormat("AboutDialogScript.CreateContent(contentTransform = {0})", contentTransform); width = WINDOW_WIDTH; height = WINDOW_HEIGHT; //*************************************************************************** // UnityLogo GameObject //*************************************************************************** #region UnityLogo GameObject GameObject unityLogo = new GameObject("UnityLogo"); Utils.InitUIObject(unityLogo, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mUnityLogoTransform = unityLogo.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mUnityLogoTransform, 123f, 46f, 6f, 14f); #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component unityLogo.AddComponent <CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image unityLogoImage = unityLogo.AddComponent <Image>(); unityLogoImage.sprite = Assets.Windows.AboutDialog.Textures.unity.sprite; unityLogoImage.type = Image.Type.Sliced; #endregion //=========================================================================== // Button Component //=========================================================================== #region Button Component Button unityLogoButton = unityLogo.AddComponent <Button>(); unityLogoButton.targetGraphic = unityLogoImage; unityLogoButton.transition = Selectable.Transition.None; unityLogoButton.onClick.AddListener(OnUnityLogoClick); #endregion #endregion //*************************************************************************** // Version GameObject //*************************************************************************** #region Version GameObject GameObject version = new GameObject("Version"); Utils.InitUIObject(version, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mVersionTransform = version.AddComponent <RectTransform>(); Utils.AlignRectTransformTopStretch(mVersionTransform, 12f, 64f, 59f, 4f); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mVersionText = version.AddComponent <Text>(); Assets.Windows.AboutDialog.TextStyles.version.Apply(mVersionText); #endregion #endregion //*************************************************************************** // Credits GameObject //*************************************************************************** #region Credits GameObject GameObject credits = new GameObject("Credits"); Utils.InitUIObject(credits, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mCreditsTransform = credits.AddComponent <RectTransform>(); Utils.AlignRectTransformTopStretch(mCreditsTransform, 120f, 87f, 7f, 7f); #endregion //*************************************************************************** // Contents GameObject //*************************************************************************** #region Contents GameObject GameObject contents = new GameObject("Contents"); Utils.InitUIObject(contents, credits.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mContentsTransform = contents.AddComponent <RectTransform>(); Utils.AlignRectTransformTopStretch(mContentsTransform, 1600f, 0f, 0f, 0f, 0.5f, 1f); #endregion //*************************************************************************** // CreditsText GameObject //*************************************************************************** #region CreditsText GameObject GameObject creditsTextObject = new GameObject("CreditsText"); Utils.InitUIObject(creditsTextObject, contents.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mCreditsTextTransform = creditsTextObject.AddComponent <RectTransform>(); Utils.AlignRectTransformStretchStretch(mCreditsTextTransform, 0f, 120f, 0f, 120f); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mCreditsText = creditsTextObject.AddComponent <Text>(); Assets.Windows.AboutDialog.TextStyles.credits.Apply(mCreditsText); mCreditsText.text = CREDITS + "\n" + SPECIAL_THANKS; #endregion #endregion #endregion //=========================================================================== // ScrollRect Component //=========================================================================== #region ScrollRect Component mCreditsScrollRect = credits.AddComponent <ScrollRect>(); mCreditsScrollRect.content = mContentsTransform; mCreditsScrollRect.horizontal = false; #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component credits.AddComponent <CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image creditsImage = credits.AddComponent <Image>(); creditsImage.color = backgroundColor; #endregion //=========================================================================== // Mask Component //=========================================================================== #region Mask Component credits.AddComponent <Mask>(); #endregion //=========================================================================== // EventTrigger Component //=========================================================================== #region EventTrigger Component EventTrigger creditsEventTrigger = credits.AddComponent <EventTrigger>(); creditsEventTrigger.triggers = new List <EventTrigger.Entry>(); EventTrigger.Entry beginDragEvent = new EventTrigger.Entry(); beginDragEvent.eventID = EventTriggerType.BeginDrag; beginDragEvent.callback.AddListener(OnCreditsBeginDrag); creditsEventTrigger.triggers.Add(beginDragEvent); EventTrigger.Entry endDragEvent = new EventTrigger.Entry(); endDragEvent.eventID = EventTriggerType.EndDrag; endDragEvent.callback.AddListener(OnCreditsEndDrag); creditsEventTrigger.triggers.Add(endDragEvent); #endregion #endregion //*************************************************************************** // MonoLogo GameObject //*************************************************************************** #region MonoLogo GameObject GameObject monoLogo = new GameObject("MonoLogo"); Utils.InitUIObject(monoLogo, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mMonoLogoTransform = monoLogo.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mMonoLogoTransform, 57f, 69f, 9f, 215f); #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component monoLogo.AddComponent <CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image monoLogoImage = monoLogo.AddComponent <Image>(); monoLogoImage.sprite = Assets.Windows.AboutDialog.Textures.mono.sprite; monoLogoImage.type = Image.Type.Sliced; #endregion #endregion //*************************************************************************** // MonoLogoText GameObject //*************************************************************************** #region MonoLogoText GameObject GameObject monoLogoTextObject = new GameObject("MonoLogoText"); Utils.InitUIObject(monoLogoTextObject, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mMonoLogoTextTransform = monoLogoTextObject.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mMonoLogoTextTransform, 200f, 30f, 73f, 217f); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mMonoLogoText = monoLogoTextObject.AddComponent <Text>(); Assets.Windows.AboutDialog.TextStyles.monoLogo.Apply(mMonoLogoText); if (state == WindowState.FullScreen) { mMonoLogoText.text = SCRIPTING_POWERED_BY; } #endregion #endregion //*************************************************************************** // MonoLogoText2 GameObject //*************************************************************************** #region MonoLogoText2 GameObject GameObject monoLogoTextObject2 = new GameObject("MonoLogoText2"); Utils.InitUIObject(monoLogoTextObject2, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mMonoLogoTextTransform2 = monoLogoTextObject2.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mMonoLogoTextTransform2, 200f, 30f, 73f, 249f); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mMonoLogoText2 = monoLogoTextObject2.AddComponent <Text>(); Assets.Windows.AboutDialog.TextStyles.monoLogo2.Apply(mMonoLogoText2); #endregion #endregion //*************************************************************************** // PhysXLogo GameObject //*************************************************************************** #region PhysXLogo GameObject GameObject physXLogo = new GameObject("PhysXLogo"); Utils.InitUIObject(physXLogo, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mPhysXLogoTransform = physXLogo.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mPhysXLogoTransform, 120f, 42f, 276f, 215f); #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component physXLogo.AddComponent <CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image physXLogoImage = physXLogo.AddComponent <Image>(); physXLogoImage.sprite = Assets.Windows.AboutDialog.Textures.physX.sprite; physXLogoImage.type = Image.Type.Sliced; #endregion #endregion //*************************************************************************** // PhysXLogoText GameObject //*************************************************************************** #region PhysXLogoText GameObject GameObject physXLogoTextObject = new GameObject("PhysXLogoText"); Utils.InitUIObject(physXLogoTextObject, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mPhysXLogoTextTransform = physXLogoTextObject.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mPhysXLogoTextTransform, 165f, 30f, 405f, 217f); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mPhysXLogoText = physXLogoTextObject.AddComponent <Text>(); Assets.Windows.AboutDialog.TextStyles.physXLogo.Apply(mPhysXLogoText); if (state == WindowState.FullScreen) { mPhysXLogoText.text = PHYSICS_POWERED_BY; } #endregion #endregion //*************************************************************************** // PhysXLogoText2 GameObject //*************************************************************************** #region PhysXLogoText2 GameObject GameObject physXLogoTextObject2 = new GameObject("PhysXLogoText2"); Utils.InitUIObject(physXLogoTextObject2, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mPhysXLogoTextTransform2 = physXLogoTextObject2.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mPhysXLogoTextTransform2, 165f, 30f, 405f, 249f); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mPhysXLogoText2 = physXLogoTextObject2.AddComponent <Text>(); Assets.Windows.AboutDialog.TextStyles.physXLogo2.Apply(mPhysXLogoText2); #endregion #endregion //*************************************************************************** // Copyright GameObject //*************************************************************************** #region Copyright GameObject GameObject copyright = new GameObject("Copyright"); Utils.InitUIObject(copyright, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mCopyrightTransform = copyright.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mCopyrightTransform, 280f, 30f, 8f, 302f); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mCopyrightText = copyright.AddComponent <Text>(); Assets.Windows.AboutDialog.TextStyles.copyright.Apply(mCopyrightText); #endregion #endregion //*************************************************************************** // License GameObject //*************************************************************************** #region License GameObject GameObject license = new GameObject("License"); Utils.InitUIObject(license, contentTransform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mLicenseTransform = license.AddComponent <RectTransform>(); Utils.AlignRectTransformTopLeft(mLicenseTransform, 270f, 40f, 295f, 292f); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mLicenseText = license.AddComponent <Text>(); Assets.Windows.AboutDialog.TextStyles.license.Apply(mLicenseText); #endregion #endregion EscapeButtonListenerScript.PushHandlerToTop(this); Translator.AddLanguageChangedListener(OnLanguageChanged); OnLanguageChanged(); if (state != WindowState.FullScreen) { Load(WINDOW_KEY); } }
/// <summary> /// Creates user interface. /// </summary> private void CreateUI() { DebugEx.Verbose("MainMenuUI.CreateUI()"); //*************************************************************************** // ScrollArea GameObject //*************************************************************************** #region ScrollArea GameObject GameObject scrollArea = new GameObject("ScrollArea"); Utils.InitUIObject(scrollArea, mScript.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component RectTransform scrollAreaTransform = scrollArea.AddComponent <RectTransform>(); Utils.AlignRectTransformStretchStretch(scrollAreaTransform); #endregion //*************************************************************************** // Content GameObject //*************************************************************************** #region Content GameObject mScrollAreaContent = new GameObject("Content"); Utils.InitUIObject(mScrollAreaContent, scrollArea.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component mScrollAreaContentTransform = mScrollAreaContent.AddComponent <RectTransform>(); #endregion float contentWidth = 0f; //=========================================================================== // Fill content //=========================================================================== #region Fill content // Create menu item buttons foreach (TreeNode <CustomMenuItem> menuItem in mItems.children) { if (menuItem.data.visible) { if (menuItem.data is MenuItem) { MenuItem item = menuItem.data as MenuItem; //*************************************************************************** // Button GameObject //*************************************************************************** #region Button GameObject GameObject menuItemButton = new GameObject(item.name); Utils.InitUIObject(menuItemButton, mScrollAreaContent.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component RectTransform menuItemButtonTransform = menuItemButton.AddComponent <RectTransform>(); #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component menuItemButton.AddComponent <CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image menuItemButtonImage = menuItemButton.AddComponent <Image>(); menuItemButtonImage.sprite = Assets.Windows.MainWindow.MainMenu.Textures.button.sprite; menuItemButtonImage.type = Image.Type.Sliced; #endregion //=========================================================================== // Button Component //=========================================================================== #region Button Component Button menuItemButtonButton = menuItemButton.AddComponent <Button>(); menuItemButtonButton.targetGraphic = menuItemButtonImage; menuItemButtonButton.transition = Selectable.Transition.SpriteSwap; menuItemButtonButton.spriteState = Assets.Windows.MainWindow.MainMenu.SpriteStates.button.spriteState; if (item.enabled) { menuItemButtonButton.onClick.AddListener(item.onClick); } #endregion //=========================================================================== // AutoPopupItemScript Component //=========================================================================== #region AutoPopupItemScript Component AutoPopupItemScript menuItemButtonAutoPopup = menuItemButton.AddComponent <AutoPopupItemScript>(); menuItemButtonAutoPopup.delay = AUTO_POPUP_DELAY; #endregion #endregion //*************************************************************************** // Text GameObject //*************************************************************************** #region Text GameObject GameObject menuItemText = new GameObject("Text"); Utils.InitUIObject(menuItemText, menuItemButton.transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component RectTransform menuItemTextTransform = menuItemText.AddComponent <RectTransform>(); Utils.AlignRectTransformStretchStretch(menuItemTextTransform); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component Text menuItemTextText = menuItemText.AddComponent <Text>(); Assets.Windows.MainWindow.MainMenu.TextStyles.button.Apply(menuItemTextText); menuItemTextText.text = item.text; #endregion #endregion ++contentWidth; float buttonWidth = menuItemTextText.preferredWidth + 12; Utils.AlignRectTransformStretchLeft(menuItemButtonTransform, buttonWidth, contentWidth, 1, 1); contentWidth += buttonWidth + 1; } else { DebugEx.Error("Unknown menu item type"); } } } #endregion Utils.AlignRectTransformStretchLeft(mScrollAreaContentTransform, contentWidth, 0f, 0f, 0f, 0f, 0.5f); #endregion //=========================================================================== // ScrollRect Component //=========================================================================== #region ScrollRect Component ScrollRect scrollAreaScrollRect = scrollArea.AddComponent <ScrollRect>(); scrollAreaScrollRect.content = mScrollAreaContentTransform; scrollAreaScrollRect.vertical = false; #endregion //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component scrollArea.AddComponent <CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image scrollAreaImage = scrollArea.AddComponent <Image>(); scrollAreaImage.sprite = Assets.Windows.MainWindow.MainMenu.Textures.background.sprite; scrollAreaImage.type = Image.Type.Sliced; #endregion //=========================================================================== // Mask Component //=========================================================================== #region Mask Component scrollArea.AddComponent <Mask>(); #endregion #endregion Translator.AddLanguageChangedListener(OnLanguageChanged); }
/// <summary> /// Show this toast. /// </summary> public void Show() { DebugEx.Verbose("ToastScript.Show()"); //=========================================================================== // CanvasRenderer Component //=========================================================================== #region CanvasRenderer Component gameObject.AddComponent <CanvasRenderer>(); #endregion //=========================================================================== // Image Component //=========================================================================== #region Image Component Image toastImage = gameObject.AddComponent <Image>(); toastImage.sprite = Assets.Common.Toasts.Textures.toastBackground.sprite; toastImage.type = Image.Type.Sliced; #endregion //=========================================================================== // Image CanvasGroup //=========================================================================== #region CanvasGroup Component mToastCanvasGroup = gameObject.AddComponent <CanvasGroup>(); mToastCanvasGroup.blocksRaycasts = false; #endregion //*************************************************************************** // ToastText GameObject //*************************************************************************** #region ToastText GameObject GameObject toastTextObject = new GameObject("Text"); Utils.InitUIObject(toastTextObject, transform); //=========================================================================== // RectTransform Component //=========================================================================== #region RectTransform Component RectTransform toastTextTransform = toastTextObject.AddComponent <RectTransform>(); Utils.AlignRectTransformStretchStretch( toastTextTransform , toastImage.sprite.border.x , toastImage.sprite.border.w , toastImage.sprite.border.z , toastImage.sprite.border.y ); #endregion //=========================================================================== // Text Component //=========================================================================== #region Text Component mToastText = toastTextObject.AddComponent <Text>(); Assets.Common.Toasts.TextStyles.toastText.Apply(mToastText); if (tokenId != R.sections.Toasts.strings.Count) { Translator.AddLanguageChangedListener(UpdateText); UpdateText(); } else { mToastText.text = text; } #endregion #endregion mDelay = duration / 1000f; enabled = true; }