Implement targeting launcher shells using separate item

This commit is contained in:
2024-09-29 16:24:26 +01:00
parent 7d72fa3c5d
commit 88c3e02459
36 changed files with 747 additions and 610 deletions
+10 -10
View File
@@ -18,17 +18,17 @@ import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Data.Graph.Inductive
import Data.Map.Strict (Map)
--import Data.Map.Strict (Map)
import qualified Data.Set as Set
import Geometry.Data
data PathGraph = PathGraph
{ _pgGraph :: Gr Point2 PathEdge
, _pgNodeMap :: Map Point2 Int
, _pgNodeCount :: Int
, _pgEdgeMap :: Map (V2 Point2) PathEdgeNodes
}
deriving (Eq, Show, Read) --, Generic)
--data PathGraph = PathGraph
-- { _pgGraph :: Gr Point2 PathEdge
-- , _pgNodeMap :: Map Point2 Int
-- , _pgNodeCount :: Int
-- , _pgEdgeMap :: Map (V2 Point2) PathEdgeNodes
-- }
-- deriving (Eq, Show, Read) --, Generic)
data PathEdgeNodes = PathEdgeNodes
{ _penStart :: Int
@@ -59,11 +59,11 @@ data EdgeObstacle
--deriving instance (Flat (Gr Point2 PathEdge))
makeLenses ''PathGraph
--makeLenses ''PathGraph
makeLenses ''PathEdge
makeLenses ''PathEdgeNodes
deriveJSON defaultOptions ''EdgeObstacle
deriveJSON defaultOptions ''PathEdge
deriveJSON defaultOptions ''PathEdgeNodes
deriveJSON defaultOptions ''Gr
deriveJSON defaultOptions ''PathGraph
--deriveJSON defaultOptions ''PathGraph