public CodeUIEdgeItem(string srcName, string tarName, DataDict edgeData) { m_srcUniqueName = srcName; m_tarUniqueName = tarName; if (edgeData != null) { if (edgeData.ContainsKey("dbRef")) { var dbRef = edgeData["dbRef"] as DoxygenDB.Reference; if (dbRef != null) { m_file = dbRef.File().Longname(); m_line = dbRef.Line(); m_column = dbRef.Column(); } } if (edgeData.ContainsKey("customEdge")) { m_customEdge = (int)edgeData["customEdge"] != 0; } } var scene = UIManager.Instance().GetScene(); var srcItem = scene.GetItemDict()[srcName]; string srcItemFile; int srcItemLine, srcItemColumn; srcItem.GetDefinitionPosition(out srcItemFile, out srcItemLine, out srcItemColumn); if (srcItemFile != "" && m_file != srcItemFile) { m_file = srcItemFile; m_line = srcItemLine; m_column = srcItemColumn; } this.MouseDown += new MouseButtonEventHandler(MouseDownCallback); this.MouseUp += new MouseButtonEventHandler(MouseUpCallback); this.MouseMove += new MouseEventHandler(MouseMoveCallback); this.MouseEnter += new MouseEventHandler(MouseEnterCallback); this.MouseLeave += new MouseEventHandler(MouseLeaveCallback); this.Cursor = Cursors.Arrow; SolidColorBrush brush = new SolidColorBrush(Color.FromArgb(100, 150, 150, 150)); this.Fill = Brushes.Transparent; this.Stroke = brush; this.StrokeThickness = 2.0; this.StrokeLineJoin = PenLineJoin.Bevel; BuildGeometry(); Canvas.SetZIndex(this, -1); }
public override Dictionary <string, Rect> ParseData(string name, string data) { if (!DataDict.ContainsKey(name)) { DataDict.Add(name, new Dictionary <string, Rect>()); JsonReader reader = new JsonReader(); UnityJsonData jsonData = reader.Read <UnityJsonData>(data); DualSize texSize = jsonData.meta.size; foreach (KeyValuePair <string, Frame> item in jsonData.frames) { string frameName = item.Key; Frame frameData = item.Value; // Calculate Vector2 scale = new Vector2(frameData.frame.w / texSize.w, frameData.frame.h / texSize.h); Vector2 offset = new Vector2(frameData.frame.x / texSize.w, (texSize.h - frameData.frame.y - frameData.sourceSize.h) / texSize.h); Rect rect = new Rect(offset.x, offset.y, scale.x, scale.y); DataDict[name].Add(frameName, rect); } } return(DataDict[name]); }
public bool HasKey(string key) { return(DataDict.ContainsKey(key)); }