Syntriax.Engine/Engine.Core/Engine.Core.puml

47 lines
1.7 KiB
Plaintext

@startuml "Core Engine Relations"
top to bottom direction
skinparam linetype ortho
skinparam nodesep 100
title Core Engine Relations
interface Engine.Core.IEntity extends Engine.Core.IInitializable {}
interface Engine.Core.IUniverseObject extends Engine.Core.IEntity, Engine.Core.INameable {}
interface Engine.Core.INameable {}
Engine.Core.IUniverseObject --> Engine.Core.IBehaviourController: has
Engine.Core.IBehaviourController "1" --> "0..*" Engine.Core.IBehaviour: has
interface Engine.Core.IBehaviourController {}
interface Engine.Core.IBehaviour {}
interface Engine.Core.IBehaviour2D extends Engine.Core.IBehaviour {}
interface Engine.Core.IBehaviour3D extends Engine.Core.IBehaviour {}
interface Engine.Core.IUniverse {}
Engine.Core.IUniverse "1" -r-> "0..*" Engine.Core.IUniverseObject: has
' together {
' interface Engine.Core.IAssignable {}
' interface Engine.Core.IHasStateEnable extends Engine.Core.IAssignable {}
' interface Engine.Core.IHasUniverse extends Engine.Core.IAssignable {}
' interface Engine.Core.IHasUniverseObject extends Engine.Core.IAssignable {}
' interface Engine.Core.IHasBehaviourController extends Engine.Core.IAssignable {}
' ' Engine.Core.IHasStateEnable --> Engine.Core.IStateEnable: has
' ' Engine.Core.IHasUniverse --> Engine.Core.IUniverse: has
' ' Engine.Core.IHasUniverseObject --> Engine.Core.IUniverseObject: has
' ' Engine.Core.IHasBehaviourController --> Engine.Core.IBehaviourController: has
' }
together {
interface Engine.Core.ITransform2D {}
interface Engine.Core.ICamera2D {}
interface Engine.Core.ICoroutineYield {}
interface Engine.Core.IStateEnable {}
interface Engine.Core.IInitializable {}
interface Engine.Core.IBehaviourCollector {}
}
@enduml