使用C#/Unity3D将值从子级发送到父级?

使用C#/Unity3D将值从子级发送到父级?,c#,unity3d,inheritance,polymorphism,C#,Unity3d,Inheritance,Polymorphism,我正在将数据从孩子发送到家长,然后计算行走路径。当我发送数据时,它通过FindPath函数运行并返回一个值列表。 但是,当更新运行时,WalkTo再次设置为0。为什么没有保存新数据 我已经验证了WalkTo没有在两个函数之间的任何位置重置为0 public class ParentClass : MonoBehaviour { List<Location> WalkTo; void Start(){ WalkTo = new List<Loca

我正在将数据从孩子发送到家长,然后计算行走路径。当我发送数据时,它通过FindPath函数运行并返回一个值列表。 但是,当更新运行时,WalkTo再次设置为0。为什么没有保存新数据

我已经验证了WalkTo没有在两个函数之间的任何位置重置为0

public class ParentClass : MonoBehaviour
{
    List<Location> WalkTo;

    void Start(){
        WalkTo = new List<Location>();
    }

    public void SetWalk(Vector2 end)
    {
        WalkTo = tools.FindPath(transform.localPosition, end);        
    }

    void Update()
    {
        if (WalkTo.Count > 0)
        {
            //run walking path
            WalkPath();
        }
    }
}

public class ChildClass : ParentClass
{
    void GoHome()
    {        
        SetWalk(cData.HouseLoc)
    }
}
公共类父类:单行为
{
列出WalkTo;
void Start(){
WalkTo=新列表();
}
公共空间设置通道(矢量2端)
{
WalkTo=tools.FindPath(transform.localPosition,end);
}
无效更新()
{
如果(WalkTo.Count>0)
{
//跑步道
步道();
}
}
}
公共类子类:父类
{
void GoHome()
{        
赛特沃克(cData.HouseLoc)
}
}

对SetWalk的子调用将目标点发送到父类。在函数内部,它使用FindPath计算从对象起点到目标的行走路径。它返回要漫游的路径的点列表,并将它们放入WalkTo中。然后对象应该遍历路径。

这不足以重现问题。另外,
public void SetWalk(Vector2 end,Blocks)
是一个语法错误。在完成场景后,您作为参数传递给
SetWalk
方法的
walkToLoc
Blocks
是什么,它们来自何处。还可以共享
tools.FindPath
methoddefinition.ChildClass继承自ParentClass。如果您实例化ChildClass。。它具有ParentClass的函数和属性。你不会试图在ParentClass或类似的东西上访问它们。您可以通过查看ChildClass来访问它们。您认为您要将数据发送到哪里?你是如何阅读它的,看看它是否保持不变?我更新了这个问题,希望它能澄清一些问题。我让更新“侦听”值WalkTo以使其具有内容,然后运行函数将对象移动到保存在WalkTo中的路径上。当SetWalk函数完成时,它已将新路径加载到WalkTo中。但是一旦我到达更新,它就不再有这些信息了。那么
工具
从何而来?注意:您不向父类“发送”任何内容“。。。您的
ChildClass
本身就是一个
ParentClass
。。。它继承您的
父类可以执行的任何操作,因此应该没有区别。但是,您的代码仍然不完整。。。发布您的实际代码怎么样?;)