@startuml skinparam backgroundcolor transparent hide empty members set namespaceSeparator none class ExternalTextureSource { + setParameter() } class ExternalTextureSourceManager { + setExternalTextureSource() + setCurrentPlugin() + createDefinedTexture() } ExternalTextureSource -down-o ExternalTextureSourceManager class ScriptTranslator { * Set "video" plugin active * Parse & set parameters * Create Texture } class Plugin_TheoraVideoSystem { + install() } object Plugins.cfg { Plugin=.. Plugin=Plugin_TheoraVideoSystem Plugin=.. } Plugins.cfg -- Plugin_TheoraVideoSystem Plugin_TheoraVideoSystem -down-> ExternalTextureSourceManager ScriptTranslator -down-> ExternalTextureSourceManager object "Sample Material Script" as material { texture_source video { \tfilename test.mpeg \tplay_mode play \tsound_mode on } } material -- ScriptTranslator @enduml