Esempio n. 1
0
        private void 새로만들기ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            NewObjectSet new_object_set = new NewObjectSet(KAssetDir);

            new_object_set.ShowDialog();

            if (new_object_set.DialogResult == DialogResult.OK)
            {
                Manager.CreateNewObjectSet(
                    new_object_set.Controls["tbObjectSetName"].Text,
                    new_object_set.Controls["tbTextureFileName"].Text);

                this.Text = "DirectX11Tutorial Object Editor: " + Manager.ObjectSet.ObjectSetName;

                SurfaceTexture.ClearTextures();
                SurfaceTexture.AddTextureFromFile(Manager.ObjectSet.TextureFileName);

                SurfaceObject.ClearTextures();
                SurfaceObject.AddTextureFromFile(Manager.ObjectSet.TextureFileName);

                SurfaceTexture.Invalidate();
                SurfaceObject.Invalidate();

                LBObjects.Items.Clear();
            }

            new_object_set.Dispose();
        }
Esempio n. 2
0
        private void SurfaceTexture_MouseMove(object sender, MouseEventArgs e)
        {
            SPosition new_location = e.Location;

            new_location.X += SurfaceTexture.GetOffset().X *KScrollDelta;
            new_location.Y += SurfaceTexture.GetOffset().Y *KScrollDelta;
            new_location.X  = Math.Max(new_location.X, 0);
            new_location.Y  = Math.Max(new_location.Y, 0);

            TextureMousePosition = new_location;

            LabelMousePos.Text = "마우스 좌표 (" +
                                 TextureMousePosition.X.ToString() + ", " + TextureMousePosition.Y.ToString() + ")";

            LabelDistance.Text = "거리 (" +
                                 Math.Abs(TextureMousePosition.X - TextureMousePositionFixed.X).ToString() + ", " +
                                 Math.Abs(TextureMousePosition.Y - TextureMousePositionFixed.Y).ToString() + ")";

            SurfaceTexture.CurrentMousePosition = e.Location;

            if (e.Button == MouseButtons.Left)
            {
                Rectangle selection = new Rectangle
                                      (
                    Math.Min(TextureMousePosition.X, TextureMousePositionFixed.X),
                    Math.Min(TextureMousePosition.Y, TextureMousePositionFixed.Y),
                    Math.Abs(TextureMousePosition.X - TextureMousePositionFixed.X),
                    Math.Abs(TextureMousePosition.Y - TextureMousePositionFixed.Y)
                                      );

                SurfaceTexture.SetSelection(selection);

                LabelSelection.Text = "선택 - 위치(" +
                                      selection.X.ToString() + ", " + selection.Y.ToString() + ") - 크기(" +
                                      selection.Width.ToString() + ", " + selection.Height.ToString() + ")";
            }

            SurfaceTexture.Invalidate();
        }
Esempio n. 3
0
        private void 불러오기ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DlgOpen.InitialDirectory = KAssetDir;
            DlgOpen.Filter           = "오브젝트 셋 파일 (*.xml)|*.xml";
            DlgOpen.DefaultExt       = ".xml";
            DlgOpen.FileName         = "";
            DlgOpen.Title            = "오브젝트 셋 불러오기";

            if (DlgOpen.ShowDialog() == DialogResult.OK)
            {
                Manager.LoadFromFile(DlgOpen.FileName);

                this.Text = "DirectX11Tutorial Object Editor: " + Manager.ObjectSet.ObjectSetName;

                SurfaceTexture.ClearTextures();
                SurfaceTexture.AddTextureFromFile(Manager.ObjectSet.TextureFileName);

                SurfaceObject.ClearTextures();
                SurfaceObject.AddTextureFromFile(Manager.ObjectSet.TextureFileName);

                SurfaceTexture.Invalidate();
                SurfaceObject.Invalidate();

                SSize texture_size = SurfaceTexture.GetTextureSize(0);

                hScrollBar1.LargeChange = KScrollDelta;
                hScrollBar1.Maximum     = texture_size.Width / hScrollBar1.LargeChange;

                vScrollBar1.LargeChange = KScrollDelta;
                vScrollBar1.Maximum     = texture_size.Height / vScrollBar1.LargeChange;

                LBObjects.Items.Clear();
                foreach (ObjectSetElementData element in Manager.ObjectSet.Elements)
                {
                    LBObjects.Items.Add(element.ElementName);
                }
            }
        }
Esempio n. 4
0
        private void SurfaceTexture_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                SurfaceTexture.ShouldDrawFixedGuideline = true;

                SPosition new_location = e.Location;
                new_location.X += SurfaceTexture.GetOffset().X *KScrollDelta;
                new_location.Y += SurfaceTexture.GetOffset().Y *KScrollDelta;

                TextureMousePositionFixed = SurfaceTexture.FixedMousePosition = new_location;

                LabelMousePosFixed.Text = "고정 좌표 (" +
                                          TextureMousePositionFixed.X.ToString() + ", " + TextureMousePositionFixed.Y.ToString() + ")";

                SurfaceTexture.Invalidate();
            }
            else if (e.Button == MouseButtons.Right)
            {
                SurfaceTexture.SetSelection(new Rectangle(0, 0, 0, 0));

                LabelSelection.Text = "선택 - 위치(0, 0) - 크기(0, 0)";
            }
        }
Esempio n. 5
0
        private void VScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {
            SurfaceTexture.SetOfffsetY(e.NewValue);

            SurfaceTexture.Invalidate();
        }