Work on inventory management
This commit is contained in:
@@ -38,7 +38,7 @@ moveCamera w = w
|
||||
where
|
||||
aimRangeFactor
|
||||
| _cameraZoom w == 0 = 0
|
||||
| otherwise = fromMaybe 0 (yourItem w ^? itUse . useAim . aimRange) / _cameraZoom w
|
||||
| otherwise = fromMaybe 0 (yourItem w ^? _Just . itUse . useAim . aimRange) / _cameraZoom w
|
||||
aimingMult
|
||||
| SDL.ButtonRight `S.member` _mouseButtons w = 1
|
||||
| otherwise = 0
|
||||
@@ -46,9 +46,9 @@ moveCamera w = w
|
||||
idealPos = camCenter
|
||||
+.+ rotateV (_cameraRot w) (aimRangeFactor * aimingMult *.* _mousePos w)
|
||||
camCenter = ypos +.+ scopeOffset
|
||||
scopeOffset = fromMaybe (V2 0 0) $ yourItem w ^? itAttachment . scopePos
|
||||
scopeOffset = fromMaybe (V2 0 0) $ yourItem w ^? _Just . itAttachment . scopePos
|
||||
sightFrom
|
||||
| fromMaybe False $ yourItem w ^? itAttachment . scopeIsCamera
|
||||
| fromMaybe False $ yourItem w ^? _Just . itAttachment . scopeIsCamera
|
||||
= camCenter
|
||||
| otherwise = ypos
|
||||
|
||||
@@ -159,7 +159,7 @@ autoZoomCamera cfig w = w & cameraZoom %~ changeZoom
|
||||
wallZoom = farWallDist camPos cfig w
|
||||
idealZoom
|
||||
| SDL.ButtonRight `S.member` _mouseButtons w
|
||||
= theScopeZoom * maybe zoomNoItem zoomFromItem (yourItem w ^? itUse . useAim . aimZoom) wallZoom
|
||||
= theScopeZoom * maybe zoomNoItem zoomFromItem (yourItem w ^? _Just . itUse . useAim . aimZoom) wallZoom
|
||||
| otherwise = zoomNoItem wallZoom
|
||||
-- = maybe zoomNoItem zoomFromItem (yourItem w ^? itZoom) wallZoom
|
||||
changeZoom curZoom
|
||||
@@ -169,7 +169,7 @@ autoZoomCamera cfig w = w & cameraZoom %~ changeZoom
|
||||
-- these speeds are inverted, larger means slower
|
||||
zoomInSpeed = 25
|
||||
zoomOutSpeed = 15
|
||||
theScopeZoom = fromMaybe 1 $ yourItem w ^? itAttachment . scopeZoom
|
||||
theScopeZoom = fromMaybe 1 $ yourItem w ^? _Just . itAttachment . scopeZoom
|
||||
|
||||
farWallDist :: Point2 -> Configuration -> World -> Float
|
||||
farWallDist p cfig w = (winFac /) . min maxViewDistance $ ssfold (> maxViewDistance) findMax 1 vps
|
||||
|
||||
Reference in New Issue
Block a user