Changes
Page history
Update Osztály diagram: add fields to events
authored
Feb 26, 2022
by
Sárközi Gergely János
Show whitespace changes
Inline
Side-by-side
Osztály-diagram.md
View page @
cbd8b829
...
...
@@ -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}
}
}
```
...
...
...
...