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