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.CargoAPI; 009import com.fs.starfarer.api.campaign.SectorEntityToken; 010import com.fs.starfarer.api.impl.campaign.CargoPodsEntityPlugin; 011import com.fs.starfarer.api.ui.Alignment; 012import com.fs.starfarer.api.ui.SectorMapAPI; 013import com.fs.starfarer.api.ui.TooltipMakerAPI; 014import com.fs.starfarer.api.util.Misc; 015 016public class CargoPodsIntel extends FleetLogIntel { 017 018 public static String PODS_UPDATE = "pods_update"; 019 020 protected SectorEntityToken pods; 021 022 public CargoPodsIntel(SectorEntityToken pods) { 023 this.pods = pods; 024 setRemoveTrigger(pods); 025 } 026 027 public SectorEntityToken getPods() { 028 return pods; 029 } 030 031 protected void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode, boolean isUpdate, Color tc, float initPad) { 032 Color h = Misc.getHighlightColor(); 033 Color g = Misc.getGrayColor(); 034 float pad = 3f; 035 float opad = 10f; 036 037 bullet(info); 038 CargoPodsEntityPlugin plugin = (CargoPodsEntityPlugin) pods.getCustomPlugin(); 039 addDays(info, "left until orbit degrades", plugin.getDaysLeft(), tc, initPad); 040 unindent(info); 041 } 042 043 @Override 044 public void createSmallDescription(TooltipMakerAPI info, float width, float height) { 045 Color h = Misc.getHighlightColor(); 046 Color g = Misc.getGrayColor(); 047 Color tc = Misc.getTextColor(); 048 float pad = 3f; 049 float small = 3f; 050 float opad = 10f; 051 052 info.addPara("A clutch of cargo pods in a temporarily stable orbit. Once the orbit degrades, " + 053 "the pods will be lost.", opad); 054 055 addBulletPoints(info, ListInfoMode.IN_DESC); 056 057 058 CargoAPI cargo = pods.getCargo(); 059 if (cargo != null && !cargo.getStacksCopy().isEmpty()) { 060 info.addSectionHeading("Cargo", Alignment.MID, opad); 061 info.showCargo(cargo, 20, true, opad); 062 } 063 064 addLogTimestamp(info, tc, opad); 065 066 addDeleteButton(info, width); 067 } 068 069 @Override 070 public String getIcon() { 071 return Global.getSettings().getSpriteName("intel", "stabilized_pods"); 072 } 073 074 @Override 075 public Set<String> getIntelTags(SectorMapAPI map) { 076 Set<String> tags = super.getIntelTags(map); 077 return tags; 078 } 079 080 public String getSortString() { 081 //return "Stabilized Cargo Pods"; 082 return super.getSortString(); 083 } 084 085 public String getName() { 086 return "Stabilized Cargo Pods"; 087 } 088 089 @Override 090 public SectorEntityToken getMapLocation(SectorMapAPI map) { 091 return pods; 092 } 093 094}