// using System.Collections.Generic; // using System.Linq; // using UnityEngine; // // // ReSharper disable once CheckNamespace // namespace BlueWaterProject // { // [CreateAssetMenu(fileName = "DropItemTable", menuName = "ScriptableObjects/Item/DropItemTable")] // public class DropItemTable : ScriptableObject // { // public List itemInstanceList = new(); // // // private ItemInstance PickItem() // // { // // var count = itemInstanceList.Count; // // // // if (count == 0) return null; // // // // var sumRatio = itemInstanceList.Sum(element => element.Probability); // // var randomRatio = Random.Range(0, sumRatio); // // // // for (var i = 0; i < count; i++) // // { // // randomRatio -= itemInstanceList[i].Probability; // // // // if (randomRatio < 0) // // { // // return itemInstanceList[i]; // // } // // } // // // // return null; // // } // // // // public void ItemDrop(Vector3 dropPosition) // // { // // var dropItem = PickItem(); // // if (dropItem == null) return; // // // // var dropCount = Random.Range((int)dropItem.Count.x, (int)dropItem.Count.y + 1); // // var instantiateItem = dropItem.Item.InstantiateItem(dropItem.prefab, dropPosition); // // instantiateItem.GetComponentInChildren().Init(dropItem, dropCount); // // } // // public void ItemDrop(Vector3 dropPosition) // { // foreach (var element in itemInstanceList) // { // var dropChance = Random.Range(0, 101); // if (dropChance > element.Probability) continue; // // var dropCount = Random.Range((int)element.Count.x, (int)element.Count.y + 1); // var instantiateItem = ItemManager.Inst.InstantiateItem(element.prefab, dropPosition); // instantiateItem.GetComponentInChildren().Init(element, dropCount); // } // } // } // }