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; }
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; } }
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); }