public static void OpenWindow(HybridInformations info) { Dialog_EditHybrid window = (Dialog_EditHybrid)Find.WindowStack.Windows.FirstOrDefault(x => x.GetType().Equals(typeof(Dialog_EditHybrid))); if (window != null) { if (window.info != info) { SoundDefOf.TabOpen.PlayOneShotOnCamera(); window.ChangeExtension(info); } } else { SoundDefOf.TabClose.PlayOneShotOnCamera(); Find.WindowStack.Add(new Dialog_EditHybrid(info)); } }
protected void DoRow(Rect rect, HybridInformations extension, int index) { Rect buttonRect = new Rect(rect.xMax - 90f, rect.y, 80f, rect.height); Widgets.Label(rect, extension.GetDef?.label ?? "Undefined"); if (Widgets.ButtonText(buttonRect, "Delete")) { removeList.Add(extension); //raceList.Add(new FloatMenuOption(extension.GetDef.label, delegate { AddHybridOverride(extension.GetDef); })); } buttonRect.x -= 80f; if (Widgets.ButtonText(buttonRect, "Edit")) { Dialog_EditHybrid.OpenWindow(extension); } Widgets.DrawHighlightIfMouseover(rect); }