Files
SpaceBots/.svn/pristine/3f/3f6d3f3d1498d634c2a05d9bf9d9395f7ea00701.svn-base
2026-01-21 23:51:53 +01:00

35 lines
1.0 KiB
Plaintext

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