Separate out concrete part of world
This commit is contained in:
@@ -9,7 +9,7 @@ import Data.Maybe
|
||||
import qualified IntMapHelp as IM
|
||||
|
||||
aRadarPulse :: Object -> Creature -> World -> World
|
||||
aRadarPulse ob cr = radarSweeps .:~ RadarSweep
|
||||
aRadarPulse ob cr = cWorld . radarSweeps .:~ RadarSweep
|
||||
{ _rsTimer = 100
|
||||
, _rsRad = 0
|
||||
, _rsPos = _crPos cr
|
||||
@@ -29,7 +29,7 @@ updateRadarSweep w pt
|
||||
blipsF = findBlips ob
|
||||
bf = makeBlip ob
|
||||
x = _rsTimer pt
|
||||
putBlips = radarBlips .++~ blips
|
||||
putBlips = cWorld . radarBlips .++~ blips
|
||||
blips = map bf circPoints
|
||||
circPoints = blipsF p r w
|
||||
r = fromIntegral (400 - x*4)
|
||||
@@ -58,13 +58,13 @@ blipAt r col i p = RadarBlip
|
||||
}
|
||||
|
||||
crBlips :: Point2 -> Float -> World -> [Point2]
|
||||
crBlips p r = IM.elems . IM.filter f . fmap _crPos . IM.filter g . _creatures
|
||||
crBlips p r = IM.elems . IM.filter f . fmap _crPos . IM.filter g . _creatures . _cWorld
|
||||
where
|
||||
f q = dist p q <= r && dist p q > r - 100
|
||||
g cr = _crID cr /= 0
|
||||
|
||||
itemBlips :: Point2 -> Float -> World -> [Point2]
|
||||
itemBlips p r = IM.elems . IM.filter f . fmap _flItPos . _floorItems
|
||||
itemBlips p r = IM.elems . IM.filter f . fmap _flItPos . _floorItems . _cWorld
|
||||
where
|
||||
f q = dist p q <= r && dist p q > r - 4
|
||||
|
||||
|
||||
Reference in New Issue
Block a user