在C#中是否可以在一个列表中添加两个参数?

问题描述 投票:0回答:1

我想知道如何将两个参数添加到一个列表中,这样我就可以将它们放在同一个列表中。我有一个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);
        }
    }
}
c# unity3d
1个回答
3
投票

我认为你不应该把它弄得这么复杂。 如果你需要它,使用一个 Map. 如果不是结构是你的朋友。

public struct GrilledItemType
{
    public GameObject grilledObject;
    public Timer      timer;
};

那么只要

public List<GrilledItemType> grilledItems = new List<GrilledItemType>();

2
投票

使用 元组:

new List<(GameObject gameObj, Timer associatedTimer)>();
© www.soinside.com 2019 - 2024. All rights reserved.