Exemple #1
0
        void showSelectedPart(lineType type, Part part)
        {
            if (app.DEBUG)
            {
                app.Log("GUI.showSelectedPart(" + type.ToString() + ", " + part.name + ")", false);
            }

            app.UnHighlightParts(app.goodFuelLines);
            app.UnHighlightParts(app.goodStruts);
            app.UnHighlightParts(app.badFuelLines);
            app.UnHighlightParts(app.badStruts);
            selectedStrut = part;

            switch (type)
            {
            case lineType.goodFuel:
                app.HighlightSinglePart(XKCDColors.Amethyst, app.goodFuelLineColor, part);
                break;

            case lineType.goodStrut:
                app.HighlightSinglePart(XKCDColors.OffWhite, app.goodStrutColor, part);
                break;

            case lineType.badFuel:
                app.HighlightSinglePart(XKCDColors.Amethyst, app.badFuelLineColor, part);
                break;

            case lineType.badStrut:
                app.HighlightSinglePart(XKCDColors.OffWhite, app.badStrutColor, part);
                break;
            }
        }
        /// <summary>
        /// Konstruktor
        /// </summary>
        /// <param name="id1">numer indeksu elementu do którego podłaczony jest początek linii</param>
        /// <param name="offset1">przesunięcie socketa od lewej strony powyższego elementu</param>
        /// <param name="yzal">współrzędna Y załamania linii</param>
        /// <param name="id2">numer indeksu elementu do którego podłaczony jest koniec linii</param>
        /// <param name="offset2">przesunięcie socketa od lewej strony powyższego elementu</param>
        /// <param name="p">określa wygląd linii (kolor i grubość)</param>
        /// <param name="begtip">reprezentuje zakończenie linii na jej początku</param>
        /// <param name="endtip">reprezentuje zakończenie linii na jej końcu</param>
        public Line(int id1, int offset1, int yzal, int id2, int offset2, Pen p, tip begtip, tip endtip, lineType type)
        {
            this.id1     = id1;
            this.offset1 = offset1;
            this.id2     = id2;
            this.offset2 = offset2;
            this.yzal    = yzal;
            this.p       = p;
            this.begtip  = begtip;
            this.endtip  = endtip;
            this.type    = type;
            switch (type)
            {
            case lineType.chan_prot:
                this.x1 = 0;
                this.y1 = 0;
                this.x2 = 0;
                this.y2 = 0;
                break;

            case lineType.prot_segm:
                this.x1 = 0;
                this.y1 = 0;
                this.x2 = 0;
                this.y2 = 0;
                break;

            case lineType.segm_stat:
                this.x1 = 0;
                this.y1 = 0;
                this.x2 = 0;
                this.y2 = 0;
                break;
            }
        }
Exemple #3
0
        private void curvebtn_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.Cross;

            this.canDraw   = true;
            this.isCutting = false;
            this.lineState = lineType.curve;
        }
Exemple #4
0
        /// <summary>
        /// 画笔下方的各项工具栏,共十二种。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void screencut_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.Cross;

            this.isCutting = true;
            this.canDraw   = true;
            this.isTool    = false;
            lineState      = lineType.rectangle;
        }
Exemple #5
0
        private void dottedlinebtn_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.Cross;

            this.canDraw   = true;
            this.isTool    = false;
            this.isCutting = false;
            lineState      = lineType.dottedLine;
        }
 public lineType type; // określa typ linii
 /// <summary>
 /// Konstruktor
 /// </summary>
 /// <param name="x1">współrzędna X początku linii</param>
 /// <param name="y1">współrzędna Y początku linii</param>
 /// <param name="yzal">współrzędna Y załamania linii</param>
 /// <param name="x2">współrzędna X końca linii</param>
 /// <param name="y2">współrzędna Y końca linii</param>
 /// <param name="p">określa wygląd linii (kolor i grubość)</param>
 /// <param name="begtip">reprezentuje zakończenie linii na jej początku</param>
 /// <param name="endtip">reprezentuje zakończenie linii na jej końcu</param>
 public Line(int x1, int y1, int yzal, int x2, int y2, Pen p, tip begtip, tip endtip)
 {
     this.x1     = x1;
     this.y1     = y1;
     this.yzal   = yzal;
     this.x2     = x2;
     this.y2     = y2;
     this.p      = p;
     this.begtip = begtip;
     this.endtip = endtip;
     this.type   = lineType.another;
 }
Exemple #7
0
        /// <summary>
        /// 点击开启画笔,可以随意在战术板画画
        /// 五种画笔:pen, box, straight, curve, dotted
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void penbtn_Click(object sender, EventArgs e)
        {
            string dir   = @"D:\ajy\summer_project\picture_material\mouse\m_pen.png";
            Bitmap image = new Bitmap(dir);

            this.Cursor = GetCursor(image, 0, 30);

            this.canDraw   = true;
            this.isTool    = false;
            this.isCutting = false;
            lineState      = lineType.freeDraw;
        }
Exemple #8
0
        void showSelectedPart(lineType type, Part part)
        {
            if (app.DEBUG)
            {
                app.Log("GUI.showSelectedPart(" + type.ToString() + ", " + part.name + ")", false);
            }

            app.UnHighlightParts(app.goodFuelLines);
            app.UnHighlightParts(app.goodStruts);
            app.UnHighlightParts(app.badFuelLines);
            app.UnHighlightParts(app.badStruts);
            selectedStrut = part;

            switch (type)
            {
            case lineType.goodFuel:
                app.HighlightSinglePart(XKCDColors.Amethyst, app.goodFuelLineColor, part);
                break;

            case lineType.goodStrut:
                app.HighlightSinglePart(XKCDColors.OffWhite, app.goodStrutColor, part);
                break;

            case lineType.badFuel:
                app.HighlightSinglePart(XKCDColors.Amethyst, app.badFuelLineColor, part);
                break;

            case lineType.badStrut:
                app.HighlightSinglePart(XKCDColors.OffWhite, app.badStrutColor, part);
                break;
            }

            if (HighLogic.LoadedSceneIsEditor)
            {
                var camera = EditorLogic.fetch.editorCamera;
                var sphCam = camera.GetComponent <SPHCamera>();
                var vabCam = camera.GetComponent <VABCamera>();

                // WHY THE EFF DOES IKSPCamera not declare PlaceCamera, SQUAD!?
                if (sphCam.enabled && sphCam != null)
                {
                    sphCam.PlaceCamera(part.transform.position, app.camOffsetDistance);
                }
                else if (vabCam.enabled && vabCam != null)
                {
                    vabCam.PlaceCamera(part.transform.position, app.camOffsetDistance);
                }
                else
                {
                    Debug.LogError("StrutFinder: Unable to locate a valid editor camera component.");
                }
            }
            else if (HighLogic.LoadedSceneIsFlight)
            {
                if (MapView.MapIsEnabled || (CameraManager.Instance.currentCameraMode == CameraManager.CameraMode.IVA))
                {
                    return;
                }

                var camera = FlightCamera.fetch;
                camera.SetTargetPart(part);
                camera.SetDistance(app.camOffsetDistance);
            }
        }
Exemple #9
0
 private static string dir2str(direction d, lineType lin)
 {
     return
         lin == lineType.Single ? (d == direction.Up ? "↑" : d == direction.Down ? "↓" : d == direction.Left ? "←" : "→") :
         lin == lineType.Double ? (d == direction.Up ? "⇑" : d == direction.Down ? "⇓" : d == direction.Left ? "⇐" : "⇒") : "";
 }