【发布时间】:2017-06-11 00:08:10
【问题描述】:
首先我想提供一些背景信息。我有两个不同的类(Player 类和 Enemy 类),每个类都包含不同的数据,但它们的值都为“int Initiative”。
public class Enemy : MonoBehaviour
{
public int initiative;
//More code
}
public class Player : MonoBehaviour
{
public int initiative;
//More code
}
在我的项目中,我有来自两个类的多个单元,它们存储在 2 个不同的对象列表中
private List<Player> players;
private List<Enemy> enemies;
void Awake()
{
players = new List<Player>();
enemies = new List<Enemy>();
}
代码中没有显示,但每个单元都被发送并存储在这些列表中,具体取决于它们的类。
现在我的问题:
有没有办法将这两个列表组合成一个列表来保存所有不同的对象? (我试图这样做,但没有走远)
如果由于两个列表包含不同类型的对象而无法组合它们,我是否可以创建一个仅存储 int 主动性、对象类型以及它们在先前列表中的位置的列表? (所以我可以在需要时参考列表(玩家和敌人)。请解释我如何实现这一点(如果可能的话,使用一些代码)。
我正在尝试创建某种系统,该系统将查看每个单元的主动性并按顺序调用它们,从具有最高的那个开始。
请我是 C# 和一般编码方面的新手,如果问题太简单或没有意义,请见谅。
提前致谢:)
【问题讨论】:
-
将其存储在 List
集合中