001package com.fs.starfarer.api.loading; 002 003import java.util.EnumSet; 004 005import java.awt.Color; 006 007import com.fs.starfarer.api.combat.BeamEffectPlugin; 008import com.fs.starfarer.api.combat.CollisionClass; 009 010public interface BeamWeaponSpecAPI extends WeaponSpecAPI { 011 012 float getDamagePerSecond(); 013 void setDamagePerSecond(float damagePerSecond); 014 float getEnergyPerSecond(); 015 void setEnergyPerSecond(float energyPerSecond); 016 String getEffectClassName(); 017 void setEffectClassName(String effectClassName); 018 BeamEffectPlugin getBeamEffect(); 019 boolean isConvergeOnPoint(); 020 void setConvergeOnPoint(boolean convergeOnPoint); 021 boolean isSkipIdleFrameIfZeroBurstDelay(); 022 void setSkipIdleFrameIfZeroBurstDelay(boolean skipIdleFrameIfZeroBurstDelay); 023 float getHitGlowRadius(); 024 void setHitGlowRadius(float hitGlowRadius); 025 float getEMPPerSecond(); 026 void setEMPPerSecond(float empPerSecond); 027 CollisionClass getCollisionClass(); 028 void setCollisionClass(CollisionClass collisionClass); 029 CollisionClass getCollisionClassIfByFighter(); 030 void setCollisionClassIfByFighter(CollisionClass collisionClassIfByFighter); 031 String getFringeTex(); 032 float getBurstDuration(); 033 void setBurstDuration(float burstDuration); 034 float getBurstCooldown(); 035 void setBurstCooldown(float burstCooldown); 036 boolean isBurstBeam(); 037 void setBurstBeam(boolean isBurst); 038 void setFringeTex(String fringeTex); 039 String getCoreTex(); 040 void setCoreTex(String coreTex); 041 boolean isDarkCore(); 042 void setDarkCore(boolean darkCore); 043 boolean isBeamFireOnlyOnFullCharge(); 044 void setBeamFireOnlyOnFullCharge(boolean beamFireOnlyOnFullCharge); 045 boolean isUseGlowColorForHitGlow(); 046 void setUseGlowColorForHitGlow(boolean useGlowColorForHitGlow); 047 String getHardpointGlowSpriteName(); 048 void setHardpointGlowSpriteName(String hardpointGlowSpriteName); 049 String getTurretGlowSpriteName(); 050 void setTurretGlowSpriteName(String glowSpriteName); 051 Color getGlowColor(); 052 void setGlowColor(Color glowColor); 053 float getChargeupTime(); 054 void setChargeupTime(float chargeupTime); 055 float getChargedownTime(); 056 void setChargedownTime(float chargedownTime); 057 float getBeamSpeed(); 058 void setBeamSpeed(float beamSpeed); 059 float getFluxPerSecond(); 060 void setFluxPerSecond(float fluxPerSecond); 061 Color getFringeColor(); 062 void setFringeColor(Color color); 063 Color getCoreColor(); 064 void setCoreColor(Color coreColor); 065 float getWidth(); 066 void setWidth(float width); 067 float getTextureScrollSpeed(); 068 void setTextureScrollSpeed(float textureScrollSpeed); 069 float getFringeScrollSpeedMult(); 070 void setFringeScrollSpeedMult(float fringeScrollSpeedMult); 071 float getPixelsPerTexel(); 072 void setPixelsPerTexel(float pixelsPerTexel); 073 float getImpactMass(); 074 void setImpactMass(float impactMass); 075 EnumSet<CollisionClass> getPierceSet(); 076 void addPierced(CollisionClass pierced); 077 void setStandardPiercing(); 078 int getDarkFringeIter(); 079 void setDarkFringeIter(int darkFringeIter); 080 int getDarkCoreIter(); 081 void setDarkCoreIter(int darkCoreIter); 082 float getCoreWidthMult(); 083 void setCoreWidthMult(float coreWidthMult); 084 float getHitGlowBrightenDuration(); 085 void setHitGlowBrightenDuration(float hitGlowBrightenDuration); 086 boolean isRandomizeTextureOffset(); 087 void setRandomizeTextureOffset(boolean randomizeTextureOffset); 088 089 090}