// denna kommer reseta allt
        private void resetParticle(Smoke particle, Camera camera, Vector2 StartPosition)
        {
            float speed = 0.3f;//farten på partiklarna
            Vector2 velocity = new Vector2((float)r.NextDouble() * 2f - 1f, (float)r.NextDouble() * 2f - 1f);
            startPosition = StartPosition;
            velocity.Normalize();
            velocity = velocity * speed;

            float rotation = (float)r.NextDouble() * 2f * (float)Math.PI;//denna kommer rotera partiklarna lite
            float allTheRadians = 2f * (float)Math.PI;// gör så att partiklarna roterar runt mitten av spriten
            float rotationSpeed = ((float)r.NextDouble() * allTheRadians - allTheRadians / 2f) / 300f;

            particle.Reset(camera.convertToVisualCoords(new Vector2(startPos.X, startPos.Y)), velocity, rotation, rotationSpeed, (float)r.NextDouble() * 20 + 10);// kommer ge allt sina värden när man ska skapa om dom!//startPos*500
        }
        public void Update(float gameTime)
        {
            elapsedTime += gameTime;//sätter så at det räknas i millisekunder//(float)//.ElapsedGameTime.TotalMilliseconds

            if (elapsedTime > maxLife / maxParticleCount)// om tiden är större än max livet delat på max partiklar så körs denna!
            {
                if (offset < maxParticleCount)// går in i denna om nu en partikels tid är ute
                {

                    smoke[offset] = new Smoke();
                    resetParticle(smoke[offset], camera, startPos);// kör om med samma partiklar från början

                    offset++;
                    elapsedTime = 0;// och startar om tiden för dessa!
                }
            }
            for (int i = 0; i < offset; i++)
            {
                smoke[i].Update(gameTime);

                if (smoke[i].age > maxLife)
                    resetParticle(smoke[i], camera, startPos);
            }
        }