public void draw(View Vw, ViewWindow Window, Review review) { Window.title = "Bases"; InstanceData GameInstance = StateFundingGlobal.fetch.GameInstance; if (GameInstance == null) { Log.Error("StateFundingHubBasesView.draw, Inst is null"); return; } string Description = "Below is a list of existing Bases. Vessels that are Bases should be labeled as " + "such, be landed on a body other than the home planet, and be able to generate power. Bases increase State Confidence " + "as well as Public Opinion. Bases are scored by the following criteria: Total Fuel (SC), Total Ore (SC), Crew (PO), Crew Capacity " + "(SC), Docking Port Count (SC), Docked Vessels (PO), if it has a science lab (SC/PO), and if it has a drill (SC/PO)."; ViewLabel DescriptionLabel = new ViewLabel(Description); DescriptionLabel.setRelativeTo(Window); DescriptionLabel.setLeft(140); DescriptionLabel.setTop(20); DescriptionLabel.setColor(Color.white); DescriptionLabel.setHeight(100); DescriptionLabel.setWidth(Window.getWidth() - 140); Vw.addComponent(DescriptionLabel); ViewLabel TotalBases = new ViewLabel("Total Bases: " + review.variables.Bases.Length); TotalBases.setRelativeTo(Window); TotalBases.setLeft(140); TotalBases.setTop(130); TotalBases.setColor(Color.white); TotalBases.setHeight(30); TotalBases.setWidth(Window.getWidth() - 140); Vw.addComponent(TotalBases); ViewScroll BasesScroll = new ViewScroll(); BasesScroll.setRelativeTo(Window); BasesScroll.setWidth(Window.getWidth() - 140); BasesScroll.setHeight(Window.getHeight() - 160); BasesScroll.setLeft(140); BasesScroll.setTop(150); Vw.addComponent(BasesScroll); BaseReport[] Bases = review.variables.Bases; for (int i = 0; i < Bases.Length; i++) { drawItem(Bases[i], BasesScroll, i); } }
public void draw(View Vw, ViewWindow Window, Review review) { Window.title = "Kerbals"; InstanceData GameInstance = StateFundingGlobal.fetch.GameInstance; if (GameInstance == null) { Log.Error("StateFundingHubKerbalsView.draw, Inst is null"); return; } string Description = "You Love Kerbals, I Love Kerbals, Kerbals Love Kerbals. Just one of those facts of life. " + "So it goes without saying, having Kerbals actively on missions increases Public Opinion. " + "The more Kerbals you have in flight the more Public Opinion you will garner, but be careful, " + "a stranded Kerbal is as bad as a dead Kerbal and will hurt public opinion until they are " + "rescued. A qualified \"Stranded Kerbal\" is one that is in a vessel without fuel/energy, a science lab, " + "or a mining rig. They are floating without reason to be there. A kerbal will not be considered stranded unless it's " + "been on the current mission for at least 2 years."; ViewLabel DescriptionLabel = new ViewLabel(Description); DescriptionLabel.setRelativeTo(Window); DescriptionLabel.setLeft(140); DescriptionLabel.setTop(20); DescriptionLabel.setColor(Color.white); DescriptionLabel.setHeight(100); DescriptionLabel.setWidth(Window.getWidth() - 140); Vw.addComponent(DescriptionLabel); ViewLabel ActiveKerbals = new ViewLabel("Active Kerbals: " + review.variables.activeKerbals + ". Stranded Kerbals: " + review.variables.strandedKerbals + "."); ActiveKerbals.setRelativeTo(Window); ActiveKerbals.setLeft(140); ActiveKerbals.setTop(130); ActiveKerbals.setColor(Color.white); ActiveKerbals.setHeight(30); ActiveKerbals.setWidth(Window.getWidth() - 140); Vw.addComponent(ActiveKerbals); ViewScroll KerbalsScroll = new ViewScroll(); KerbalsScroll.setRelativeTo(Window); KerbalsScroll.setWidth(Window.getWidth() - 140); KerbalsScroll.setHeight(Window.getHeight() - 160); KerbalsScroll.setLeft(140); KerbalsScroll.setTop(150); Vw.addComponent(KerbalsScroll); ProtoCrewMember[] Kerbals = KerbalHelper.GetKerbals(); int labelHeight = 20; for (int i = 0; i < Kerbals.Length; i++) { ProtoCrewMember Kerb = Kerbals[i]; string state = "Active"; Color color = Color.green; if (KerbalHelper.IsStranded(Kerb)) { state = "Stranded"; color = Color.white; } else if (KerbalHelper.QualifiedStranded(Kerb)) { state = "Active [Will be Stranded In " + KerbalHelper.TimeToStranded(Kerb) + " Days!]"; color = Color.yellow; } string label = Kerb.name + " (" + state + ")"; ViewLabel KerbalLabel = new ViewLabel(label); KerbalLabel.setRelativeTo(KerbalsScroll); KerbalLabel.setTop(labelHeight + (labelHeight + 5) * i); KerbalLabel.setLeft(0); KerbalLabel.setHeight(labelHeight); KerbalLabel.setWidth(KerbalsScroll.getWidth() - 20); KerbalLabel.setColor(color); KerbalsScroll.Components.Add(KerbalLabel); } }