public override void PreOpen() { base.PreOpen(); if (!Tree.Initialized) { // initialize tree Tree.Initialize(); // spit out debug info #if DEBUG Log.Message("ResearchTree :: duplicated positions:\n " + string.Join("\n", Tree.Leaves.Where(n => Tree.Leaves.Any(n2 => n != n2 && n.X == n2.X && n.Y == n2.Y)).Select(n => n.X + ", " + n.Y + ": " + n.Label).ToArray())); Log.Message("ResearchTree :: out-of-bounds nodes:\n" + string.Join("\n", Tree.Leaves.Where(n => n.X < 1 || n.Y < 1).Select(n => n.ToString()).ToArray())); Log.Message(Tree.ToString()); #endif } // clear node availability caches ResearchNode.ClearCaches(); // set to topleft (for some reason vanilla alignment overlaps bottom buttons). windowRect.x = 0f; windowRect.y = 0f; windowRect.width = Screen.width; windowRect.height = Screen.height - 35f; }
public override void PreOpen() { base.PreOpen(); SetRects(); if (!Tree.Initialized) { // initialize tree Tree.Initialize(); } // clear node availability caches ResearchNode.ClearCaches(); _dragging = false; closeOnClickedOutside = false; }