Ejemplo n.º 1
0
 public void RemoveAbstractNode(HierarchicalMap map, Id <AbstractNode> nodeId)
 {
     if (nodeBackups.ContainsKey(nodeId))
     {
         RestoreNodeBackup(map, nodeId);
     }
     else
     {
         map.RemoveAbstractNode(nodeId);
     }
 }
    /// <summary>
    /// 移除寻路时新增的抽象节点
    /// </summary>
    public void RemoveAbstractNode(HierarchicalMap map, int nodeId)
    {
        NodeBackup backup;

        if (m_backupDict.TryGetValue(nodeId, out backup))
        {
            RestoreNodeBackup(map, nodeId, backup); //如果寻路时新增的节点在图中原本就存在,则重置相关数据
        }
        else
        {
            map.RemoveAbstractNode(nodeId); //如果的确新增了节点,则直接移除该节点
        }
    }