Start targeting refactor

This commit is contained in:
2022-07-20 22:54:05 +01:00
parent 866196ab3e
commit a89b0c784f
4 changed files with 39 additions and 27 deletions
+29
View File
@@ -1,4 +1,32 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE StrictData #-}
module Dodge.Data.ItEffect where
import Control.Lens
-- I believe this is called every frame, not sure when though
data ItEffect
= NoItEffect
| ItInvEffect
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
,_ieCounter :: Int
}
| ItRewindEffect
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
-- ,_ieStoredWorlds :: [World]
}
| ItEffect
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
,_ieFloor :: ItFloorEffect --Int -> World -> World
,_ieCounter :: Int
}
| ItInvEffectID
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
,_ieMID :: Maybe Int
} -- the duplication of ieMID may cause errors...
| ItInvEffectDrop
{ _ieInv :: ItInvEffect --Item -> Creature -> World -> World
, _ieDrop :: ItDropEffect --Item -> Creature -> World -> World
, _ieMID :: Maybe Int
}
data ItInvEffect = NoInvEffect
| RewindEffect
@@ -9,3 +37,4 @@ data ItInvEffect = NoInvEffect
| RemoveShieldWall
data ItFloorEffect = NoFloorEffect
data ItDropEffect = NoDropEffect
makeLenses ''ItEffect
+7
View File
@@ -0,0 +1,7 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE StrictData #-}
module Dodge.Data.Targeting where
data TargetUpdate = NoTargeting
data TargetDraw = SquareTarget