Files
loop/src/Dodge/GameRoom.hs
T

31 lines
746 B
Haskell

{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
-- | GameRooms contain information about given positions in the world
module Dodge.GameRoom where
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Geometry
data GameRoom = GameRoom
{ _grViewpoints :: [Point2]
, _grViewpointsEx :: [Point2]
, _grBound :: [Point2]
, _grRmBounds :: [[Point2]]
, -- | gives direction of room
_grDir :: Float
, _grLinkDirs :: [Float]
, _grName :: String
}
deriving (Eq, Ord, Show, Read) --, Generic) --Generic, Flat)
--instance ToJSON GameRoom where
-- toEncoding = genericToEncoding defaultOptions
--
--instance FromJSON GameRoom
makeLenses ''GameRoom
deriveJSON defaultOptions ''GameRoom