Increase zone searching size for initial/end node in pathing
This commit is contained in:
+11
-1
@@ -12,6 +12,8 @@ module Dodge.Path (
|
|||||||
snapToGrid,
|
snapToGrid,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
|
import Linear
|
||||||
|
import Data.List (sortOn)
|
||||||
import Data.Set (Set)
|
import Data.Set (Set)
|
||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
@@ -49,7 +51,15 @@ walkableNodeNear :: World -> Point2 -> Maybe Int
|
|||||||
{-# INLINE walkableNodeNear #-}
|
{-# INLINE walkableNodeNear #-}
|
||||||
walkableNodeNear w p = fmap fst . find (flip (isWalkable p) w . snd) $ nodesNear
|
walkableNodeNear w p = fmap fst . find (flip (isWalkable p) w . snd) $ nodesNear
|
||||||
where
|
where
|
||||||
nodesNear = zonesExtract (w ^. pnZoning) $ zonesAroundPoint pnZoneSize p
|
--nodesNear = zonesExtract (w ^. pnZoning) $ zonesAroundPoint pnZoneSize p
|
||||||
|
nodesNear = zonesExtract (w ^. pnZoning) . snailAround $ zoneOfPoint pnZoneSize p
|
||||||
|
|
||||||
|
snailAround :: Int2 -> [Int2]
|
||||||
|
snailAround x = fmap (x+) $ smallSnailInt2
|
||||||
|
|
||||||
|
smallSnailInt2 :: [Int2]
|
||||||
|
smallSnailInt2 = sortOn (distance (V2 0 (0::Float)) . fmap fromIntegral)
|
||||||
|
[V2 x y | x <-[-2..2], y <-[-2..2]]
|
||||||
|
|
||||||
makePathBetweenPs :: Point2 -> Point2 -> World -> Maybe [Point2]
|
makePathBetweenPs :: Point2 -> Point2 -> World -> Maybe [Point2]
|
||||||
makePathBetweenPs a b w = mapMaybe (lab $ w ^. cWorld . pathGraph) <$> makePathBetween a b w
|
makePathBetweenPs a b w = mapMaybe (lab $ w ^. cWorld . pathGraph) <$> makePathBetween a b w
|
||||||
|
|||||||
@@ -247,8 +247,8 @@ tutHub = do
|
|||||||
. (rmInPmnt .:~ (0, a))
|
. (rmInPmnt .:~ (0, a))
|
||||||
. addDoorAtNthLinkToggleTerminal 1 ss j
|
. addDoorAtNthLinkToggleTerminal 1 ss j
|
||||||
=<< roomNgon 6 100
|
=<< roomNgon 6 100
|
||||||
--bcor <- treeAttachDeep (return door) <$> blockedCorridor
|
bcor <- treeAttachDeep (return door) <$> blockedCorridor
|
||||||
bcor <- treeAttachDeep (return door) <$> return (return $ cleatOnward door)
|
--bcor <- treeAttachDeep (return door) <$> return (return $ cleatOnward door)
|
||||||
r1 <- r burstRifle <&> rmPmnts .:~ t
|
r1 <- r burstRifle <&> rmPmnts .:~ t
|
||||||
r2 <- r (drumMag & itConsumables ?~ 90)
|
r2 <- r (drumMag & itConsumables ?~ 90)
|
||||||
--r2 <- r (tinMag & itConsumables ?~ 500)
|
--r2 <- r (tinMag & itConsumables ?~ 500)
|
||||||
|
|||||||
Reference in New Issue
Block a user