@startuml

class AbstractView {
    - model
    - view
    + update()
    + destroy()
}

class AbstractPixiView {
    - create()
}

class AbstractPixiTankView {
    - body
    - gun
    - radar
    - onShoot()
    - onDestroy()
    - createBody()
    - createGun()
    - createRadar()
}

class AbstractPixiBulletView {

}

class BrodyTankView {

}

class BrodyBulletView {

}

class BWTankView {

}

class BWBulletView {

}

class DebugTankView {

}

class DebugBulletView {

}

AbstractView <|-- AbstractPixiView
AbstractPixiView <|-- AbstractPixiTankView
AbstractPixiView <|-- AbstractPixiBulletView
AbstractPixiTankView <|-- BrodyTankView
AbstractPixiBulletView <|-- BrodyBulletView
AbstractPixiTankView <|-- DebugTankView
AbstractPixiBulletView <|-- DebugBulletView
AbstractPixiTankView <|-- BWTankView
AbstractPixiBulletView <|-- BWBulletView

@enduml
