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}