001/**
002 * 
003 */
004package com.fs.starfarer.api.characters;
005
006import java.util.List;
007import java.util.Map;
008
009import org.lwjgl.util.vector.Vector2f;
010
011import com.fs.starfarer.api.Script;
012import com.fs.starfarer.api.campaign.CargoAPI;
013import com.fs.starfarer.api.campaign.CharacterDataAPI;
014import com.fs.starfarer.api.fleet.FleetMemberType;
015import com.fs.starfarer.api.impl.campaign.procgen.StarAge;
016
017public interface CharacterCreationData {
018        public static String HYPERSPACE_NAME_TOKEN = "hyperspace";
019
020        String getStartingLocationName();
021        void setStartingLocationName(String startingLocationName);
022        Vector2f getStartingCoordinates();
023        
024        PersonAPI getPerson();
025        void clearAdditionalShips();
026        void addStartingFleetMember(String specId, FleetMemberType type);
027        void removeStartingFleetMember(String specId);
028        CargoAPI getStartingCargo();
029        
030        CharacterDataAPI getCharacterData();
031        void setDone(boolean done);
032        boolean isDone();
033        String getDifficulty();
034        void setDifficulty(String difficulty);
035        void addScript(Script script);
036        List<Script> getScripts();
037        
038        String getSeedString();
039        void setSeedString(String seedString);
040        long getSeed();
041        void setSeed(long seed);
042        StarAge getSectorAge();
043        void setSectorAge(StarAge sectorAge);
044        String getSectorSize();
045        void setSectorSize(String sectorSize);
046        
047        Map<String, Object> getCustomData();
048        List<String> getStartingShips();
049        
050        boolean isWithTimePass();
051        void setWithTimePass(boolean withTimePass);
052        
053        void addScriptBeforeTimePass(Script script);
054        List<Script> getScriptsBeforeTimePass();
055        boolean isCampaignHelpEnabled();
056        void setCampaignHelpEnabled(boolean campaignHelp);
057}