001package com.fs.starfarer.api.combat;
002
003import java.awt.Color;
004
005import org.lwjgl.util.vector.Vector2f;
006
007public interface EngineSlotAPI {
008        float getWidth();
009        float getContrailWidth();
010        float getLength();
011        Color getColor();
012        Color getContrailColor();
013        void setContrailColor(Color contrailColor);
014        void setColor(Color color);
015        void setAngle(float angle);
016        float getAngle();
017        void setContrailWidth(float contrailWidth);
018        float getContrailDuration();
019        void setContrailDuration(float contrailDuration);
020        float getContrailSpeedMultMaxSpeed();
021        float getContrailSpawnDistMult();
022        void setContrailSpawnDistMult(float spawnDistMult);
023        void setContrailSpeedMultMaxSpeed(float contrailSpeedMultMaxSpeed);
024        float getContrailSpeedMultAngVel();
025        void setContrailSpeedMultAngVel(float contrailSpeedMultAngVel);
026        float getContrailMinSegLength();
027        void setContrailMinSegLength(float contrailMinSegLength);
028        float getContrailMaxSegLength();
029        void setContrailMaxSegLength(float contrailMaxSegLength);
030        float getContrailWidthMultiplier();
031        void setContrailWidthMultiplier(float contrailWidthMultiplier);
032        float computeMidArcAngle(float entityFacing);
033        Vector2f computePosition(Vector2f entityLocation, float entityFacing);
034        float getGlowSizeMult();
035        void setGlowSizeMult(float glowSizeMult);
036        Color getGlowAlternateColor();
037        void setGlowAlternateColor(Color glowAlternateColor);
038        boolean isFlickerWhenMissileFlamedOut();
039        void setFlickerWhenMissileFlamedOut(boolean flickerWhenMissileFlamedOut);
040}