protected WwiseHircObjNode(WwiseBank.HIRCObject hircObj, WwiseGraphEditor grapheditor) { hircObject = hircObj; g = grapheditor; comment = new SText(GetComment(), commentColor, false) { Pickable = false, X = 0 }; comment.Y = 0 - comment.Height; AddChild(comment); Pickable = true; }
public WwiseEditorWPF() : base("Wwise Editor") { DataContext = this; StatusText = "Select package file to load"; LoadCommands(); InitializeComponent(); RecentsController.InitRecentControl(Toolname, Recents_MenuItem, fileName => LoadFile(fileName)); graphEditor = (WwiseGraphEditor)GraphHost.Child; graphEditor.BackColor = GraphEditorBackColor; if (File.Exists(OptionsPath)) { var options = JsonConvert.DeserializeObject <Dictionary <string, object> >(File.ReadAllText(OptionsPath)); if (options.ContainsKey("AutoSave")) { AutoSaveView_MenuItem.IsChecked = (bool)options["AutoSave"]; } } soundPanel.SoundPanel_TabsControl.SelectedIndex = 1; soundPanel.HIRCObjectSelected += SoundPanel_HIRCObjectSelected; }
public WEvent(WwiseBank.Event hircEvent, float x, float y, WwiseGraphEditor grapheditor) : base(hircEvent, grapheditor) { outlinePen = new Pen(EventColor); const string s = "Event"; float starty = 0; float w = 15; float midW = 0; varLinkBox = new PPath(); GetLinks(); foreach (var varLink in Varlinks) { string d = string.Join(",", varLink.Links.Select(l => $"#{l}")); SText t2 = new SText(d + "\n" + varLink.Desc) { X = w, Y = 0, Pickable = false }; w += t2.Width + 20; varLink.node.TranslateBy(t2.X + t2.Width / 2, t2.Y + t2.Height); t2.AddChild(varLink.node); varLinkBox.AddChild(t2); } if (Varlinks.Count != 0) { varLinkBox.AddRectangle(0, 0, w, varLinkBox[0].Height); } varLinkBox.Pickable = false; varLinkBox.Pen = outlinePen; varLinkBox.Brush = nodeBrush; outLinkBox = new PPath(); for (int i = 0; i < Outlinks.Count; i++) { string linkDesc = Outlinks[i].Desc; if (OutputNumbers && Outlinks[i].Links.Any()) { linkDesc += $": {string.Join(",", Outlinks[i].Links.Select(l => $"#{l}"))}"; } SText t2 = new SText(linkDesc); if (t2.Width + 10 > midW) { midW = t2.Width + 10; } //t2.TextAlignment = StringAlignment.Far; //t2.ConstrainWidthToTextWidth = false; t2.X = 0 - t2.Width; t2.Y = starty + 3; starty += t2.Height + 6; t2.Pickable = false; Outlinks[i].node.TranslateBy(0, t2.Y + t2.Height / 2); t2.AddChild(Outlinks[i].node); outLinkBox.AddChild(t2); } outLinkBox.AddPolygon(new[] { new PointF(0, 0), new PointF(0, starty), new PointF(-0.5f * midW, starty + 30), new PointF(0 - midW, starty), new PointF(0 - midW, 0), new PointF(midW / -2, -30) }); outLinkBox.Pickable = false; outLinkBox.Pen = outlinePen; outLinkBox.Brush = nodeBrush; float tW = GetTitleBox(s, w); if (tW > w) { if (midW > tW) { w = midW; titleBox.Width = w; } else { w = tW; } varLinkBox.Width = w; } float h = titleBox.Height + 1; outLinkBox.TranslateBy(titleBox.Width / 2 + midW / 2, h + 30); h += outLinkBox.Height + 1; varLinkBox.TranslateBy(0, h); h += varLinkBox.Height; bounds = new RectangleF(0, 0, w, h); AddChild(titleBox); AddChild(varLinkBox); AddChild(outLinkBox); SetOffset(x, y); }