Esempio n. 1
0
    void OnMoldormDeath(EnemyAI_Moldorm moldorm)
    {
        Enemy       e  = GetComponent <Enemy>();
        DungeonRoom dr = e.DungeonRoomRef;


        if (dr != null)
        {
            dr.OnRoomEnemyDied(e);
        }
        if (enemyAnim != null)
        {
            enemyAnim.PlayDeathAnimation();
        }

        if (moldorm.IsLastWormPiece)
        {
            Enemy.EnemiesKilled++;
            Enemy.EnemiesKilledWithoutTakingDamage++;

            EnemyItemDrop itemDrop = GetComponent <EnemyItemDrop>();
            if (itemDrop != null)
            {
                itemDrop.DropRandomItem();
            }
        }

        moldorm.OnDeath();
        return;
    }
Esempio n. 2
0
    void CreateWormBody()
    {
        EnemyAI_Moldorm mX = this;

        for (int i = 1; i < startWormLength; i++)
        {
            GameObject g = Instantiate(gameObject, transform.position, transform.rotation) as GameObject;

            EnemyAI_Moldorm mNew = g.GetComponent <EnemyAI_Moldorm>();
            mNew.transform.parent = transform.parent;
            mX.Prev   = mNew;
            mNew.Next = mX;

            Enemy e = g.GetComponent <Enemy>();
            if (_enemy.DungeonRoomRef != null)
            {
                _enemy.DungeonRoomRef.AddEnemy(e);
            }

            if (segmentSprite != null)
            {
                e.enemyAnim.GetComponent <SpriteRenderer>().sprite = segmentSprite;
            }

            mX = mNew;
        }
    }
Esempio n. 3
0
    void Death(HealthController healthController, GameObject killer)
    {
        EnemyAI_Moldorm moldorm = GetComponent <EnemyAI_Moldorm>();

        if (moldorm != null)
        {
            OnMoldormDeath(moldorm);
            return;
        }

        EnemyAI_Vire vire = GetComponent <EnemyAI_Vire>();

        if (vire != null)
        {
            if (killer.name != "MagicSword_Weapon")
            {
                vire.SpawnKeese();
            }
        }

        EnemyAI_GleeokHead gleeokHead = GetComponent <EnemyAI_GleeokHead>();

        if (gleeokHead != null)
        {
            gleeokHead.gleeok.SendMessage("OnHeadDied", gleeokHead, SendMessageOptions.RequireReceiver);
        }

        EnemyAI_PatraSmall smallPatra = GetComponent <EnemyAI_PatraSmall>();

        if (smallPatra != null)
        {
            smallPatra.ParentPatra.SendMessage("OnSmallPatraDied", smallPatra, SendMessageOptions.RequireReceiver);
        }

        EnemyAI_DigdoggerSmall smallDigdogger = GetComponent <EnemyAI_DigdoggerSmall>();

        if (smallDigdogger != null)
        {
            smallDigdogger.ParentDigdogger.SendMessage("OnBabyDied", smallDigdogger, SendMessageOptions.RequireReceiver);
        }

        Enemy         e        = GetComponent <Enemy>();
        DungeonRoom   dr       = e.DungeonRoomRef;
        EnemyItemDrop itemDrop = GetComponent <EnemyItemDrop>();

        Enemy.EnemiesKilled++;
        Enemy.EnemiesKilledWithoutTakingDamage++;

        if (itemDrop != null)
        {
            itemDrop.DropRandomItem();
        }
        if (dr != null)
        {
            dr.OnRoomEnemyDied(e);
        }
        if (enemyAnim != null)
        {
            enemyAnim.PlayDeathAnimation();
        }

        SendMessage("OnEnemyDeath", SendMessageOptions.DontRequireReceiver);
    }