001package com.fs.starfarer.api.characters;
002
003import java.util.List;
004import java.util.Random;
005
006import com.fs.starfarer.api.campaign.TextPanelAPI;
007
008
009
010public interface OfficerDataAPI {
011        PersonAPI getPerson();
012        void setPerson(PersonAPI person);
013        void addXP(long xp);
014        void addXP(long xp, TextPanelAPI textPanel);
015        boolean canLevelUp();
016        boolean canLevelUp(boolean allowAnyLevel);
017        void levelUp(String skillId);
018        List<String> getSkillPicks();
019        boolean isMadePicks();
020        
021        /**
022         * Automatically called on level-up, but will re-roll skill picks if called again. 
023         */
024        void makeSkillPicks();
025        void addXP(long xp, TextPanelAPI textPanel, boolean clampXP);
026        void makeSkillPicks(Random random);
027        void levelUp(String skillId, Random random);
028
029}