Ignore:
Timestamp:
2010-06-14 15:14:27 (10 years ago)
Author:
sijoseha
Message:

Still building up

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/23/sijoseha/alpha/Effects/ParticleSystem.cs

    r819 r822  
    1616    public abstract class ParticleSystem : DrawableGameComponent 
    1717    { 
    18         private Game game; 
     18        private ParticleGame game; 
    1919 
    2020        private Particle[] particles; 
     
    5555 
    5656        private Texture2D texture, innerTexture, outerTexture; 
     57        private Vector2 textureOrigin; 
    5758 
    5859        private int maxAmountOfParticles; 
     
    6364        } 
    6465 
    65         public ParticleSystem(Game game, Vector2 position, String textureName) 
     66        public ParticleSystem(ParticleGame game, Vector2 position, String textureName) 
    6667            : base(game) 
    6768        { 
     
    7071        } 
    7172 
    72         public ParticleSystem(Game game, Vector2 position, String innerTextureName, String outerTextureName) 
     73        public ParticleSystem(ParticleGame game, Vector2 position, String innerTextureName, String outerTextureName) 
    7374            : base(game) 
    7475        { 
     
    9495            { 
    9596                texture = game.Content.Load<Texture2D>(textureName.ToString()); 
     97                textureOrigin.X = texture.Width / 2; 
     98                textureOrigin.Y = texture.Height / 2; 
    9699            } 
    97100            if (textureType == TextureType.Dual) 
     
    99102                innerTexture = game.Content.Load<Texture2D>(innerTextureName.ToString()); 
    100103                outerTexture = game.Content.Load<Texture2D>(outerTextureName.ToString()); 
     104                textureOrigin.X = outerTexture.Width / 2; 
     105                textureOrigin.Y = outerTexture.Height / 2; 
    101106            } 
    102107 
     
    109114            base.Update(gameTime); 
    110115        } 
     116 
     117        public override void Draw(GameTime gameTime) 
     118        { 
     119            game.SpriteBatch.Begin(); 
     120            foreach (Particle p in particles) 
     121            { 
     122                if (!p.Alive) 
     123                { 
     124                    continue; 
     125                } 
     126                if (textureType == TextureType.Single) 
     127                { 
     128                    game.SpriteBatch.Draw(texture, p.Position, null, Color.White, p.Rotation, textureOrigin, p.Scale, SpriteEffects.None, 1.0f); 
     129                } 
     130                if (textureType == TextureType.Dual) 
     131                { 
     132                    game.SpriteBatch.Draw(outerTexture, p.Position, null, Color.White, p.Rotation, textureOrigin, p.Scale, SpriteEffects.None, 1.0f); 
     133                    game.SpriteBatch.Draw(innerTexture, p.Position, null, Color.White, p.Rotation, textureOrigin, p.Scale, SpriteEffects.None, 1.0f); 
     134                } 
     135            } 
     136            base.Draw(gameTime); 
     137        } 
    111138    } 
    112139} 
Note: See TracChangeset for help on using the changeset viewer.