games/docs/classModel.puml
Florian Bouillon 79b74d16d5
u
Signed-off-by: Avior <github@avior.me>
2022-06-14 18:27:20 +02:00

69 lines
1.0 KiB
Plaintext

@startuml classes
!theme toy
class GameEngine {
- scenes: Record<string, Scene>
+ addScene(scene: Scene): void
+ setScene(id: string): void
+ removeScene(scene: string | Scene): void
+ start(): void
+ pause(): void
+ destroy(): void
}
class Scene {
+ id: string
+ setCamera(id: String): void
+ addComponents(components: ...Component2D): void
+ removeComponents(components: ...(Component2D | string)): void
}
GameEngine "1" -- "0-*" Scene : "contains"
class Component {
+ id: string
+ position: Vector2D
+ renderer: Renderer
+ position: Vector2D
+ scale: Vector2D
+ collider: Collider
+ origin: Vector2D
+ childs: Array<Component2D>
+ debug: boolean
+ init(): void
+ update(): void
}
Scene "1" -- "0-*" Component : "contains"
class Camera extends Component {
}
class Pointer extends Component {}
class Asset {}
class Sound {}
class Tileset {}
Component -- Component
Tileset -- Asset
class Vector2D {
+ x: number
+ y: number
}
class Collider {}
Component "1" -- "0-1" Collider
Component "1" -- "0-*" Vector2D
@enduml