コード例 #1
0
ファイル: EnemyAI_Patra.cs プロジェクト: Grivik/Zelda_VR
 void OnSmallPatraDied(EnemyAI_PatraSmall smallPatra)
 {
     if (--_numSmallPatrasLiving == 0)
     {
         _healthController.isIndestructible = false;
     }
 }
コード例 #2
0
ファイル: EnemyAI_Patra.cs プロジェクト: Grivik/Zelda_VR
    void SpawnSmallPatra(float phaseOffset)
    {
        GameObject g = Instantiate(smallPatraPrefab) as GameObject;

        g.name                    = smallPatraPrefab.name;
        g.transform.parent        = transform;
        g.transform.localPosition = Vector3.zero;

        EnemyAI_PatraSmall smallPatra = g.GetComponent <EnemyAI_PatraSmall>();

        smallPatra.phaseOffset = phaseOffset;
        smallPatra.ParentPatra = this;
        smallPatra.Radius      = BaseRadius;

        _smallPatras.Add(smallPatra);
    }
コード例 #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);
    }