public bool TryGetBlacklistPosition(int mapId, Vector3 position, float maxRadius, out IEnumerable <Vector3> nodes) { if (BlacklistNodes.ContainsKey(mapId)) { nodes = BlacklistNodes[mapId].Where(e => e.GetDistance(position) < maxRadius); return(nodes.Any()); } nodes = null; return(false); }
public void CacheBlacklistPosition(int mapId, Vector3 node) { if (!TryGetBlacklistPosition(mapId, node, 8, out _)) { if (!BlacklistNodes.ContainsKey(mapId)) { BlacklistNodes.TryAdd(mapId, new List <Vector3>() { node }); } else if (!BlacklistNodes[mapId].Contains(node)) { BlacklistNodes[mapId].Add(node); } } }