Update Osztály diagram authored by Bahil Botond's avatar Bahil Botond
# Modell (logika)
```plantuml
package Logic.Data{
package Logic.World{
......@@ -30,35 +28,29 @@ package Logic.World{
}
abstract Building{
abstract Building extends TileObject{
+ Owner(): GameTeam{get}
}
class Obstacle{
class Obstacle extends TileObject{
}
class Tower{
class Tower extends Building{
+ BuildingCost(): int{get}
+ UpgradeCost(): int{get}
+ Target(): Unit{get}
+ Level(): int{get}
}
class Barrack{
class Barrack extends Building{
}
class Castle{
class Castle extends Building{
+ Health(): float{get}
}
TileObject <|-- Building
TileObject <|-- Obstacle
Building <|-- Tower
Building <|-- Castle
Building <|-- Barrack
GameWorld o-- TileObject
TileObject "1" o-- TilePosition
Tower "1" o-- ITowerTypeData
......@@ -99,6 +91,7 @@ enum GameTeam{
}
```
# Nézet, UI nélkül (azaz VFX, SFX)
......@@ -301,7 +294,7 @@ interface ICommandResult {
+ IsSuccess() : bool
}
class BiCommandResult <<sealed>> {
class BiCommandResult <<sealed>> implements ICommandResult{
+ Success : BiCommandResult
+ Failure : BiCommandResult
}
......@@ -311,12 +304,14 @@ CommandDispatcher -d-> ICommandResult
BaseCommand --> ICommandResult
"BaseCommand<BiCommandResult>" --|> BaseCommand
abstract "BaseCommand<BiCommandResult>" extends BaseCommand{
}
"BaseCommand<BiCommandResult>" --> BiCommandResult
BiCommandResult --|> ICommandResult
}
```
# Különböző eventek kifejtve
Mindegyik `...Event`, ami nem interfész, az a `BaseEvent` alosztálya. Ez nincs jelölve a diagrammon a jobb átláthatóság érdekében.
......
......