Example #1
0
 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;
     }
 }
Example #2
0
    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);
    }
Example #3
0
        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);
        }