001package com.fs.starfarer.api.impl.campaign.ghosts;
002
003import java.util.List;
004
005import org.lwjgl.util.vector.Vector2f;
006
007import com.fs.starfarer.api.EveryFrameScript;
008import com.fs.starfarer.api.campaign.CustomCampaignEntityAPI;
009import com.fs.starfarer.api.util.SmoothMovementUtil;
010
011public interface SensorGhost extends EveryFrameScript {
012
013        void addBehavior(GhostBehavior b);
014
015        float getDespawnRange();
016        void setDespawnRange(float despawnRange);
017
018        void moveTo(Vector2f dest, float maxBurn);
019        void moveTo(Vector2f dest, Vector2f destVel, float maxBurn);
020
021        SmoothMovementUtil getMovement();
022
023        CustomCampaignEntityAPI getEntity();
024
025        float getAcceleration();
026
027        int getMaxBurn();
028
029        int getCurrBurn();
030
031        List<GhostBehavior> getScript();
032
033        void clearScript();
034
035        boolean isCreationFailed();
036
037        boolean isDespawnInAbyss();
038        void setDespawnInAbyss(boolean despawnInAbyss);
039}