aboutsummaryrefslogtreecommitdiff
path: root/img/facade-audio.puml
blob: 60af60f479028dd3929a8eccedd05cb55c9fb5d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
@startuml
!include theme.ipuml
skinparam Linetype ortho

package crepe {
	class Asset <<irrelevant>>

	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 <<Singleton>> {
		-instance() : SoundContext& <<static>>
		--
		-SoundContext()
		-~SoundContext()
		--
		-engine : SoLoud::Soloud
	}

	Sound .> SoundContext
	SoundContext .> Sound

	Sound .left> Asset
}

package SoLoud {
	class Soloud <<irrelevant>>
	class Wav <<irrelevant>>
}

crepe.Sound --> SoLoud.Wav
crepe.SoundContext --> SoLoud.Soloud

' LAYOUT
crepe -[hidden]down- SoLoud

@enduml