Allow for custom reloading sounds

This commit is contained in:
2022-06-21 22:21:18 +01:00
parent 53c8be0679
commit 029b6daf8e
25 changed files with 339 additions and 219 deletions
+18
View File
@@ -0,0 +1,18 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE StrictData #-}
module Dodge.Data.LoadAction where
import Sound.Data
import Dodge.Item.Data
import Control.Lens
data LoadAction
= Eject {_actionTime :: Int, _actionSound :: SoundID}
| Insert {_actionTime :: Int, _actionSound :: SoundID, _insertMax :: Maybe Int }
| Prime {_actionTime :: Int, _actionSound :: SoundID}
deriving (Eq,Ord,Show)
data InvSel = InvSel {_iselPos :: Int, _iselAction :: InvSelAction }
data InvSelAction
= NoInvSelAction
| ReloadAction { _actionProgress :: Int, _reloadAction :: LoadAction, _actionHammer :: HammerType}
makeLenses ''LoadAction
makeLenses ''InvSel
makeLenses ''InvSelAction