22 lines
643 B
Haskell
22 lines
643 B
Haskell
module Dodge.WorldEvent.Sound (
|
|
soundOriginIDsAt,
|
|
soundOriginsIDsAt,
|
|
) where
|
|
|
|
import Control.Lens
|
|
import Dodge.Data.World
|
|
import Dodge.SoundLogic
|
|
import Geometry.Data
|
|
import RandomHelp
|
|
import Sound.Data
|
|
|
|
soundOriginsIDsAt :: [SoundOrigin] -> [SoundID] -> Point2 -> World -> World
|
|
soundOriginsIDsAt sos sids p w = soundMultiFrom sos p sid Nothing $ set randGen g w
|
|
where
|
|
(sid, g) = _randGen w & runState (takeOne sids)
|
|
|
|
soundOriginIDsAt :: SoundOrigin -> [SoundID] -> Point2 -> World -> World
|
|
soundOriginIDsAt so sids p w = soundStart so p sid Nothing $ set randGen g w
|
|
where
|
|
(sid, g) = _randGen w & runState (takeOne sids)
|