--[[
	Breaks the window, visually modifying it, and breaching associate room if not already
]]

function Window:breach()
	self._state = Constants.State.Window.Breached

	local glass = self._model:FindFirstChild("Glass")
	glass.CanCollide = false
	glass.Material = Enum.Material.ForceField
	glass.Color = Color3.fromRGB(252, 0, 0)

	spawn(
		function()
			while self:_isBreached() do
				glass.Transparency = 1

				wait(1)

				glass.Transparency = 0

				wait(1)
			end
		end
	)

	local room = self._associatedRoom

	if not room:isBreached() then
		room:breachRoom(self._model.Glass)
	end

	CreateWindowMarker:FireAllClients(glass)
end
