001package com.fs.starfarer.api.fleet; 002 003import com.fs.starfarer.api.campaign.CargoAPI; 004 005public interface CrewCompositionAPI { 006 float getCrew(); 007 008 009 /** 010 * Generally not set for most crews, but useful to have here for use during boarding/loss calculation/etc. 011 * @param marines 012 */ 013 void setMarines(float marines); 014 /** 015 * Generally not set for most crews, but useful to have here for use during boarding/loss calculation/etc. 016 */ 017 float getMarines(); 018 019 020 /** 021 * Generally not set for most crews, but useful to have here for use during boarding/loss calculation/etc. 022 * @param marines 023 */ 024 void addMarines(float marines); 025 026 void removeAllCrew(); 027 028 void transfer(float quantity, CrewCompositionAPI dest); 029 void addCrew(float quantity); 030 031 void addAll(CrewCompositionAPI other); 032 void removeAll(CrewCompositionAPI other); 033 034 void multiplyBy(float mult); 035 036 void addToCargo(CargoAPI cargo); 037 void removeFromCargo(CargoAPI cargo); 038 039 void clear(); 040 void setCrew(float quantity); 041 int getCrewInt(); 042}