58 lines
2.2 KiB
C#
58 lines
2.2 KiB
C#
// 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<ItemInstance> 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<DropItemController>().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<DropItemController>().Init(element, dropCount);
|
|
// }
|
|
// }
|
|
// }
|
|
// } |