public override void use() { //MonoBehaviour.print(cdTimer); if (playerScript.mp >= mpCost && cdTimer <= 0) { cdTimer = coolDown; GameObject fe = (GameObject)MonoBehaviour.Instantiate(Resources.Load("FireExplosion"), playerScript.transformObject.position + Vector3.forward, playerScript.transformObject.rotation); FireExplosion feScript = fe.GetComponent <FireExplosion>(); playerScript.minusMp(mpCost); feScript.damageRate = damageRate; } }
public IExplosion GetExplosion(OfensiveType type) { IExplosion explosion = null; if (explosions.ContainsKey(type)) { explosion = explosions[type]; } else { switch (type) { case OfensiveType.Buff: explosion = new PoisonExplosion(); break; case OfensiveType.Chain: explosion = new ChainExplosion(); break; case OfensiveType.Debuff: explosion = new IceExplosion(); break; case OfensiveType.Direct: explosion = new PoisonExplosion(); break; case OfensiveType.Explosion: explosion = new FireExplosion(); break; case OfensiveType.Poison: explosion = new PoisonExplosion(); break; } explosions.Add(type, explosion); } return(explosion); }
protected void ChangeLevel( string levelName ) { EntityManager.Clear(); EntityManager.Load(Game.Instance.ContentManager.Load <LevelData>(levelName)); Camera = new Camera(this); LightManager = new LightManager(this); // recreate the lava fires system using the new level parameters if (explosionSystem != null) { explosionSystem.UnloadResources(); } explosionSystem = new LavaExplosion(this, Game.Instance.ContentManager, device, entityManager["lavafire"].GetFloat("size"), entityManager["lavafire"].GetFloat("rgb_multiplier"), entityManager["lavafire"].GetFloat("dot_multiplier")); for (int i = 0; i < 50; ++i) { explosionSystem.AddEmitter(new ProjectMagma.Renderer.ParticleSystem.Emitter.LavaExplosionEmitter()); } // recreate the snow system using the new level parameters if (snowSystem != null) { snowSystem.UnloadResources(); } snowSystem = new Snow(this, Game.Instance.ContentManager, device, entityManager["snow"].GetFloat("particle_lifetime"), entityManager["snow"].GetFloat("max_alpha"), entityManager["snow"].GetFloat("base_size"), entityManager["snow"].GetFloat("random_size_modification"), entityManager["snow"].GetFloat("melting_start"), entityManager["snow"].GetFloat("melting_end")); snowSystem.AddEmitter(new SnowEmitter(EntityManager["snow"].GetFloat("particles_per_second"))); for (int i = 0; i < 1000; ++i) { snowSystem.Update(-30d / 1000d + i * -30d / 1000d, -30d / 1000d + i * -30d / 1000d + 30d / 1000d); } if (iceExplosionSystem != null) { iceExplosionSystem.UnloadResources(); } iceExplosionSystem = new IceExplosion(this, Game.Instance.ContentManager, device); if (fireExplosionSystem != null) { fireExplosionSystem.UnloadResources(); } fireExplosionSystem = new FireExplosion(this, Game.Instance.ContentManager, device); if (flamethrowerSystem != null) { flamethrowerSystem.UnloadResources(); } flamethrowerSystem = new Flamethrower(this, Game.Instance.ContentManager, device); if (iceSpikeSystem != null) { iceSpikeSystem.UnloadResources(); } iceSpikeSystem = new IceSpike(this, Game.Instance.ContentManager, device); }