Ignore:
Timestamp:
2010-06-14 23:49:26 (10 years ago)
Author:
sijoseha
Message:

Building up

File:
1 edited

Legend:

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

    r822 r831  
    3838        protected Vector2 origin; 
    3939 
    40         protected Vector2 minVelocity; 
    41         protected Vector2 maxVelocity; 
     40        protected float minVelocity; 
     41        protected float maxVelocity; 
    4242 
    4343        protected float minLifetime; 
     
    4646        #endregion 
    4747 
    48         private enum TextureType 
     48        protected enum TextureType 
    4949        { 
    5050            Single, 
     
    5252        }; 
    5353 
    54         private TextureType textureType; 
     54        protected TextureType textureType; 
    5555 
    5656        private Texture2D texture, innerTexture, outerTexture; 
     
    6464        } 
    6565 
    66         public ParticleSystem(ParticleGame game, Vector2 position, String textureName) 
     66        public ParticleSystem(ParticleGame game, Vector2 position) 
    6767            : base(game) 
    6868        { 
    69             textureType = TextureType.Single; 
    70             this.game = game; 
    71         } 
    72  
    73         public ParticleSystem(ParticleGame game, Vector2 position, String innerTextureName, String outerTextureName) 
    74             : base(game) 
    75         { 
    76             textureType = TextureType.Dual; 
    7769            this.game = game; 
    7870        } 
     
    8072        protected abstract void InitializeParticles(); 
    8173 
     74        protected virtual void InitializeParticle(Particle p, Vector2 position) 
     75        { 
     76            Vector2 direction = new Vector2(-100, 0); 
     77 
     78            float scale = 1.0f; 
     79            float rotation = 0.0f; 
     80            float velocity = 1.0f; 
     81            float lifetime = 1.0f; 
     82 
     83            p.Initialize(position, scale, rotation, velocity * direction, lifetime); 
     84        } 
     85 
    8286        public override void Initialize() 
    8387        { 
     88            particles = new Particle[maxAmountOfParticles]; 
    8489            for (int i = 0; i < maxAmountOfParticles; i++) 
    8590            { 
     
    9196        protected override void LoadContent() 
    9297        { 
    93             particles = new Particle[maxAmountOfParticles]; 
    9498            if (textureType == TextureType.Single) 
    9599            { 
     
    111115        public override void Update(GameTime gameTime) 
    112116        { 
     117            float time = (float)gameTime.ElapsedGameTime.TotalSeconds; 
     118 
     119            foreach (Particle p in particles) 
     120            { 
     121                if (p.Alive) 
     122                { 
     123                    p.Update(time); 
     124                } 
     125            } 
    113126 
    114127            base.Update(gameTime); 
Note: See TracChangeset for help on using the changeset viewer.