001package com.fs.starfarer.api.combat;
002
003import org.lwjgl.util.vector.Vector2f;
004
005import com.fs.starfarer.api.loading.WeaponSlotAPI;
006
007public interface FighterLaunchBayAPI {
008        
009        /**
010         * Absolute location the fighter should be heading for landing.
011         * @param fighter
012         * @return
013         */
014        Vector2f getLandingLocation(ShipAPI fighter);
015        
016        
017        
018        /**
019         * This removes the fighter from the engine, so its AI methods will stop being called.
020         * When the fighter is re-launched, a new AI will be created.
021         * @param fighter
022         */
023        void land(ShipAPI fighter);
024        
025        
026        /**
027         * @return The ship that this launch bay is on.
028         */
029        ShipAPI getShip();
030
031
032
033        int getFastReplacements();
034        void setFastReplacements(int fastReplacements);
035
036        FighterWingAPI getWing();
037        void makeCurrentIntervalFast();
038        int getExtraDeployments();
039        void setExtraDeployments(int extraDeployments);
040
041        int getExtraDeploymentLimit();
042        void setExtraDeploymentLimit(int extraDeploymentLimit);
043
044        float getExtraDuration();
045        void setExtraDuration(float extraDuration);
046
047        int getNumLost();
048        void setNumLost(int numLost);
049
050
051        WeaponSlotAPI getWeaponSlot();
052
053        void setCurrRate(float currRate);
054        float getCurrRate();
055
056        float getCurrReplacementIntervalDuration();
057        float getTimeUntilNextReplacement();
058}
059
060
061
062
063