Starsector API
Loading...
Searching...
No Matches
CodexUpdateIntel.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.codex;
2
3import java.util.LinkedHashSet;
4import java.util.Set;
5
6import java.awt.Color;
7
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.impl.campaign.intel.misc.FleetLogIntel;
10import com.fs.starfarer.api.ui.SectorMapAPI;
11import com.fs.starfarer.api.ui.TooltipMakerAPI;
12import com.fs.starfarer.api.util.Misc;
13
14public class CodexUpdateIntel extends FleetLogIntel {
15
16 protected LinkedHashSet<String> unlockedEntries;
17
18 public CodexUpdateIntel(LinkedHashSet<String> unlockedEntries) {
19 this.unlockedEntries = unlockedEntries;
21 }
22
23 protected void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode, boolean isUpdate, Color tc, float initPad) {
24 Color h = Misc.getHighlightColor();
25 Color g = Misc.getGrayColor();
26 float pad = 3f;
27 float opad = 10f;
28
29 bullet(info);
30
31 if (!unlockedEntries.isEmpty()) {
32 String entries = unlockedEntries.size() == 1 ? "entry" : "entries";
33 info.addPara("%s new Codex " + entries + "", initPad, tc, h, "" + unlockedEntries.size());
34 initPad = 0f;
35 }
36 unindent(info);
37 }
38
39 @Override
40 public void createSmallDescription(TooltipMakerAPI info, float width, float height) {
41 Color h = Misc.getHighlightColor();
42 Color g = Misc.getGrayColor();
43 Color tc = Misc.getTextColor();
44 float pad = 3f;
45 float small = 3f;
46 float opad = 10f;
47
48 if (!unlockedEntries.isEmpty()) {
49 info.addPara("New Codex entries available.", opad);
50 info.addCodexEntries("New entries", unlockedEntries, true, opad);
51 float ew = info.getPrev().getPosition().getWidth();
52 float xOff = (int)((width - ew)/2f);
53 info.getPrev().getPosition().setXAlignOffset(xOff);
54 info.addSpacer(0f).getPosition().setXAlignOffset(-xOff);
55 }
56
57 addLogTimestamp(info, tc, opad);
58
59 addDeleteButton(info, width);
60 }
61
62 @Override
63 public String getIcon() {
64 return Global.getSettings().getSpriteName("intel", "codex_update");
65 }
66
67 @Override
68 public Set<String> getIntelTags(SectorMapAPI map) {
69 Set<String> tags = super.getIntelTags(map);
70 return tags;
71 }
72
73 public String getName() {
74 return "Codex Update";
75 }
76
77}
static SettingsAPI getSettings()
Definition Global.java:57
static SectorAPI getSector()
Definition Global.java:65
void addLogTimestamp(TooltipMakerAPI info, Color tc, float opad)
void addDeleteButton(TooltipMakerAPI info, float width)
void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode, boolean isUpdate, Color tc, float initPad)
void createSmallDescription(TooltipMakerAPI info, float width, float height)
CodexUpdateIntel(LinkedHashSet< String > unlockedEntries)
static Color getTextColor()
Definition Misc.java:839
static Color getGrayColor()
Definition Misc.java:826
static Color getHighlightColor()
Definition Misc.java:792
String getSpriteName(String category, String id)
PositionAPI setXAlignOffset(float xAlignOffset)
void addCodexEntries(String title, Set< String > entryIds, boolean sort, float pad)
LabelAPI addPara(String format, float pad, Color hl, String... highlights)
UIComponentAPI addSpacer(float height)