跳到主要内容

使用随机挑选器(RandomPicker)

winS.Unity.RandomPickerjump icon允许您在数据中以一定策略挑选指定项。

以下代码演示了如何使用 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的项重复 (默认策略)