예제 #1
0
    public override void CastEffect()
    {
        int     casterIndex = stage.enemies.IndexOf((Enemy)caster);
        Crystal crystal     = new Crystal();

        boss.crystal = crystal;
        crystal.RegisterDeathObserver(boss);
        stage.AddEnemyAtIndex(crystal, casterIndex);
    }
예제 #2
0
    public override void CastEffect()
    {
        int   casterIndex = stage.enemies.IndexOf((Enemy)caster);
        Enemy summon      = getEnemy();

        stage.AddEnemyAtIndex(summon, casterIndex);
        summon.RegisterDeathObserver(this);
        summons.Add(summon);
        summonsAlive += 1;
    }
예제 #3
0
 public override void CastEffect()
 {
     foreach (int level in GetLevels())
     {
         //MonoBehaviour.print("level: " + level);
         int casterIndex = stage.enemies.IndexOf((Enemy)caster);
         //Enemy skeleton = new Skeleton(level);
         Enemy skeleton = new Skeleton(level);
         stage.AddEnemyAtIndex(skeleton, casterIndex);
         //MonoBehaviour.print("count "+ skeleton.deathObservers.Count);
         skeleton.RegisterDeathObserver(this);
         //MonoBehaviour.print("count " + skeleton.deathObservers.Count);
         skeletonsAlive += 1;
         //MonoBehaviour.print(skeletonsAlive);
     }
     if (!firstCast)
     {
         totalLevel += levelGainPerCast;
     }
     else
     {
         firstCast = false;
     }
 }