@startuml Class diagram
/' allowmixing '/
'https://plantuml.com/class-diagram
/' skinparam component{
    BackgroundColor Green
} '/
abstract class Entity
abstract class GameState
interface ProcessingServiceSPI
interface PluginServiceSPI
interface IPostProcessingService
interface IEVentService
interface IEnemySpawner
component test{
    package GameSystem{
        class GameData{
            - data
        }

    }

}
class Game
component Enemy{

}
component EnemySpawner{

}
component Weapon{

}
component Item{

}
component Map{

}
component Collision{
    
}
component Player{

}
/' class PlayerProcessor '/
/' class PlayerPlugin '/
component Common{

}
component Core{

}

/' class LifePart '/
class Entity{
# Vector2 position
# Vector2 size
# Texture texture
+ {abstract} Texture loadImage()
+ {abstract} void render(SpriteBatch)
+ {abstract} void update()

}
ProcessingServiceSPI <.. Player
interface IGamePlugingService{
 {abstract} + void start()
 {abstract} + void stop()
}

Entity <|-- Player
Entity <|-- Enemy
Entity <|-- Sword




@enduml

/' @startuml
component [$C1]
component [$C2] $C2
component [$C2] as dollarC2
remove $C1
remove $C2
remove dollarC2
@enduml '/
