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}