【发布时间】:2019-11-19 23:53:43
【问题描述】:
我正在尝试列出“图块”。为此,我定义了一个名为“Tile”的类:
[System.Serializable]
class Tile
{
[SerializeField]
GameObject platform;
[SerializeField]
List<string> connectionNorth,
connectionSouth,
connectionWest,
connectionEast;
}
[SerializeField]
List<Tile> tiles = new List<Tile>();
现在...如果我找到存储在字段platform 中的游戏对象(不管我如何找到它,通过光线投射、碰撞、触发器...等)我如何访问它的父类(在运行时存储此特定游戏对象的类的实例)?。通过这样做,我想将connectionNorth 列表与我拥有的其他列表进行比较。
【问题讨论】:
-
对象不存储在其他对象中。它们存储在堆上。一个对象可以包含对另一个对象的 reference,但任何数量的其他对象或局部变量等也可以。因此,您的问题背后的前提本质上是有缺陷的。如果您需要在给定另一个对象的情况下找到一个对象,您唯一的选择是在该对象中定义和设置一个指向它的引用。因此,例如,孩子可能有一个指向父母的字段。这是您必须自己添加到课程中的内容。