Signed-off-by: Avior <github@avior.me>
This commit is contained in:
2022-06-14 18:27:20 +02:00
parent 8952b61651
commit 79b74d16d5
23 changed files with 344 additions and 5028 deletions

68
docs/classModel.puml Normal file
View File

@@ -0,0 +1,68 @@
@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