使用随机挑选器(RandomPicker)
winS.Unity.RandomPicker
允许您在数据中以一定策略挑选指定项。
以下代码演示了如何使用 RandomPicker。
using UnityEngine;
using winS.Unity;
public class Example_RandomPicker : MonoBehaviour
{
private RandomPicker<Gold> goldPicker;
private void Start()
{
goldPicker = new RandomPicker<Gold>();
goldPicker.Add(new Gold(100));
goldPicker.Add(new Gold(200));
goldPicker.Add(new Gold(500));
goldPicker.Add(new Gold(1000));
goldPicker.Add(new Gold(5000));
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Gold gold = goldPicker.Pick();
Debug.Log($"You got {gold.count} gold coins!");
}
}
private readonly struct Gold
{
public readonly int count;
public Gold(int count)
{
this.count = count;
}
}
}
指定挑选策略
您可以通过RandomPicker.randomPolicyType属性来设置挑选策略:
- RandomPolicyType.Order:不再随机,而是按顺序Pick。
- RandomPolicyType.Random:随机Pick。
- RandomPolicyType.RandomNotRepeat:随机Pick,但不会和上一次Pick的项重复 (默认策略)。