Initial commit
This commit is contained in:
34
Maps/MapGenerator/RoomData.gd
Normal file
34
Maps/MapGenerator/RoomData.gd
Normal file
@@ -0,0 +1,34 @@
|
||||
extends Object
|
||||
class_name RoomData
|
||||
|
||||
var rotations: int = 0
|
||||
var doorPositions: Array[DoorPosition]
|
||||
var roomGrid: Array[Array]
|
||||
var roomSceneRef: String
|
||||
|
||||
func _init(roomImage: Image = null, roomSceneReference: String = "") -> void:
|
||||
if !roomImage: return
|
||||
if roomSceneReference == "": return
|
||||
roomSceneRef = roomSceneReference
|
||||
var roomImmageLoader: RoomImageLoader = RoomImageLoader.new()
|
||||
|
||||
roomGrid = roomImmageLoader.loadRoomData(roomImage)
|
||||
|
||||
doorPositions = roomImmageLoader.getDoors(roomGrid)
|
||||
|
||||
roomImmageLoader.free()
|
||||
|
||||
func duplicateRoom() -> RoomData:
|
||||
var returnData: RoomData = RoomData.new()
|
||||
returnData.rotations = rotations
|
||||
for position in doorPositions:
|
||||
returnData.doorPositions.push_back(position.duplicate())
|
||||
for x in roomGrid.size():
|
||||
var array: Array
|
||||
returnData.roomGrid.push_back(array)
|
||||
for y in roomGrid[x].size():
|
||||
returnData.roomGrid[x].push_back(null)
|
||||
returnData.roomGrid[x][y] = roomGrid[x][y].duplicate()
|
||||
returnData.roomGrid = roomGrid.duplicate(true)
|
||||
returnData.roomSceneRef = roomSceneRef
|
||||
return returnData
|
||||
Reference in New Issue
Block a user