Exemplo n.º 1
0
        private void BaseForm_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Shift)
            {
                m_shiftPress = true;
            }
            if (e.Control)
            {
                m_ctrlPress = true;
            }

            if (!(this.ActiveControl is PanelDockContainer) && this.ActiveControl != this.PanelView)
            {
                return;
            }
            if (!e.Alt && !e.Shift && e.Control && e.KeyCode == Keys.Enter)
            {
                ToggleFullScreen();
                return;
            }
            if (!e.Alt && !e.Shift && !e.Control && e.KeyCode == Keys.P)
            {
                TogglePMode();
                return;
            }
            if (!e.Alt && !e.Shift && !e.Control && e.KeyCode == Keys.T)
            {
                ToggleTopView();
                return;
            }
            if (!e.Alt && !e.Shift && !e.Control && e.KeyCode == Keys.X)
            {
                SceneSceneEditor.DropSelectedEntity();
            }
            if (!e.Alt && !e.Shift && !e.Control && e.KeyCode == Keys.Z)
            {
                SceneSceneEditor.ZoomToObj();
            }
            if (e.Shift && e.KeyCode >= Keys.F1 && e.KeyCode <= Keys.F1 + CAMERA_STORAGE - 1)
            {
                int saveindex = e.KeyCode - Keys.F1;
                m_bPosSaved[saveindex] = true;
                SceneSceneEditor.GetCameraPosLookat(ref m_SavedCameraPos[saveindex], ref m_SavedCameraLookat[saveindex]);
                return;
            }
            if (!e.Shift && e.KeyCode >= Keys.F1 && e.KeyCode <= Keys.F1 + CAMERA_STORAGE - 1)
            {
                int saveindex = e.KeyCode - Keys.F1;
                if (m_bPosSaved[saveindex])
                {
                    SceneSceneEditor.SetCameraPosLookat(ref m_SavedCameraPos[saveindex], ref m_SavedCameraLookat[saveindex]);
                }
                return;
            }
            if (!e.Shift && !e.Control && e.KeyCode == Keys.Enter)
            {
                ShowProperties();
            }

            switch (e.KeyCode)
            {
            case Keys.Oemcomma:
            {
                NpcPlayNextAction();
                return;
            }

            case Keys.OemPeriod:
            {
                NpcPlayPreviousAction();
                return;
            }

            case Keys.G:
            {
                EditGroup();
                return;
            }

            case Keys.Oem1:
            {
                editMode = EditMode.None;
                break;
            }

            case Keys.W:
            {
                cameraLookAtBox.Text = GetCameraLookAt();
                break;
            }

            case Keys.S:
            {
                cameraLookAtBox.Text = GetCameraLookAt();
                break;
            }

            case Keys.A:
            {
                cameraLookAtBox.Text = GetCameraLookAt();
                break;
            }

            case Keys.D:
            {
                cameraLookAtBox.Text = GetCameraLookAt();
                break;
            }

            case Keys.Delete:
            {
                DeleteSelectedObject();
                break;
            }

            case Keys.Add:
                goto case Keys.Oemplus;

            case Keys.Oemplus:
            {
                m_parent.m_sliderCameraSpeed.Value++;
                m_parent.UpdateCameraSpeedToUI();
                break;
            }

            case Keys.Subtract:
                goto case Keys.OemMinus;

            case Keys.OemMinus:
            {
                m_parent.m_sliderCameraSpeed.Value--;
                m_parent.UpdateCameraSpeedToUI();
                break;
            }
            }

            EngineLayer.ATLBase.ProcessMessage((uint)WM_KEYDOWN, e.KeyValue, e.KeyValue);
        }