package electrosphere.game.server.pathfinding;

import electrosphere.game.server.pathfinding.blocker.NavBlocker;
import electrosphere.game.server.pathfinding.blocker.NavTerrainBlockerCache;
import electrosphere.game.server.pathfinding.navmesh.NavMesh;
import electrosphere.game.server.pathfinding.navmesh.NavShape;
import electrosphere.game.server.pathfinding.path.Waypoint;
import electrosphere.game.server.terrain.manager.ServerTerrainChunk;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.joml.Vector3d;

/**
 *
 * @author satellite
 */
public class NavMeshManager {
    
    List<NavMesh> meshes = new LinkedList();
    Map<ServerTerrainChunk,ChunkMeshList> chunkToMeshListMap = new HashMap();
    NavTerrainBlockerCache blockerCache = new NavTerrainBlockerCache();
    
    public NavMesh createNavMesh(){
        NavMesh rVal = new NavMesh();
        meshes.add(rVal);
        return rVal;
    }
    
    public void addMesh(NavMesh mesh){
        meshes.add(mesh);
    }
    
    public List<NavMesh> getMeshes(){
        return meshes;
    }
    
    public List<NavMesh> navigateMeshToMesh(NavMesh startMesh, NavMesh endMesh){
        List<NavMesh> rVal = null;
        return rVal;
    }
    
    public NavBlocker getNavBlockerForChunk(int x, int y){
        NavBlocker rVal = null;
        return rVal;
    }
    
    public NavTerrainBlockerCache getBlockerCache(){
        return blockerCache;
    }
    
}
