예제 #1
0
        /// <summary>
        /// Prevent clickthrough to ScreenSafe GUI controls
        /// </summary>
        private void Update()
        {
            var mouse = new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y);

            ReeperCommon.Window.DraggableWindow[] windows = new DraggableWindow[] { optionsWindow, experimentList, debugWindow };

            uiCamera.enabled = !windows.Any(win => win.Visible && win.WindowRect.Contains(mouse));
        }
        private void openMainWindow()
        {
            // fade in if already open
            if (m_MainWindow != null)
            {
                m_MainWindow.MoveToBackground(config.isInBackground);
                if (m_MainWindow.IsFadingOut)
                {
                    m_MainWindow.fadeIn();
                }
                if (config.modulesChanged)
                {
                    mainWindow.updateMainWindow(m_MainWindow);
                }
                return;
            }

            if (m_WindowPrefab == null || m_MainWindowObject != null)
            {
                return;
            }

            // create object
            Vector3 pos = new Vector3(config.mainWindowPos.x, config.mainWindowPos.y, MainCanvasUtil.MainCanvasRect.position.z);

            m_MainWindowObject = Instantiate(m_WindowPrefab, pos, Quaternion.identity) as GameObject;
            if (m_MainWindowObject == null)
            {
                return;
            }

            m_MainWindow = m_MainWindowObject.GetComponent <DraggableWindow> ();
            if (m_MainWindow != null)
            {
                m_MainWindow.SetTitle(Localizer.Format("precisemaneuver_caption"));
                m_MainWindow.setMainCanvasTransform(MainCanvasUtil.MainCanvasRect);
                mainWindow.clearMainWindow();
                mainWindow.updateMainWindow(m_MainWindow);
                m_MainWindow.MoveToBackground(config.isInBackground);
                m_MainWindow.OnWindowPointerEnter = setWindow1InputLock;
                m_MainWindow.OnWindowPointerExit  = resetWindow1InputLock;
            }
            scaleMainWindow();
            config.listenToScaleChange(scaleMainWindow);

            GUIComponentManager.processStyle(m_MainWindowObject);
            GUIComponentManager.replaceLabelsWithTMPro(m_MainWindowObject);

            // set object as a child of the main canvas
            m_MainWindowObject.transform.SetParent(MainCanvasUtil.MainCanvas.transform);
        }
        private void openKeybindingsWindow()
        {
            // fade in if already open
            if (m_KeybindingsWindow != null)
            {
                if (m_KeybindingsWindow.IsFadingOut)
                {
                    m_KeybindingsWindow.fadeIn();
                }
                return;
            }

            if (m_WindowPrefab == null || m_KeybindingsWindowObject != null)
            {
                return;
            }

            // create window object
            Vector3 pos = new Vector3(config.keymapperWindowPos.x, config.keymapperWindowPos.y, MainCanvasUtil.MainCanvasRect.position.z);

            m_KeybindingsWindowObject = Instantiate(m_WindowPrefab, pos, Quaternion.identity) as GameObject;
            if (m_KeybindingsWindowObject == null)
            {
                return;
            }

            // populate window
            m_KeybindingsWindow = m_KeybindingsWindowObject.GetComponent <DraggableWindow>();
            if (m_KeybindingsWindow != null)
            {
                m_KeybindingsWindow.SetTitle(Localizer.Format("precisemaneuver_keybindings_caption"));
                m_KeybindingsWindow.setMainCanvasTransform(MainCanvasUtil.MainCanvasRect);
                hotkeys.fillKeymapperWindow(m_KeybindingsWindow);
                m_KeybindingsWindow.OnWindowPointerEnter = setWindow2InputLock;
                m_KeybindingsWindow.OnWindowPointerExit  = resetWindow2InputLock;
            }

            GUIComponentManager.processStyle(m_KeybindingsWindowObject);
            GUIComponentManager.processLocalization(m_KeybindingsWindowObject);
            GUIComponentManager.replaceLabelsWithTMPro(m_KeybindingsWindowObject);

            // set object as a child of the main canvas
            m_KeybindingsWindowObject.transform.SetParent(MainCanvasUtil.MainCanvas.transform);
        }
예제 #4
0
        private void Update()
        {
            var mouse = new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y);

            DraggableWindow[] windows = new DraggableWindow[] { optionsWindow, experimentList, debugWindow };
        }
예제 #5
0
        private TextBlock ZoomNumber; //Label for zoom #

        #endregion Fields

        #region Constructors

        public MainWindow()
        {
            InitializeComponent();

            this.DataContext = this;
            this.VisualClearTypeHint = ClearTypeHint.Enabled;

            //Sample brush, to delete
            SampleBrush = Utilities.GetColorFromHex("#FFA3A3");
            ActiveBrushColor = SampleBrush;

            //INITALIZATIONS
            PixelList = new List<Pixel>();

            #region MAIN DOCK

            //INITIALIZATION
            MainDock = new DockPanel();

            //ADDS TO MAIN FORM
            MainForm.AddChild(MainDock);

            //STYLING
            MainDock.LastChildFill = true;
            MainDock.Background = new SolidColorBrush(Color.FromRgb(100, 100, 100));

            //EVENTS

            MainDock.MouseMove += MainDock_MouseMove;

            #endregion

            #region BARS

            //Sets up the Top Bar (-, +, x)
            TopBar = CreateTopBar(MainDock);

            //Sets up the Menu Bar (File, Edit, Window etc)
            MenuBar = CreateMenuBar(MainDock);

            //Sets up the Tool Bar (Brush, Eraser, etc)
            ToolBar = CreateToolBar(MainDock);

            #endregion

            #region RIGHT DOCKING

            //RIGHT DOCKING
            RightDockings = new DockPanel();
            MainDock.Children.Add(RightDockings);
            DockPanel.SetDock(RightDockings, Dock.Right);

            //LEFT DOCKING
            LeftDockings = new DockPanel();
            MainDock.Children.Add(LeftDockings);
            DockPanel.SetDock(LeftDockings, Dock.Left);

            #endregion

            LayerMan = new LayerManager();
            LayerGrid = new Grid();

            MainDock.Children.Add(LayerGrid);

            #region DRAWING GROUP

            #endregion

            #region PREVIEW WINDOW

            //INITIALIZATION
            PreviewWindow = new Canvas();
            PreviewCanvasHolder = new DraggableWindow(PreviewWindow);

            //EVENTS
            PreviewCanvasHolder.Width = PreviewWindow.Width;
            PreviewCanvasHolder.Height = PreviewWindow.Height;

            //ADDS TO MAIN DOCK > RIGHT DOCKINGS
            DockPanel.SetDock(PreviewCanvasHolder, Dock.Top);
            RightDockings.Children.Add(PreviewCanvasHolder);
            #endregion

            //STYLING
            this.MinHeight = 700;
            this.MinWidth = 900;

            isLeftDown = false;

            this.MouseUp += MainWindow_MouseUp;
            this.MouseDown += MainWindow_MouseDown;
            this.MouseLeave += MainWindow_MouseLeave;
        }