我想知道如何将两个参数添加到一个列表中,这样我就可以将它们放在同一个列表中。我有一个gameobjects的列表,我想为该gameobjects "配对 "一个计时器,这样我就可以看到它在触发器中的时间。很明显,我仍然需要做定时器之类的东西(如果你有任何关于如何做的建议,请告诉我)以及触发器退出之类的东西,但这是我的代码。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Grill : MonoBehaviour
{
public int time = 0; // The amount of time the object was collided with;
public int maxTime = 20; // The amount of time before the loop stops.
public List<GameObject> grilledItems = new List<GameObject>();
private void OnTriggerEnter(Collider other)
{
if(other.gameObject.CompareTag("Cookable"))
{
grilledItems.Add(other.gameObject);
}
}
}
我认为你不应该把它弄得这么复杂。 如果你需要它,使用一个 Map
. 如果不是结构是你的朋友。
public struct GrilledItemType
{
public GameObject grilledObject;
public Timer timer;
};
那么只要
public List<GrilledItemType> grilledItems = new List<GrilledItemType>();
使用 元组:
new List<(GameObject gameObj, Timer associatedTimer)>();