How Do I Code A Mining System With Cam 3D2D?

Don’t worry i’m not asking for a whole lecture or for someone to make me a mining script. All i’m asking is for someone to help me because i’m trying to make a mining system with crafting and HUD and Entities and all of that shit. I just need help creating the 3D2D part so that when you mine a rock you see a box that says mining and shows a loading bar. This is all I have. Please help adjust my shit coding skills. Also, is there any way to add a z axis so I can make it go forward and backward of the prop model?

cl_init.lua:


include("shared.lua")
surface.CreateFont( "TestFont", {
	font = "Arial", -- Use the font-name which is shown to you by your operating system Font Viewer, not the file name
	extended = false,
	size = 65,
	weight = 500,
	blursize = 0,
	scanlines = 0,
	antialias = true,
	underline = false,
	italic = false,
	strikeout = false,
	symbol = false,
	rotary = false,
	shadow = false,
	additive = false,
	outline = false,
} )

function ENT:Draw()

	self:DrawModel()

	local ang = self:GetAngles()

	ang:RotateAroundAxis(self:GetAngles():Right(),90)
	ang:RotateAroundAxis(self:GetAngles():Forward(),90)

	cam.Start3D2D(self:GetPos() , ang , 0.1)

		draw.RoundedBox(5,-150,314,1000-700,1000-925,Color(65,65,65))

		draw.RoundedBox(5,-150+4,314+4,1000-708,1000-933,Color(215,85,80))

		draw.SimpleText("Mining...","TestFont",0,350,Color(240,240,240),1,1)

	cam.End3D2D()

end

init.lua


AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")

include("shared.lua")

function ENT:Initialize()

	self:SetModel("models/hunter/blocks/cube025x025x025.mdl")
	self:PhysicsInit(SOLID_VPHYSICS)
	self:SetMoveType(MOVETYPE_VPHYSICS)
	self:SetSolid(SOLID_VPHYSICS)

	self:SetColor(Color(65,65,65))

	local phys = self:GetPhysicsObject()

	if phys:IsValid() then

		phys:Wake()

	end


end

shared.lua


ENT.Type = "anim"
ENT.Base = "base_gmodentity"

ENT.PrintName = "Cam3D2D Test"

ENT.Spawnable = true

Does it draw anything? If so make a screenshot.