示例#1
0
        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);
        }
示例#2
0
 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);
         }
     }
 }