Move towards unifying (your) creature manipulation with selection
This commit is contained in:
+10
-8
@@ -2,6 +2,7 @@
|
||||
|
||||
module Dodge.Item.Draw (itemEquipPict) where
|
||||
|
||||
import Dodge.Data.World
|
||||
import Dodge.Item.Draw.SPicTree
|
||||
import Control.Lens
|
||||
import Dodge.Creature.HandPos
|
||||
@@ -15,13 +16,14 @@ import Geometry.Data
|
||||
import qualified Quaternion as Q
|
||||
import ShapePicture
|
||||
|
||||
itemEquipPict :: Creature -> DTree CItem -> SPic
|
||||
itemEquipPict cr itmtree
|
||||
itemEquipPict :: World -> Creature -> DTree CItem -> SPic
|
||||
itemEquipPict w cr itmtree
|
||||
| Just esite <- itm ^? itLocation . ilEquipSite . _Just
|
||||
, Just attachpos <- equipAttachPos <$> itm ^? itType . ibtEquip =
|
||||
equipPosition esite cr attachpos (itemSPic itm)
|
||||
| itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem =
|
||||
overPosSP (Q.apply $ handHandleOrient loc cr) (itemTreeSPic itmtree)
|
||||
equipPosition esite w cr attachpos (itemSPic itm)
|
||||
| itm ^? itLocation . ilInvID == w ^? hud . manObject . imRootSelectedItem =
|
||||
--revise1 | itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem =
|
||||
overPosSP (Q.apply $ handHandleOrient w loc cr) (itemTreeSPic itmtree)
|
||||
| otherwise = mempty
|
||||
where
|
||||
itm = itmtree ^. dtValue . _1
|
||||
@@ -35,7 +37,7 @@ equipAttachPos = \case
|
||||
BULLETBELTBRACER -> (V3 (-9) 0 10, Q.qid)
|
||||
_ -> (0, Q.qid)
|
||||
|
||||
equipPosition :: EquipSite -> Creature -> Point3Q -> SPic -> SPic
|
||||
equipPosition es cr q =
|
||||
equipPosition :: EquipSite -> World -> Creature -> Point3Q -> SPic -> SPic
|
||||
equipPosition es w cr q =
|
||||
overPosSP
|
||||
(\x -> fst $ equipSitePQ es cr `Q.comp` q `Q.comp` (x, Q.qid))
|
||||
(\x -> fst $ equipSitePQ es w cr `Q.comp` q `Q.comp` (x, Q.qid))
|
||||
|
||||
Reference in New Issue
Block a user