Refactor reloading to use list of required steps
This commit is contained in:
+18
-13
@@ -487,7 +487,8 @@ data ItemConsumption
|
||||
{ _laAmmoType :: AmmoType
|
||||
, _laMax :: Int
|
||||
, _laLoaded :: Int
|
||||
, _laLoadType :: LoadType
|
||||
, _laCycle :: [LoadAction]
|
||||
, _laProgress :: LoadProgress
|
||||
}
|
||||
| ChargeableAmmo
|
||||
{ _wpMaxCharge :: Int
|
||||
@@ -545,19 +546,22 @@ data ItemPortage
|
||||
| WornItem
|
||||
| NoPortage
|
||||
|
||||
data LoadProgress
|
||||
= NoTransfer
|
||||
| Eject {_ejectProgress :: Int}
|
||||
| Insert {_insertProgress :: Int, _insertAmount :: Int }
|
||||
data LoadActionProgress = LoadActionProgress
|
||||
{ _actionProgress :: Int
|
||||
, _actionType :: LoadAction
|
||||
}
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data LoadType
|
||||
= ActiveEject
|
||||
{_ejectTime :: Int, _insertTime :: Int,_loadProgress :: LoadProgress }
|
||||
| ActivePartial
|
||||
{_insertTime :: Int, _loadAmount :: Int, _loadProgress :: LoadProgress }
|
||||
| PassiveReload SoundID
|
||||
deriving Eq
|
||||
data LoadProgress
|
||||
= InProgress { _lastAction :: Maybe LoadAction, _futureActions :: [LoadActionProgress] }
|
||||
| FinishedLoading
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data LoadAction
|
||||
= Eject {_actionTime :: Int}
|
||||
| Insert {_actionTime :: Int, _insertMax :: Maybe Int }
|
||||
| Prime {_actionTime :: Int}
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
-- I believe this is called every frame, not sure when though
|
||||
data ItEffect
|
||||
@@ -1482,7 +1486,8 @@ makeLenses ''ItEffect
|
||||
makeLenses ''FloorItem
|
||||
makeLenses ''ItemConsumption
|
||||
makeLenses ''AmmoType
|
||||
makeLenses ''LoadType
|
||||
makeLenses ''LoadAction
|
||||
makeLenses ''LoadActionProgress
|
||||
makeLenses ''LoadProgress
|
||||
makeLenses ''TweakParam
|
||||
makeLenses ''Prop
|
||||
|
||||
Reference in New Issue
Block a user