private void m_OnEnemyDied(PlayerKillEnemy ev) { foreach (var monster in m_DB.MonsterDB.GetAll()) { if (ev.Enemy.name.ToLower().Contains(monster.id.ToLower())) { for (int i = 0; i < monster.DropsList.Count; i++) { float roll = Random.Range(0f, 1f); if (roll < monster.DropsList[i].Weight) { string dropName = monster.DropsList[i].Item.id; if (dropName.ToLower() == "money") { Services.CoinManager.OnDropMoney(ev.Enemy, monster.DropsList[i].Quantity); } else { // Drop other stuff GameObject theLoot = m_LootData.GetPrefabFromName(dropName); Debug.Assert(theLoot != null, "Loot: " + dropName + " is not in loot data"); GameObject lootInstance = GameObject.Instantiate <GameObject>(theLoot, ev.Enemy.transform.position, Quaternion.identity); lootInstance.GetComponent <SpeedManager>().SelfSpeed = new Vector2(Random.Range(-1.5f, 1.5f), Random.Range(1f, 3f)); if (dropName.ToLower().Contains("abilityobject")) { lootInstance.GetComponent <AbilityObject>().PriceType = AbilityObjectPriceType.Drop; } } } } break; } } }
private void m_EnemyOnDeath(PlayerKillEnemy ev) { GameObject.Instantiate(m_VFXData.EnemyDeathEffect, ev.Enemy.GetComponent <SpeedManager>().GetTruePos(), m_VFXData.EnemyDeathEffect.transform.rotation); }
private void OnPlayerKillEnemy(PlayerKillEnemy e) { }