local function N(N)if N then local C={}for D=0,270,90 do table.insert(C,ObjectType.new(N,D,0))if N then local Z=N:WaitForChild("\079\098\106\101\099\116\084\121\112\101")if Z and Z:IsA("\083\116\114\105\110\103\086\097\108\117\101")then local j=Z.Value if BitOps.getVerticalFaceFromOccupancy(ObjectTypeConfigurations[j].OCCUPANCY)then table.insert(C,ObjectType.new(N,D,180))end end end end return C else error("\067\097\110\110\111\116 \099\114\101\097\116\101 \097 \103\114\105\100 \111\098\106\101\099\116 \102\114\111\109 \110\105\108 \105\110\115\116\097\110\099\101")end end return N
-- TODO: Include and support inverted walls
local function createObjectTypesFromAsset(asset)
	if asset then
		local newObjectTypes = {}
		for rotation = 0, 270, 90 do
			table.insert(newObjectTypes, ObjectType.new(asset, rotation, 0))
			if asset then
				local typeConfig = asset:WaitForChild("ObjectType")
				if typeConfig and typeConfig:IsA("StringValue") then
					local type = typeConfig.Value
					if BitOps.getVerticalFaceFromOccupancy(ObjectTypeConfigurations[type].OCCUPANCY) then
						table.insert(newObjectTypes, ObjectType.new(asset, rotation, 180))
					end
				end
			end
		end

		return newObjectTypes
	else
		error("Cannot create a grid object from nil instance")
	end
end

return createObjectTypesFromAsset
