protected override void HandleDataChanged()
        {
            base.HandleDataChanged();

            MixCastData.IsolationMode newMode = MixCastData.IsolationMode.None;
            if (context.Data != null)
            {
                newMode = context.Data.isolationMode;
            }

            foreach (Transform child in transform)
            {
                child.gameObject.SetActive(false);
            }

            foreach (Transform child in transform)
            {
                if (child.gameObject.name == newMode.ToString())
                {
                    child.gameObject.SetActive(true);
                }
            }

            lastMode = newMode;
        }
        bool IsModeActive(MixCastData.IsolationMode mode)
        {
            switch (mode)
            {
            case MixCastData.IsolationMode.StaticSubtraction:
                return(context.Data.staticSubtractionData.active);

            case MixCastData.IsolationMode.Chromakey:
                return(context.Data.chromakeying.active);

            case MixCastData.IsolationMode.StaticDepth:
                return(context.Data.staticDepthData.active);

            default:
                return(false);
            }
        }