Example #1
0
    void ResetMap()
    {
        //先只清空寻路
        if (m_aStar.isInit)
        {
            m_aStar.Clear();
            return;
        }

        //再次点击清空地图设置
        if (m_player != null)
        {
            m_player.state = GridState.Default;
        }
        m_player = null;

        if (m_destination != null)
        {
            m_destination.state = GridState.Default;
        }
        m_destination = null;

        foreach (var grid in m_obstacleDic.Values)
        {
            grid.state = GridState.Default;
        }
        m_obstacleDic.Clear();
    }
 private void UpdatePlayerAStarGrid()
 {
     playerAStar.Clear();
     traversableTiles = new Array <Vector2>(GetUsedCellsById(playerTraversableId)).ToList();
     AddTraversableTilesToAStar(traversableTiles, playerAStar);
     ConnectTraversableTiles(traversableTiles, playerAStar);
     GetNode <Eventing>(Eventing.EventingNodePath)?.EmitSignal(nameof(Eventing.InvalidatePlayerPath));
 }
Example #3
0
 void ClearPath()
 {
     _visited.Clear();
     _aStar.Clear();
     _path.Clear();
 }