Example #1
0
        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)
 {
 }