30 lines
622 B
Haskell
30 lines
622 B
Haskell
module Dodge.Item.Weapon.Shell
|
|
( decTimMvVel
|
|
)
|
|
where
|
|
import Dodge.Data
|
|
import Geometry.Vector
|
|
|
|
import Control.Lens
|
|
decTimMvVel :: Prop -> World -> World
|
|
decTimMvVel pj = props . ix pjid %~
|
|
( (pjTimer -~ 1)
|
|
. (pjPos %~ (+.+ vel) )
|
|
. (pjAcc %~ rotateV rot )
|
|
)
|
|
where
|
|
rot = _pjSpin pj
|
|
vel = _pjVel pj
|
|
pjid = _pjID pj
|
|
|
|
--pjAutoSpin :: Projectile -> World -> World
|
|
--pjAutoSpin pj = projectiles . ix pjid %~
|
|
-- ( (pjDir -~ 1)
|
|
-- . (pjPos %~ (+.+ vel) )
|
|
-- . (pjAcc %~ rotateV rot )
|
|
-- )
|
|
-- where
|
|
-- rot = _pjSpin pj
|
|
-- vel = _pjVel pj
|
|
-- pjid = _pjID pj
|