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); //如果的确新增了节点,则直接移除该节点 } }