private void CreateManagedComponent() { switch (_senderTechnique) { case SenderTechniques.SenderTechniqueEnum.OpenGLSyphon: ComponentManager.AddManagedComponent <OpenGLCoreSyphon>(gameObject, handleCreatedManagedComponent); break; case SenderTechniques.SenderTechniqueEnum.MetalSyphon: ComponentManager.AddManagedComponent <MetalSyphon>(gameObject, handleCreatedManagedComponent); break; case SenderTechniques.SenderTechniqueEnum.Spout: ComponentManager.AddManagedComponent <SpoutSender>(gameObject, handleCreatedManagedComponent); break; case SenderTechniques.SenderTechniqueEnum.NDI: ComponentManager.AddManagedComponent <NdiSender>(gameObject, handleCreatedManagedComponent); break; default: Debug.LogError("Unexpected value of sender type"); break; } // Avoid side effects of components being enabled while this component is disabled if (!enabled) { ComponentManager.DisableManagedComponent <OpenGLCoreSyphon>(gameObject); ComponentManager.DisableManagedComponent <MetalSyphon>(gameObject); ComponentManager.DisableManagedComponent <NdiSender>(gameObject); ComponentManager.DisableManagedComponent <SpoutSender>(gameObject); } }
void OnDisable() { ComponentManager.DisableManagedComponent <OpenGLCoreSyphon>(gameObject); ComponentManager.DisableManagedComponent <MetalSyphon>(gameObject); ComponentManager.DisableManagedComponent <NdiSender>(gameObject); ComponentManager.DisableManagedComponent <SpoutSender>(gameObject); }