001package com.fs.starfarer.api.impl.campaign.intel.misc; 002 003import java.util.Set; 004 005import java.awt.Color; 006 007import com.fs.starfarer.api.Global; 008import com.fs.starfarer.api.campaign.PlanetAPI; 009import com.fs.starfarer.api.campaign.SectorEntityToken; 010import com.fs.starfarer.api.campaign.TextPanelAPI; 011import com.fs.starfarer.api.campaign.listeners.CoreDiscoverEntityPlugin; 012import com.fs.starfarer.api.impl.campaign.ids.Tags; 013import com.fs.starfarer.api.ui.SectorMapAPI; 014import com.fs.starfarer.api.ui.TooltipMakerAPI; 015import com.fs.starfarer.api.ui.TooltipMakerAPI.PlanetInfoParams; 016import com.fs.starfarer.api.util.Misc; 017 018public class SurveyDataForPlanetIntel extends FleetLogIntel { 019 020 protected String longText; 021 protected PlanetAPI planet; 022 023 public SurveyDataForPlanetIntel(PlanetAPI planet, String longText, TextPanelAPI textPanel) { 024 this.planet = planet; 025 this.longText = longText; 026 027 setSound("ui_discovered_entity"); 028 setIconId("found_planet_data"); 029 030 setRemoveTrigger(planet); 031 032 setListInfoParam(DISCOVERED_PARAM); 033 Global.getSector().getIntelManager().addIntel(this, false, textPanel); 034 setListInfoParam(null); 035 036 if (planet.getStarSystem() != null && Misc.hasUnexploredRuins(planet.getMarket())) { 037 CoreDiscoverEntityPlugin.addSalvorsTallyIfNeeded(planet.getStarSystem()); 038 } 039 } 040 041 @Override 042 protected String getName() { 043 //String name = "Survey Data: " + planet.getName() + ", " + planet.getTypeNameWithWorld(); 044 String classStr = Misc.getPlanetSurveyClass(planet); 045 String name = "Survey Data: " + classStr + " " + planet.getTypeNameWithWorld(); 046 //name = "Survey Data: Class IV Cryovolcanic World"; 047 return name; 048 } 049 050 051 @Override 052 public void createIntelInfo(TooltipMakerAPI info, ListInfoMode mode) { 053 Color c = getTitleColor(mode); 054 info.addPara(getName(), c, 0f); 055 addBulletPoints(info, mode); 056 } 057 058 protected void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode) { 059 Color h = Misc.getHighlightColor(); 060 Color g = Misc.getGrayColor(); 061 float pad = 3f; 062 float opad = 10f; 063 064 float initPad = pad; 065 if (mode == ListInfoMode.IN_DESC) initPad = opad; 066 067 Color tc = getBulletColorForMode(mode); 068 //boolean isUpdate = getListInfoParam() != null; 069 070 bullet(info); 071 //info.addPara(str, tc, initPad); 072 initPad = 0f; 073 unindent(info); 074 } 075 076 @Override 077 public void createSmallDescription(TooltipMakerAPI info, float width, float height) { 078 Color h = Misc.getHighlightColor(); 079 Color g = Misc.getGrayColor(); 080 Color tc = Misc.getTextColor(); 081 float pad = 3f; 082 float opad = 10f; 083 084 PlanetInfoParams params = new PlanetInfoParams(); 085 params.showConditions = true; 086 params.showName = true; 087 params.withClass = true; 088 params.scaleEvenWhenShowingName = true; 089 params.conditionsYOffset = 32f; 090 params.showHazardRating = true; 091 info.showPlanetInfo(planet, width, width / 1.62f, params, opad + params.conditionsYOffset); 092 info.addPara(longText, opad + 18f); 093 094 addBulletPoints(info, ListInfoMode.IN_DESC); 095 096 addLogTimestamp(info, tc, opad); 097 addDeleteButton(info, width); 098 } 099 100 @Override 101 public Set<String> getIntelTags(SectorMapAPI map) { 102 Set<String> tags = super.getIntelTags(map); 103 tags.remove(Tags.INTEL_FLEET_LOG); 104 tags.add(Tags.INTEL_EXPLORATION); 105 return tags; 106 } 107 108 @Override 109 public SectorEntityToken getMapLocation(SectorMapAPI map) { 110 return planet; 111 } 112 113 114 115} 116 117 118 119