Update Osztály diagram: add missing event, system, tower methods authored by Sárközi Gergely János's avatar Sárközi Gergely János
...@@ -70,12 +70,11 @@ package Logic.Data.World{ ...@@ -70,12 +70,11 @@ package Logic.Data.World{
class Tower extends Building{ class Tower extends Building{
+ Upgrade(): void + Upgrade(): void
+ Target(): Unit{get} + Target(): Unit{get}
+ Level(): int{get} + ClosestEnemy(): Unit {get}
+ RemainingCooldownTime(): float{get} + RemainingCooldownTime(): float{get}
+ UpdateTarget(): void + UpdateTarget(): void
+ UpdateCooldown(float): void + UpdateCooldown(float): void
+ Shoot(): void + Shoot(): void
} }
class Barrack extends Building{ class Barrack extends Building{
...@@ -613,6 +612,7 @@ class Tower ...@@ -613,6 +612,7 @@ class Tower
class Barrack class Barrack
class Castle class Castle
class GameWorld class GameWorld
class GameTeam
} }
...@@ -639,11 +639,21 @@ DestroyUnitSystem ---> Unit ...@@ -639,11 +639,21 @@ DestroyUnitSystem ---> Unit
DestroyUnitSystem ---> GameWorld DestroyUnitSystem ---> GameWorld
class InvalidateCachesSystem { class InvalidateCachesSystem {
- OnPreparePhaseStarted(PhaseAdvancedEvent)
- OnFightPhaseStarted(PhaseAdvancedEvent) - OnFightPhaseStarted(PhaseAdvancedEvent)
- OnTowerBuilt(TowerBuiltEvent)
- OnTowerDestroyed(TowerDestroyedEvent)
- OnUnitDestroyed(UnitDestroyedEvent)
} }
InvalidateCachesSystem ---> Tower InvalidateCachesSystem ---> Tower
InvalidateCachesSystem ---> Barrack InvalidateCachesSystem ---> Barrack
InvalidateCachesSystem ---> Unit InvalidateCachesSystem ---> Unit
class TeamStatisticsSystem {
- On(GameTeam)
}
TeamStatisticsSystem ---> GameTeam
``` ```
# Diszpécser rendszerek (`CommandDispatcher`, `EventDispatcher`) # Diszpécser rendszerek (`CommandDispatcher`, `EventDispatcher`)
...@@ -770,6 +780,23 @@ class UnitDamagedEvent implements IUnitEvent { ...@@ -770,6 +780,23 @@ class UnitDamagedEvent implements IUnitEvent {
class UnitDestroyedEvent implements IUnitEvent class UnitDestroyedEvent implements IUnitEvent
}
```
```plantuml
package Logic.Event.World.Barrack {
interface IBarrackEvent {
+ Barrack() : Barrack {get}
}
class BarrackCheckpointCreatedEvent implements IBarrackEvent {
+ CheckpointPosition() : TilePosition {get}
}
class BarrackCheckpointRemovedEvent implements IBarrackEvent {
+ CheckpointPosition() : TilePosition {get}
}
} }
``` ```
```plantuml ```plantuml
... ...
......