示例#1
0
        /// <summary>
        /// Deregisters specified popup menu.
        /// </summary>
        /// <param name="menu">Popup menu.</param>
        public static void DeregisterPopupMenu(PopupMenu menu)
        {
            DebugEx.VerboseFormat("PopupMenuAreaScript.DeregisterPopupMenu(menu = {0})", menu);

            if (sInstance != null)
            {
                if (sInstance.mPopupMenus.Remove(menu))
                {
                    if (sInstance.mPopupMenus.Count == 0)
                    {
                        sInstance.enabled        = false;
                        sInstance.mAutoPopupItem = null;
                        sInstance.mTimer.Stop();

                        EscapeButtonListenerScript.RemoveHandler(sInstance);
                    }
                }
                else
                {
                    DebugEx.Error("Failed to deregister popup menu");
                }
            }
            else
            {
                DebugEx.Error("There is no PopupMenuAreaScript instance");
            }
        }
示例#2
0
        /// <summary>
        /// Registers specified popup menu.
        /// </summary>
        /// <param name="menu">Popup menu.</param>
        public static void RegisterPopupMenu(PopupMenu menu)
        {
            DebugEx.VerboseFormat("PopupMenuAreaScript.RegisterPopupMenu(menu = {0})", menu);

            if (sInstance != null)
            {
                sInstance.mPopupMenus.Add(menu);
                sInstance.enabled = true;

                EscapeButtonListenerScript.PushHandlerToTop(sInstance);
            }
            else
            {
                DebugEx.Error("There is no PopupMenuAreaScript instance");
            }
        }
示例#3
0
        /// <summary>
        /// Handler for destroy event.
        /// </summary>
        protected override void OnDestroy()
        {
            base.OnDestroy();

            DebugEx.Verbose("MainWindowScript.OnDestroy()");

#if HANDLE_ESCAPE_BUTTON
            EscapeButtonListenerScript.RemoveHandler(this);
#endif

            if (Global.mainWindowScript == this)
            {
                Global.mainWindowScript = null;
            }
            else
            {
                DebugEx.Fatal("Unexpected behaviour in MainWindowScript.OnDestroy()");
            }
        }
示例#4
0
        /// <summary>
        /// Handler for destroy event.
        /// </summary>
        protected override void OnDestroy()
        {
            base.OnDestroy();

            DebugEx.Verbose("AboutDialogScript.OnDestroy()");

            if (state != WindowState.FullScreen)
            {
                Save(WINDOW_KEY);
            }

            EscapeButtonListenerScript.RemoveHandler(this);
            Translator.RemoveLanguageChangedListener(OnLanguageChanged);

            if (Global.aboutDialogScript == this)
            {
                Global.aboutDialogScript = null;
            }
            else
            {
                DebugEx.Fatal("Unexpected behaviour in AboutDialogScript.OnDestroy()");
            }
        }
示例#5
0
        /// <summary>
        /// Handler for select event.
        /// </summary>
        protected override void OnSelected()
        {
            DebugEx.UserInteraction("AboutDialogScript.OnSelected()");

            EscapeButtonListenerScript.PushHandlerToTop(this);
        }
示例#6
0
        /// <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);
            }
        }
示例#7
0
        /// <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("MainWindowScript.CreateContent(contentTransform = {0})", contentTransform);

            width  = 0f;
            height = 0f;

            //***************************************************************************
            // MainMenu GameObject
            //***************************************************************************
            #region MainMenu GameObject
            GameObject mainMenu = new GameObject("MainMenu");
            Utils.InitUIObject(mainMenu, contentTransform);

#if MENU_BUTTON_TO_SHOW_MENU
            mainMenu.SetActive(false);
#endif

            //===========================================================================
            // RectTransform Component
            //===========================================================================
            #region RectTransform Component
            RectTransform mainMenuTransform = mainMenu.AddComponent <RectTransform>();
            Utils.AlignRectTransformTopStretch(mainMenuTransform, MAIN_MENU_HEIGHT);
            #endregion

            //===========================================================================
            // MainMenuScript Component
            //===========================================================================
            #region MainMenuScript Component
            Global.mainMenuScript = mainMenu.AddComponent <MainMenuScript>();
            #endregion
            #endregion



            //***************************************************************************
            // Toolbar GameObject
            //***************************************************************************
            #region Toolbar GameObject
            GameObject toolbar = new GameObject("Toolbar");
            Utils.InitUIObject(toolbar, contentTransform);

#if MENU_BUTTON_TO_SHOW_MENU
            toolbar.SetActive(false);
#endif

            //===========================================================================
            // RectTransform Component
            //===========================================================================
            #region RectTransform Component
            RectTransform toolbarTransform = toolbar.AddComponent <RectTransform>();
            Utils.AlignRectTransformTopStretch(toolbarTransform, TOOLBAR_HEIGHT, MAIN_MENU_HEIGHT);
            #endregion

            //===========================================================================
            // ToolbarScript Component
            //===========================================================================
            #region ToolbarScript Component
            Global.toolbarScript = toolbar.AddComponent <ToolbarScript>();
            #endregion
            #endregion



            //***************************************************************************
            // DockingArea GameObject
            //***************************************************************************
            #region DockingArea GameObject
            GameObject dockingArea = new GameObject("DockingArea");
            Utils.InitUIObject(dockingArea, contentTransform);

            //===========================================================================
            // RectTransform Component
            //===========================================================================
            #region RectTransform Component
            RectTransform dockingAreaTransform = dockingArea.AddComponent <RectTransform>();

#if MENU_BUTTON_TO_SHOW_MENU
            Utils.AlignRectTransformStretchStretch(dockingAreaTransform);
#else
            Utils.AlignRectTransformStretchStretch(dockingAreaTransform, 0f, MAIN_MENU_HEIGHT + TOOLBAR_HEIGHT, 0f, 0f);
#endif
            #endregion

            //===========================================================================
            // DockingAreaScript Component
            //===========================================================================
            #region DockingAreaScript Component
            Global.dockingAreaScript = dockingArea.AddComponent <DockingAreaScript>();
            #endregion
            #endregion

#if HANDLE_ESCAPE_BUTTON
            EscapeButtonListenerScript.PushHandlerToTop(this);
#endif

            // TODO: [Major] It looks bad on start up on Android
            LoadDockWidgets();
        }