def unregister(cls):
"""
Called from the top-level :func:`robot_designer_plugin.unregister` function in the ``__init__.py`` of the
plugin.
Removes all data collected during import.
"""
report = ['\n']
try:
for class_ in cls._registered_classes:
bpy.utils.unregister_class(class_)
report.append("\t- class {0:35} in {1:40}".format(class_.__name__,
"/".join(class_.__module__.split('.')[1:])))
for prop, extends in cls._registered_properties:
bpy.utils.unregister_class(prop)
if extends in (bpy.types.Object, bpy.types.Scene, bpy.types.Bone):
delattr(extends, "RobotEditor")
for prop in cls._registered_bools:
delattr(bpy.types.Scene, prop)
core_logger.info("\n".join(report))
if cls._bl_icons_dict:
bpy.utils.previews.remove(cls._bl_icons_dict)
except Exception as e:
report.append("Error occured during clean up. You should restart blender!")
core_logger.info("\n".join(report) + '\n')
core_logger.error(EXCEPTION_MESSAGE,
type(e).__name__, e, log_callstack(), log_callstack(back_trace=True))
cls._registered_classes.clear()
cls._property_groups_to_register.clear()
cls._registered_bools.clear()
pluginmanager.py 文件源码
python
阅读 30
收藏 0
点赞 0
评论 0
评论列表
文章目录