Files
@ 71732f305328
Branch filter:
Location: ATITD-Tools/Desert-Paint-Lab/ReactionStatusWindow.cs - annotation
71732f305328
1.8 KiB
text/x-csharp
Pre-allocate a bunch of map entries, given that we know there are a fixed set of colors. Use fixed arrays in places where maps/sets were excessive. Switch away from using Gtk.Application.Invoke, which leaks a bunch of memory.
f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb | using System;
namespace DesertPaintLab
{
public partial class ReactionStatusWindow : Gtk.Window
{
//PlayerProfile profile;
public ReactionStatusWindow(PlayerProfile profile) : base(Gtk.WindowType.Toplevel)
{
//this.profile = profile;
this.Build();
//Gtk.CellRendererText reagentColumnCell = new Gtk.CellRendererText();
int count = 0;
foreach (string name1 in ReagentManager.Names)
{
Reagent reagent1 = ReagentManager.GetReagent(name1);
foreach (string name2 in ReagentManager.Names)
{
if (name1.Equals(name2))
{
continue;
}
Reagent reagent2 = ReagentManager.GetReagent(name2);
Reaction reaction = profile.FindReaction(reagent1, reagent2);
if (reaction == null)
{
if (count == 0)
{
Gtk.Label header = new Gtk.Label("Missing Reactions:");
resultbox.PackStart(header, false, false, 0);
Gtk.HSeparator sep = new Gtk.HSeparator();
resultbox.PackStart(sep, false, false, 0);
}
Gtk.Label label = new Gtk.Label(name1 + " + " + name2);
resultbox.PackStart(label, false, false, 0);
++count;
}
}
}
if (count == 0)
{
Gtk.Label header = new Gtk.Label("All reactions recorded!");
resultbox.PackStart(header, false, false, 0);
}
ShowAll();
}
}
}
|