cloudflight
2024-05-15 381bcdc53192f8e8a14fc4ca12ddbb29736c3392
feat:增加了MapViewer中NodeColour,LinkColour属性,可以直接从外部setColour类型
已修改2个文件
36 ■■■■ 文件已修改
Hydraulic/Hydro.MapUI/Map/MapViewer.Draw.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapUI/Map/MapViewer.Model.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapUI/Map/MapViewer.Draw.cs
@@ -117,9 +117,9 @@
                    var p1 = WorldPointToMapPoint(link.StartNode, template.OffSet);
                    var p2 = WorldPointToMapPoint(link.EndNode, template.OffSet);
                    if (!isVisible(p1) && !isVisible(p2)) continue;
                    if (_LinkColour != null)
                    if (LinkColour != null)
                    {
                        pen0.Color = penClosed.Color = GraphHelper.getLinkColor(_LinkColour, link);
                        pen0.Color = penClosed.Color = GraphHelper.getLinkColor(LinkColour, link);
                    }
                    Pen pen = pen0;
@@ -363,9 +363,9 @@
                    dict_point.Add(ps_20);
                    //var x = junction.Position.X * zoom + PanningOffset.X - radius / 2.0f;
                    //var y = junction.Position.Y * zoom + PanningOffset.Y - radius / 2.0f;
                    if (_NodeColour != null)
                    if (NodeColour != null)
                    {
                        pen.Color = penChoosed.Color = GraphHelper.getNodeColor(_NodeColour, node);
                        pen.Color = penChoosed.Color = GraphHelper.getNodeColor(NodeColour, node);
                        brush = pen.Brush;
                        brushChoosed = penChoosed.Brush;
@@ -509,9 +509,9 @@
                    dict_point.Add(ps_20);
                    //var x = junction.Position.X * zoom + PanningOffset.X - radius / 2.0f;
                    //var y = junction.Position.Y * zoom + PanningOffset.Y - radius / 2.0f;
                    if (_NodeColour != null)
                    if (NodeColour != null)
                    {
                        pen.Color = GraphHelper.getNodeColor(_NodeColour, node);
                        pen.Color = GraphHelper.getNodeColor(NodeColour, node);
                        brush = pen.Brush;
                        brushChoosed = penChoosed.Brush;
Hydraulic/Hydro.MapUI/Map/MapViewer.Model.cs
@@ -395,16 +395,32 @@
        }
        #endregion
        #region 颜色分级(辅助)
        Colour _NodeColour
        public Colour NodeColour
        {
            get
            set
            {
                var type = value.Type;
                value.isChoosed = true;
                _Template?.Colours?.RemoveAll(cl => cl.Type == type);
                _Template.Colours.Add(value);
                mapOption.ColourNode = type;
            }
            private get
            {
                return _Template?.Colours?.FirstOrDefault(cl => cl.isChoosed && cl.Type == mapOption.ColourNode);
            }
        }
        Colour _LinkColour
        public Colour LinkColour
        {
            get
            set
            {
                var type = value.Type;
                value.isChoosed = true;
                _Template?.Colours?.RemoveAll(cl => cl.Type == type);
                _Template.Colours.Add(value);
                mapOption.ColourLink = type;
            }
            private get
            {
                return _Template?.Colours?.FirstOrDefault(cl => cl.isChoosed && cl.Type == mapOption.ColourLink);
            }