Update Osztály diagram: add fields to events authored by Sárközi Gergely János's avatar Sárközi Gergely János
......@@ -318,72 +318,90 @@ BiCommandResult --|> ICommandResult
}
```
# Különböző eventek kifejtve
Mindegyik `...Event` a `BaseEvent` alosztálya. Ez nincs jelölve a diagrammon a jobb átláthatóság érdekében.
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.
```plantuml
package Logic.Event.World.Tower {
interface ITowerEvent {
Tower() : Tower {get}
}
class TowerBuiltEvent implements ITowerEvent {
}
class TowerBuiltEvent implements ITowerEvent
class TowerUpgradedEvent implements ITowerEvent {
+ BeforeUpgradeType : ITowerTypeData {get}
}
class TowerDestroyedEvent implements ITowerEvent {
}
class TowerDestroyedEvent implements ITowerEvent
class TowerShotEvent implements ITowerEvent {
+ Target : Unit {get}
}
class TowerTargetChangedEvent implements ITowerEvent {
+ OldTarget : Unit {get}
}
class TowerCooledDownEvent implements ITowerEvent {
}
class TowerCooledDownEvent implements ITowerEvent
}
```
```plantuml
package Logic.Event.World.Unit {
interface IUnitEvent {
Unit(): Unit { get }
interface IUnitTypeEvent {
+ Type() : UnitTypeData {get}
}
class UnitDeployedEvent implements IUnitEvent {
interface IUnitEvent extends IUnitTypeEvent {
+ Unit() : Unit {get}
}
class UnitDeployedEvent implements IUnitTypeEvent {
+ Barrack() : Barrack {get}
}
class UnitMovedTileEvent implements IUnitEvent {
+ OldPosition() : TilePosition {get}
}
class UnitDamagedEvent implements IUnitEvent {
+ Damage() : float {get}
+ Attacker() : Tower {get}
}
class UnitDestroyedEvent implements IUnitEvent {
}
class UnitDestroyedEvent implements IUnitEvent
}
```
```plantuml
package Logic.Event.World.Castle {
interface ICastleEvent {
Castle(): Castle { get }
+ Castle(): Castle {get}
}
class CastleDamagedEvent implements ICastleEvent {
+ Damage() : float {get}
+ Attacker() : Unit {get}
}
class CastleDestroyedEvent implements ICastleEvent{
}
class CastleDestroyedEvent implements ICastleEvent
}
```
```plantuml
package Logic.Event.World {
class WorldSimulatedPhysicsEvent {
+ World() : GameWorld {get}
+ DeltaTime() : float {get}
}
}
```
......
......