@startuml !include theme.ipuml skinparam Linetype ortho package crepe { class Asset <> class Sound { +Sound(asset) -- +pause() +play() +rewind() -volume : float <<+set>> <<+get>> -looping : bool <<+set>> <<+get>> -- -sample : SoLoud::Wav -handle : SoLoud::handle -- -load(asset) } class SoundContext <> { -instance() : SoundContext& <> -- -SoundContext() -~SoundContext() -- -engine : SoLoud::Soloud } Sound .> SoundContext SoundContext .> Sound Sound .left> Asset } package SoLoud { class Soloud <> class Wav <> } crepe.Sound --> SoLoud.Wav crepe.SoundContext --> SoLoud.Soloud ' LAYOUT crepe -[hidden]down- SoLoud @enduml