local I={}I.__index=I local O={}function O.__call(O,...)return I.new(...)end setmetatable(I,O)function I.new()return setmetatable({},I)end function I.CharacterAdded(I,O,o) end function I.CharacterRemoving(I,O,o) end function I.OnCameraSubjectChanged(I,O) end function I.GetOcclusionMode(I)warn("\066\097\115\101\079\099\099\108\117\115\105\111\110 \071\101\116\079\099\099\108\117\115\105\111\110\077\111\100\101 \109\117\115\116 \098\101 \111\118\101\114\114\105\100\100\101\110 \098\121 \100\101\114\105\118\101\100 \099\108\097\115\115\101\115")return nil end function I.Enable(I,O)warn("\066\097\115\101\079\099\099\108\117\115\105\111\110 \069\110\097\098\108\101 \109\117\115\116 \098\101 \111\118\101\114\114\105\100\100\101\110 \098\121 \100\101\114\105\118\101\100 \099\108\097\115\115\101\115")end function I.Update(I,O,o,v)warn("\066\097\115\101\079\099\099\108\117\115\105\111\110 \085\112\100\097\116\101 \109\117\115\116 \098\101 \111\118\101\114\114\105\100\100\101\110 \098\121 \100\101\114\105\118\101\100 \099\108\097\115\115\101\115")return o,v end return I


local v1 = {};
v1.__index = v1;
local v2 = {};
function v2.__call(p1, ...)
	return v1.new(...);
end;
setmetatable(v1, v2);
function v1.new()
	return setmetatable({}, v1);
end;
function v1.CharacterAdded(p2, p3, p4)

end;
function v1.CharacterRemoving(p5, p6, p7)

end;
function v1.OnCameraSubjectChanged(p8, p9)

end;
function v1.GetOcclusionMode(p10)
	warn("BaseOcclusion GetOcclusionMode must be overridden by derived classes");
	return nil;
end;
function v1.Enable(p11, p12)
	warn("BaseOcclusion Enable must be overridden by derived classes");
end;
function v1.Update(p13, p14, p15, p16)
	warn("BaseOcclusion Update must be overridden by derived classes");
	return p15, p16;
end;
return v1;
