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
...
@@ -318,72 +318,90 @@ BiCommandResult --|> ICommandResult
}
}
```
```
# Különböző eventek kifejtve
# 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
```
plantuml
package Logic.Event.World.Tower {
package Logic.Event.World.Tower {
interface ITowerEvent {
interface ITowerEvent {
Tower() : Tower {get}
Tower() : Tower {get}
}
}
class TowerBuiltEvent implements ITowerEvent {
class TowerBuiltEvent implements ITowerEvent
}
class TowerUpgradedEvent implements ITowerEvent {
class TowerUpgradedEvent implements ITowerEvent {
+ BeforeUpgradeType : ITowerTypeData {get}
}
}
class TowerDestroyedEvent implements ITowerEvent {
class TowerDestroyedEvent implements ITowerEvent
}
class TowerShotEvent implements ITowerEvent {
class TowerShotEvent implements ITowerEvent {
+ Target : Unit {get}
}
}
class TowerTargetChangedEvent implements ITowerEvent {
class TowerTargetChangedEvent implements ITowerEvent {
+ OldTarget : Unit {get}
}
}
class TowerCooledDownEvent implements ITowerEvent
{
class TowerCooledDownEvent implements ITowerEvent
}
}
}
```
```
```
plantuml
```
plantuml
package Logic.Event.World.Unit {
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 {
class UnitMovedTileEvent implements IUnitEvent {
+ OldPosition() : TilePosition {get}
}
}
class UnitDamagedEvent implements IUnitEvent {
class UnitDamagedEvent implements IUnitEvent {
+ Damage() : float {get}
+ Attacker() : Tower {get}
}
}
class UnitDestroyedEvent implements IUnitEvent {
class UnitDestroyedEvent implements IUnitEvent
}
}
}
```
```
```
plantuml
```
plantuml
package Logic.Event.World.Castle {
package Logic.Event.World.Castle {
interface ICastleEvent {
interface ICastleEvent {
Castle(): Castle {
get
}
+
Castle(): Castle {get}
}
}
class CastleDamagedEvent implements ICastleEvent {
class CastleDamagedEvent implements ICastleEvent {
+ Damage() : float {get}
+ Attacker() : Unit {get}
}
}
class CastleDestroyedEvent implements ICastleEvent
{
class CastleDestroyedEvent implements ICastleEvent
}
}
}
```
```
```
plantuml
```
plantuml
package Logic.Event.World {
package Logic.Event.World {
class WorldSimulatedPhysicsEvent {
class WorldSimulatedPhysicsEvent {
+ World() : GameWorld {get}
+ DeltaTime() : float {get}
}
}
}
}
```
```
...
...
...
...