# Copyright (c) 2018-2020, NVIDIA CORPORATION.  All rights reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto.  Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.
#
import carb
import omni.ext
from .stage_listener import StageListener


_global_instance = None


class SelectionOutlineExtension(omni.ext.IExt):
    def on_startup(self):
        global _global_instance
        _global_instance = self
        self._stage_listener = StageListener()
        self._stage_listener.start()

    def on_shutdown(self):
        global _global_instance
        _global_instance = None
        self._stage_listener.stop()

    @staticmethod
    def _get_instance():
        global _global_instance
        return _global_instance
