public void Load(RTSRenderer renderer, ParticleOptions o)
{
// Create Bullet System
plBullets = new ParticleList <BulletParticle, VertexBulletInstance>(renderer, o.BulletMaxCount, ParticleType.Bullet);
using (var fs = File.OpenRead(o.BulletModel)) {
LoadBulletModel(renderer, fs, ParsingFlags.ConversionOpenGL);
}
LoadBulletTexture(renderer, o.BulletTexture);
// Create Fire System
plFires = new ParticleList <FireParticle, VertexFireInstance>(renderer, o.FireMaxCount, ParticleType.Fire);
BuildFireModel(renderer, o.FireDetail);
LoadFireShader(renderer, o.FireNoise, o.FireColor, o.FireAlpha);
// Create Lightning System
plBolts = new ParticleList <LightningParticle, VertexLightningInstance>(renderer, o.LightningMaxCount, ParticleType.Lightning);
BuildLightningModel(renderer);
LoadLightningShader(renderer, o.LightningImage, o.LightningNumTypes);
// Create Alert System
plAlerts = new ParticleList <AlertParticle, VertexAlertInstance>(renderer, o.AlertMaxCount, ParticleType.Alert);
BuildAlertModel(renderer);
tAlert = renderer.LoadTexture2D(o.AlertImage);
// Create Blood System
plBloods = new ParticleList <BloodParticle, VertexAlertInstance>(renderer, o.BloodMaxCount, ParticleType.Blood);
BuildBloodModel(renderer);
tBlood = renderer.LoadTexture2D(o.BloodImage);
}