Exemple #1
0
    void SpawnBaby(Vector3 position)
    {
        GameObject g = Instantiate(babyPrefab) as GameObject;

        g.name               = babyPrefab.name;
        g.transform.parent   = transform.parent;
        g.transform.position = position;
        g.transform.SetY(WorldOffsetY + 0.5f);

        EnemyAI_DigdoggerSmall dd = g.GetComponent <EnemyAI_DigdoggerSmall>();

        dd.ParentDigdogger = this;
    }
    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);
    }