diff options
Diffstat (limited to 'docs/class-diag.puml')
-rw-r--r-- | docs/class-diag.puml | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/docs/class-diag.puml b/docs/class-diag.puml index 2d3e21f..7bd26f5 100644 --- a/docs/class-diag.puml +++ b/docs/class-diag.puml @@ -51,6 +51,7 @@ class HTTPFile { class Canvas { + get_tile(x, y) + set_tile(x, y) + - data : CanvasData - tiles : Tile[] } @@ -64,12 +65,18 @@ class Museum { - canvas : Canvas } +' TODO color : Color? class Tile { - + color : Color - + + + data : TileData +} + +struct TileData { + + type : string } -class TileAppearance +class TileAppearance { + + color : Color +} class TileBehavior @@ -82,6 +89,18 @@ class Artist { - data : ArtistData } +struct ArtistData { + + x : float + + y : float + + vx : float + + vy : float +} + +struct CanvasData { + + rows : unsigned int + + columns : unsigned int +} + class Deserializer class PeopleDeserializer { + set_target(People &) @@ -91,7 +110,7 @@ class PeopleDeserializer { class CanvasDeserializer { + set_target(Canvas &) -- - + set_meta_rows(unsigned int) + + set_rows(unsigned int) + set_meta_cols(unsigned int) + add_meta_type(string, Color, unsigned int) + add_tile(unsigned int, unsigned int, string) @@ -103,13 +122,6 @@ struct Color { blue : unsigned int } -struct ArtistData { - + x : float - + y : float - + vx : float - + vy : float -} - package CPR { class Response <<irrelevant>> class Url <<irrelevant>> @@ -131,9 +143,6 @@ File <|.. HTTPFile File <. FileReader File .> FileReader -Canvas "1" -> "*" Tile -People "1" -> "*" Artist - TileBehavior <|-- GrayTileBehavior TileBehavior <|-- RedTileBehavior TileBehavior <|-- BlueTileBehavior @@ -155,6 +164,13 @@ CanvasDeserializer <... Canvas Museum --> People Museum --> Canvas +Canvas "1" --> "*" Tile +People "1" --> "*" Artist + +Tile --> TileData +Artist --> ArtistData +Canvas --> CanvasData + CanvasDeserializer .r Color File <.. Parser |