23 lines
528 B
Haskell
23 lines
528 B
Haskell
{-# LANGUAGE DeriveGeneric #-}
|
|
{-# LANGUAGE DeriveAnyClass #-}
|
|
{-# LANGUAGE StrictData #-}
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
module Dodge.Data.Item.Location where
|
|
|
|
import Flat
|
|
import Control.Lens
|
|
import Data.Aeson
|
|
import Data.Aeson.TH
|
|
import TH.Derive
|
|
import Data.Store
|
|
|
|
data ItemLocation
|
|
= InInv {_ipCrID :: Int, _ipInvID :: Int}
|
|
| OnTurret {_ipTuID :: Int}
|
|
| OnFloor {_ipFlID :: Int}
|
|
| InVoid
|
|
deriving (Eq, Show, Read, Ord, Generic, Flat)
|
|
|
|
makeLenses ''ItemLocation
|
|
deriveJSON defaultOptions ''ItemLocation
|