Cleanup
This commit is contained in:
@@ -55,7 +55,7 @@ followImpulse cr w imp = case imp of
|
||||
( hitCr cid'
|
||||
, crMvAbsolute (10 *.* normalizeV (posFromID cid' -.- cpos)) $ cr & crMeleeCooldown .~ 20
|
||||
)
|
||||
RandomTurn a -> (randGen .~ snd (rr a), cr & crDir +~ (fst $ rr a))
|
||||
RandomTurn a -> (randGen .~ snd (rr a), cr & crDir +~ fst (rr a))
|
||||
MakeSound sid -> (soundStart (CrSound (_crID cr)) (_crPos cr) sid Nothing, cr)
|
||||
DropItem -> undefined
|
||||
ChangeStrategy strat -> crup $ cr & crActionPlan . apStrategy .~ strat
|
||||
|
||||
+78
-62
@@ -29,6 +29,13 @@ fixedCoordPictures u =
|
||||
<> displayFrameTicks u
|
||||
<> aimDelaySweep (u ^. uvWorld)
|
||||
<> drawMouseCursor u
|
||||
<> ( toTopLeft cfig . translate (1.3 * halfWidth cfig) 0
|
||||
. drawList
|
||||
. take 50
|
||||
. drop (u ^. uvDebugMessageOffset)
|
||||
. map text
|
||||
$ foldMap (`_debugMessage` u) (_uvDebug u) -- other debug pics in extraPics
|
||||
)
|
||||
where
|
||||
cfig = _uvConfig u
|
||||
hw = halfWidth cfig
|
||||
@@ -80,30 +87,30 @@ mouseCursorType :: Universe -> Picture
|
||||
mouseCursorType u = case u ^. uvWorld . input . mouseContext of
|
||||
NoMouseContext -> drawEmptySet 5
|
||||
MouseAiming -> rotate a (drawPlus 5)
|
||||
MouseMenuClick {} -> drawMenuClick 5
|
||||
MouseMenuClick{} -> drawMenuClick 5
|
||||
MouseMenuCursor -> drawMenuCursor 5
|
||||
MouseInGame -> drawPlus 5
|
||||
OverInvDrag 0 (Just (3,_)) _ _ -> drawDragDrop 5
|
||||
OverInvDrag 0 (Just (3, _)) _ _ -> drawDragDrop 5
|
||||
OverInvDrag 0 Nothing _ _ -> drawDragDrop 5
|
||||
OverInvDrag 0 (Just (0,_)) _ _ -> drawDrag 5
|
||||
OverInvDrag 0 (Just (0, _)) _ _ -> drawDrag 5
|
||||
OverInvDrag 0 _ _ _ -> drawEmptySet 5
|
||||
OverInvDrag 3 (Just (3,_)) _ _ -> drawDrag 5
|
||||
OverInvDrag 3 (Just (0,_)) _ _ -> drawDragPickup 5
|
||||
OverInvDrag 3 (Just (1,_)) _ _ -> drawDragPickup 5
|
||||
OverInvDrag 3 (Just (3, _)) _ _ -> drawDrag 5
|
||||
OverInvDrag 3 (Just (0, _)) _ _ -> drawDragPickup 5
|
||||
OverInvDrag 3 (Just (1, _)) _ _ -> drawDragPickup 5
|
||||
OverInvDrag 3 Nothing _ _ -> drawDragPickup 5
|
||||
OverInvDrag 3 _ _ _ -> drawEmptySet 5
|
||||
OverInvDrag {} -> drawEmptySet 5
|
||||
OverInvDragSelect {} -> drawDragSelect 5
|
||||
OverInvSelect (-1,_) | selsec == Just (-1) -> drawJumpDown 5
|
||||
OverInvSelect (2,_) | selsec == Just 2-> drawJumpDown 5
|
||||
OverInvSelect {} -> drawSelect 5
|
||||
OverCombFiltInv {} -> drawCombFilter 5
|
||||
OverCombSelect {} -> drawSelect 5
|
||||
OverCombFilter {} -> drawJumpDown 5
|
||||
OverCombCombine {} -> drawGapPlus 5
|
||||
OverCombEscape -> rotate (pi/4) $ drawPlus 5
|
||||
OverTerminalReturn {} -> drawReturn 5
|
||||
OverTerminalEscape -> rotate (pi/4) $ drawPlus 5
|
||||
OverInvDrag{} -> drawEmptySet 5
|
||||
OverInvDragSelect{} -> drawDragSelect 5
|
||||
OverInvSelect (-1, _) | selsec == Just (-1) -> drawJumpDown 5
|
||||
OverInvSelect (2, _) | selsec == Just 2 -> drawJumpDown 5
|
||||
OverInvSelect{} -> drawSelect 5
|
||||
OverCombFiltInv{} -> drawCombFilter 5
|
||||
OverCombSelect{} -> drawSelect 5
|
||||
OverCombFilter{} -> drawJumpDown 5
|
||||
OverCombCombine{} -> drawGapPlus 5
|
||||
OverCombEscape -> rotate (pi / 4) $ drawPlus 5
|
||||
OverTerminalReturn{} -> drawReturn 5
|
||||
OverTerminalEscape -> rotate (pi / 4) $ drawPlus 5
|
||||
where
|
||||
w = u ^. uvWorld
|
||||
selsec = u ^? uvWorld . hud . hudElement . diSelection . _Just . _1
|
||||
@@ -114,32 +121,36 @@ mouseCursorType u = case u ^. uvWorld . input . mouseContext of
|
||||
- w ^. wCam . camRot
|
||||
|
||||
drawEmptySet :: Float -> Picture
|
||||
drawEmptySet x = fold
|
||||
[line [V2 x x,V2 (-x) (-x)]
|
||||
,circle x
|
||||
]
|
||||
drawEmptySet x =
|
||||
fold
|
||||
[ line [V2 x x, V2 (- x) (- x)]
|
||||
, circle x
|
||||
]
|
||||
|
||||
drawReturn :: Float -> Picture
|
||||
drawReturn x = fold
|
||||
[line [V2 0 0, V2 y y]
|
||||
,line [V2 0 0, V2 y (-y)]
|
||||
,line [V2 0 0, V2 (2*y) 0]
|
||||
,line [V2 (2*y) 0, V2 (2*y) (2*x)]
|
||||
]
|
||||
drawReturn x =
|
||||
fold
|
||||
[ line [V2 0 0, V2 y y]
|
||||
, line [V2 0 0, V2 y (- y)]
|
||||
, line [V2 0 0, V2 (2 * y) 0]
|
||||
, line [V2 (2 * y) 0, V2 (2 * y) (2 * x)]
|
||||
]
|
||||
where
|
||||
y = 0.7 * x
|
||||
|
||||
--drawReturn = scale 0.1 0.1 . translate (-50) (-100) $ text [toEnum 153]
|
||||
|
||||
drawPlus :: Float -> Picture
|
||||
drawPlus x = fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 x]]
|
||||
|
||||
drawMenuClick :: Float -> Picture
|
||||
drawMenuClick z = fold
|
||||
[ line [V2 y 0, V2 x 0]
|
||||
, line [V2 ny 0, V2 nx 0]
|
||||
, line [V2 0 ny , V2 0 nx]
|
||||
, line [V2 0 y , V2 0 x]
|
||||
]
|
||||
drawMenuClick z =
|
||||
fold
|
||||
[ line [V2 y 0, V2 x 0]
|
||||
, line [V2 ny 0, V2 nx 0]
|
||||
, line [V2 0 ny, V2 0 nx]
|
||||
, line [V2 0 y, V2 0 x]
|
||||
]
|
||||
where
|
||||
x = 0.5 * z
|
||||
y = x + z
|
||||
@@ -147,12 +158,13 @@ drawMenuClick z = fold
|
||||
nx = - x
|
||||
|
||||
drawMenuCursor :: Float -> Picture
|
||||
drawMenuCursor z = fold
|
||||
[ line [V2 y 0, V2 x 0]
|
||||
, line [V2 ny 0, V2 nx 0]
|
||||
, line [V2 0 ny , V2 0 nx]
|
||||
, line [V2 0 y , V2 0 x]
|
||||
]
|
||||
drawMenuCursor z =
|
||||
fold
|
||||
[ line [V2 y 0, V2 x 0]
|
||||
, line [V2 ny 0, V2 nx 0]
|
||||
, line [V2 0 ny, V2 0 nx]
|
||||
, line [V2 0 y, V2 0 x]
|
||||
]
|
||||
where
|
||||
x = z
|
||||
y = x + z
|
||||
@@ -160,37 +172,39 @@ drawMenuCursor z = fold
|
||||
nx = - x
|
||||
|
||||
drawJumpDown :: Float -> Picture
|
||||
drawJumpDown x = rotate (0.25*pi)
|
||||
$ fold [line [V2 0 0, V2 x 0], line [V2 0 0, V2 0 x]]
|
||||
drawJumpDown x =
|
||||
rotate (0.25 * pi) $
|
||||
fold [line [V2 0 0, V2 x 0], line [V2 0 0, V2 0 x]]
|
||||
|
||||
drawDragSelect :: Float -> Picture
|
||||
drawDragSelect x = polygonWire $ rectWH (0.5 * x) x
|
||||
|
||||
drawDrag :: Float -> Picture
|
||||
drawDrag x = line [V2 0 y,V2 0 z]
|
||||
<> line [V2 0 (-y),V2 0 (-z)]
|
||||
<> line [V2 (-w) (z-w), V2 0 z, V2 w (z-w)]
|
||||
<> line [V2 (-w) (w-z), V2 0 (-z), V2 w (w-z)]
|
||||
<> drawSelect 5
|
||||
drawDrag x =
|
||||
line [V2 0 y, V2 0 z]
|
||||
<> line [V2 0 (- y), V2 0 (- z)]
|
||||
<> line [V2 (- w) (z - w), V2 0 z, V2 w (z - w)]
|
||||
<> line [V2 (- w) (w - z), V2 0 (- z), V2 w (w - z)]
|
||||
<> drawSelect 5
|
||||
where
|
||||
z = 1.5 * x
|
||||
y = 0.5 * x
|
||||
w = 0.3 * x
|
||||
|
||||
drawDragDrop :: Float -> Picture
|
||||
drawDragDrop x =
|
||||
line (fmap (+V2 z (-x)) [V2 (-x) x,V2 0 x,V2 0 (-x)])
|
||||
<> line (fmap (+V2 z (-x)) [V2 (-y) (y-x), V2 0 (-x), V2 y (y-x)])
|
||||
<> drawSelect 5
|
||||
drawDragDrop x =
|
||||
line (fmap (+ V2 z (- x)) [V2 (- x) x, V2 0 x, V2 0 (- x)])
|
||||
<> line (fmap (+ V2 z (- x)) [V2 (- y) (y - x), V2 0 (- x), V2 y (y - x)])
|
||||
<> drawSelect 5
|
||||
where
|
||||
z = 1.5 * x
|
||||
y = 0.7 * x
|
||||
|
||||
drawDragPickup :: Float -> Picture
|
||||
drawDragPickup x =
|
||||
line [V2 (-0.5 *x) 0, V2 (-z) 0, V2 (-z) z]
|
||||
<> line [V2 (-(z+y)) (z-y), V2 (-z) z, V2 (y-z) (z-y)]
|
||||
<> drawSelect 5
|
||||
drawDragPickup x =
|
||||
line [V2 (-0.5 * x) 0, V2 (- z) 0, V2 (- z) z]
|
||||
<> line [V2 (- (z + y)) (z - y), V2 (- z) z, V2 (y - z) (z - y)]
|
||||
<> drawSelect 5
|
||||
where
|
||||
z = 1.5 * x
|
||||
y = 0.7 * x
|
||||
@@ -207,18 +221,20 @@ drawDragPickup x =
|
||||
|
||||
drawSelect :: Float -> Picture
|
||||
drawSelect x = polygonWire $ rectWH (0.5 * x) (0.5 * x)
|
||||
|
||||
-- line [V2 (-x) 0, V2 0 0]
|
||||
--drawSelect x = line
|
||||
--drawSelect x = line
|
||||
-- [ V2 x x
|
||||
-- , V2 0 x
|
||||
-- , V2 0 (-x)
|
||||
-- , V2 x (-x)
|
||||
-- ] <>
|
||||
-- ] <>
|
||||
-- line [V2 (-x) 0, V2 0 0]
|
||||
|
||||
drawCombFilter :: Float -> Picture
|
||||
drawCombFilter x = rotate (0.25*pi)
|
||||
$ fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 0]]
|
||||
drawCombFilter x =
|
||||
rotate (0.25 * pi) $
|
||||
fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 0]]
|
||||
|
||||
--drawDoublePlus :: Float -> Picture
|
||||
--drawDoublePlus x = fold [line [V2 (- (1.5*x)) 0, V2 (1.5*x) 0]
|
||||
@@ -238,9 +254,9 @@ drawGapPlus x =
|
||||
aimDelaySweep :: World -> Picture
|
||||
aimDelaySweep w = fold $ do
|
||||
cr <- w ^? cWorld . lWorld . creatures . ix 0
|
||||
-- aimstatus <- cr ^? crStance . posture
|
||||
-- guard (aimstatus == Aiming)
|
||||
Aiming {} <- cr ^? crStance . posture
|
||||
-- aimstatus <- cr ^? crStance . posture
|
||||
-- guard (aimstatus == Aiming)
|
||||
Aiming{} <- cr ^? crStance . posture
|
||||
return $ drawAimSweep cr w
|
||||
|
||||
drawAimSweep :: Creature -> World -> Picture
|
||||
|
||||
@@ -5,13 +5,11 @@ module Dodge.Render.ShapePicture (
|
||||
import Control.Lens
|
||||
import Data.Foldable
|
||||
import Data.Strict.Tuple
|
||||
import Dodge.Base
|
||||
import Dodge.Creature.Picture
|
||||
import Dodge.Data.Universe
|
||||
import Dodge.Debug.Picture
|
||||
import Dodge.Draw
|
||||
import Dodge.RadarBlip
|
||||
import Dodge.Render.List
|
||||
import Dodge.Render.Picture
|
||||
import Geometry
|
||||
import qualified IntMapHelp as IM
|
||||
@@ -99,16 +97,7 @@ extraPics cfig u =
|
||||
<> foldMap ppDraw (_pressPlates lw)
|
||||
<> viewClipBounds cfig w
|
||||
<> debugDraw cfig w
|
||||
<> foldMap (`_debugPic` u) (_uvDebug u)
|
||||
<> setLayer
|
||||
FixedCoordLayer
|
||||
( toTopLeft cfig . translate (1.3 * halfWidth cfig) 0
|
||||
. drawList
|
||||
. take 50
|
||||
. drop (u ^. uvDebugMessageOffset)
|
||||
. map text
|
||||
$ foldMap (`_debugMessage` u) (_uvDebug u)
|
||||
)
|
||||
<> foldMap (`_debugPic` u) (_uvDebug u) -- debug messages are in fixed coord pics
|
||||
where
|
||||
w = u ^. uvWorld
|
||||
lw = w ^. cWorld . lWorld
|
||||
@@ -132,4 +121,3 @@ mcSPic :: LWorld -> Machine -> SPic
|
||||
mcSPic lw mc =
|
||||
uncurryV translateSPxy (_mcPos mc) $
|
||||
rotateSP (_mcDir mc) (drawMachine lw mc)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user