OldBlueWater/BlueWater/Assets/02.Scripts/Item/DropItemTable.cs

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