Unity3d 更新方法不适用于';t调用代理的移动

Unity3d 更新方法不适用于';t调用代理的移动,unity3d,unity5,Unity3d,Unity5,我正在创建一个代理来玩游戏。我使用A*算法来确定代理应该采取的路径,并将这些网格位置转换为移动。现在,我试图让代理在更新函数中执行这些移动,但代理只是停留 void Update () { if (currentState == AIStates.Idle) { runSearch (); } if (currentState == AIStates.FollowingPath) {

我正在创建一个代理来玩游戏。我使用A*算法来确定代理应该采取的路径,并将这些网格位置转换为移动。现在,我试图让代理在更新函数中执行这些移动,但代理只是停留

void Update ()
{    
    if (currentState == AIStates.Idle) 
    {
       runSearch ();                
    }
    if (currentState == AIStates.FollowingPath) 
    {
        if (move_index < this.MovesList.Count) 
        {
                if (currentMove == Player.Moves.Null) 
                {
                    currentMove = MovesList [move_index];
                    ExecuteMove (currentMove);    
                }
        }
        //is_followingpath = true;
    }
    if (currentState == AIStates.PathCompleted) 
    {
        currentState = AIStates.FollowingPath;
    }    
}
void更新()
{    
if(currentState==AIStates.Idle)
{
runSearch();
}
if(currentState==AIStates.FollowingPath)
{
if(移动索引

因此,我的更新方法中有类似的内容,我的移动列表只是一个包含MoveLeft、MoveRight等移动的列表,我希望代理执行这些移动。。但是特工却在那里徘徊。。。所有的方法都经过了测试,它们都能正常工作。只是更新方法引起了问题。

试着调试代码,看看代码的执行在哪里受阻。如果
语句阻塞了它,您可能需要更改它。我已经做了所有这些,它到达了
执行移动(currentMove)
?如果是,则显示此方法本身。尝试调试代码以查看代码执行受阻的位置。如果语句阻塞了它,您可能需要更改它。我已经做了所有这些,它到达了
执行移动(currentMove)
?如果是,则显示此方法本身。