Add concept of GameRoom, check viewing distance based on rooms
This commit is contained in:
@@ -6,6 +6,7 @@ import Dodge.LevelGen.StaticWalls
|
||||
--import Dodge.LevelGen.Data
|
||||
import Dodge.Base
|
||||
import Dodge.Base.Zone
|
||||
import Dodge.GameRoom
|
||||
--import Dodge.RandomHelp
|
||||
import Dodge.Graph
|
||||
import Dodge.Layout.Tree.Polymorphic (applyToRoot)
|
||||
@@ -41,6 +42,7 @@ generateLevelFromRoomList gr w = updateWallZoning
|
||||
-- . addRoomLinkDecorations rs
|
||||
$ w { _walls = wallsFromRooms rs
|
||||
, _floorTiles = floorsFromRooms rs
|
||||
, _gameRooms = gameRoomsFromRooms rs
|
||||
}
|
||||
where
|
||||
plmnts = concatMap _rmPS rs
|
||||
@@ -123,6 +125,15 @@ wallsFromRooms =
|
||||
where
|
||||
f i (x,y) = defaultWall {_wlLine = (x,y) , _wlID = i}
|
||||
|
||||
gameRoomsFromRooms :: [Room] -> [GameRoom]
|
||||
gameRoomsFromRooms = map f
|
||||
where
|
||||
f rm = GameRoom
|
||||
{ _grViewpoints = (map fst . foldl' (flip cutWalls) [] $ _rmPolys rm)
|
||||
++ map fst (_rmLinks rm)
|
||||
, _grBound = expandPolyByFixed 100 $ convexHullSafe $ concat $ _rmBound rm ++ _rmPolys rm
|
||||
}
|
||||
|
||||
floorsFromRooms :: [Room] -> [(Point3,Point3)]
|
||||
floorsFromRooms = concatMap (concatMap tToRender . _rmFloor)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user