local PANEL = {} function PANEL:SetModel(strModelName) if IsValid(self.Entity) then self.Entity:Remove() self.Entity = nil end if not ClientsideModel then return end self.Entity = ClientsideModel(strModelName, RENDER_GROUP_OPAQUE_ENTITY) if not IsValid(self.Entity) then return end self.Entity:SetNoDraw(true) local iSeq = self.Entity:LookupSequence("walk") if iSeq <= 0 then iSeq = self.Entity:LookupSequence("Run1") end if iSeq <= 0 then iSeq = self.Entity:LookupSequence("walk_all") end if iSeq <= 0 then iSeq = self.Entity:LookupSequence("WalkUnarmed_all") end if iSeq <= 0 then iSeq = self.Entity:LookupSequence("walk_all_moderate") end if iSeq > 0 then self.Entity:ResetSequence(iSeq) end end function PANEL:AutoCam() if IsValid(self.Entity) then local mins, maxs = self.Entity:GetRenderBounds() self:SetCamPos(mins:Distance(maxs) * Vector(0.75, 0.75, 0.5)) self:SetLookAt((mins + maxs) / 2) end end vgui.Register("DModelPanelEx", PANEL, "DModelPanel")