示例#1
0
        /// <summary>
        /// set the new solid manipulation mode
        /// </summary>
        /// <param name="mode"></param>
        private void SetSolidManipulationMode(string mode)
        {
            CurrentTool?.Deinitialize();

            switch (mode)
            {
            case "brush":
                CurrentTool = new SolidManipulationTool();
                textureProperties.Enabled = true;
                break;

            case "face":
                CurrentTool = new SolidFaceTool();
                textureProperties.Enabled = true;
                break;

            case "vertex":
                CurrentTool = new SolidVertexTool();
                textureProperties.Enabled = false;
                break;
            }

            CurrentTool?.Initialize(this);

            UpdateSolidManipulationToolbar();
            UpdateSolidPropertiesControl();
            UpdateCutCopyPasteToolbar();
            UpdateGroupToolbar();

            RenderViewports();
        }
示例#2
0
        /// <summary>
        /// Resets editor tool state
        /// </summary>
        private void ResetEditorState()
        {
            editorViewport.ResetViewports();
            RubberBand.SetToZeroVolume();
            Selection.Clear();
            CopyBoard.Clear();
            ResetRenderModeToolbarAndMenu();
            creationButtonsPanel.UpdatePrimitiveToolbar("box");
            SetSolidManipulationMode("solid");
            UpdateSolidManipulationToolbar(SolidManipulationMode.Solid);
            UpdateGroupToolbar();

            CurrentTool = new SolidManipulationTool();
            CurrentTool.Initialize(this);
        }
示例#3
0
        /// <summary>
        /// Initializes the editor
        /// </summary>
        private void InitializeEditor()
        {
            // events
            Move       += editorViewport.OnEditorMoves;
            Activated  += editorViewport.OnEditorGotFocus;
            Deactivate += editorViewport.OnEditorLostFocus;
            Disposed   += EditorForm_Dispose;

            editorViewport.OnViewportFocus      += OnViewportFocus;
            textureSelector.ApplyButton.Click   += OnApplySelectedTexture;
            textureSelector.ReplaceButton.Click += OnReplaceSelectedTexture;

            creationButtonsPanel.OnCreationButtonPressed = HandleGeometryBarItems;
            solidProperties.OnPropertiesChanged          = OnSolidPropertiesChanged;
            textureProperties.OnPropertiesChanged        = OnTexturePropertiesChanged;
            textureProperties.OnJustify = OnTexturePropertiesJustifyClicked;

            // initialization
            EditorSettings    = new EditorSettings();
            RubberBand        = new RubberBand();
            Selection         = new MapObjectGroup();
            CopyBoard         = new MapObjectGroup();
            CurrentTool       = new SolidManipulationTool();
            defaultMapSaver   = new RuneMapExporter();
            defaultMapLoader  = new RuneMapImporter();
            TextureCollection = new TextureCollection(EditorSettings.TextureFolder);

            if (!DesignMode)
            {
                EditorSettings.Load();
                SetupSolidFactory();
                solidProperties.UpdateProperties(Selection);
                editorViewport.SetController(this);
                textureSelector.TextureCollection = TextureCollection;
                CurrentTool.Initialize(this);

                Rotate = GeneralUtility.CreateCursor(Resources.rotate, 16, 16);
                NewDocument();
            }
        }