1@startuml 2hide empty members 3set namespaceSeparator none 4class ExternalTextureSource { 5+ setParameter() 6} 7class ExternalTextureSourceManager { 8+ setExternalTextureSource() 9+ setCurrentPlugin() 10} 11ExternalTextureSource -up-o ExternalTextureSourceManager 12class ScriptTranslator { 13 * Set "video" plugin active 14 * Parse & Set parameters 15 * Create Texture 16} 17class Plugin_ffmpegVideoSystem { 18+ dllStartPlugin() 19} 20object Plugins.cfg { 21 Plugin=Plugin_ffmpegVideoSystem 22 Plugin=.. 23 Plugin=.. 24} 25Plugins.cfg -- Plugin_ffmpegVideoSystem 26Plugin_ffmpegVideoSystem -down-> ExternalTextureSourceManager 27ScriptTranslator -down-> ExternalTextureSourceManager 28 29object "Sample Material Script" as material { 30pass 31{ 32\tfilename test.mpeg 33\tplay_mode play 34\tsound_mode on 35} 36} 37material -- ScriptTranslator 38 39@enduml 40 41