001package com.fs.starfarer.api.loading;
002
003import java.awt.Color;
004
005public class MuzzleFlashSpec implements Cloneable {
006
007        private float length = 40f;
008        private float spread = 20f; // in degrees
009        private float particleSizeMin = 10f;
010        private float particleSizeRange = 10f;
011        private float particleDuration = 0.5f;
012        private int particleCount = 10;
013        
014        private Color particleColor = new Color(255,255,255,255);
015
016        
017        @Override
018        public MuzzleFlashSpec clone() {
019                try {
020                        MuzzleFlashSpec copy = (MuzzleFlashSpec) super.clone();
021                        return copy;
022                } catch (CloneNotSupportedException e) {
023                        return null; // should not happen
024                }
025        }
026
027        public MuzzleFlashSpec(float length, float spread, float particleSizeMin,
028                                                   float particleSizeRange, float particleDuration, int particleCount,
029                                                   Color particleColor) {
030                this.length = length;
031                this.spread = spread;
032                this.particleSizeMin = particleSizeMin;
033                this.particleSizeRange = particleSizeRange;
034                this.particleDuration = particleDuration;
035                this.particleCount = particleCount;
036                this.particleColor = particleColor;
037        }
038
039        public float getLength() {
040                return length;
041        }
042
043        public void setLength(float length) {
044                this.length = length;
045        }
046
047        public float getSpread() {
048                return spread;
049        }
050
051        public void setSpread(float spread) {
052                this.spread = spread;
053        }
054
055        public float getParticleSizeMin() {
056                return particleSizeMin;
057        }
058
059        public void setParticleSizeMin(float particleSizeMin) {
060                this.particleSizeMin = particleSizeMin;
061        }
062
063        public float getParticleSizeRange() {
064                return particleSizeRange;
065        }
066
067        public void setParticleSizeRange(float particleSizeRange) {
068                this.particleSizeRange = particleSizeRange;
069        }
070
071        public float getParticleDuration() {
072                return particleDuration;
073        }
074
075        public void setParticleDuration(float particleDuration) {
076                this.particleDuration = particleDuration;
077        }
078
079        public int getParticleCount() {
080                return particleCount;
081        }
082
083        public void setParticleCount(int particleCount) {
084                this.particleCount = particleCount;
085        }
086
087        public Color getParticleColor() {
088                return particleColor;
089        }
090
091        public void setParticleColor(Color particleColor) {
092                this.particleColor = particleColor;
093        }
094        
095}