Update Osztály diagram authored by Horváth István's avatar Horváth István
...@@ -308,13 +308,18 @@ package Presentation.World { ...@@ -308,13 +308,18 @@ package Presentation.World {
+ Position:TilePosition + Position:TilePosition
} }
class UnitData { class UnitTypeData {
+ color: Color + BlueColor: Color
+ aliveSprite: Sprite + RedColor: Color
+ destroyedSprite: Sprite + PreviewSprite: Sprite
+ attackEffect: GameObject + AliveSpriteConstant: Sprite
+ destroyedEffect: GameObject + AliveSpriteColored: Sprite
+ Airborne: bool
+ Name: string
+ Health: float
+ Damage: float
+ Speed: float
+ Cost: int
} }
class Unit { class Unit {
...@@ -328,10 +333,10 @@ package Presentation.World { ...@@ -328,10 +333,10 @@ package Presentation.World {
class CastleData { class CastleData {
+ Color: Color + Color: Color
+ AmbientEffect: GameObject + IntactSpriteConstant: Sprite
+ ExplosionEffect: GameObject + IntactSpriteColored: Sprite
+ IntactSprite: Sprite + DestroyedSpriteConstant: Sprite
+ DestroyedSprite: Sprite + DestroyedSpriteColored: Sprite
} }
class Castle extends Structure { class Castle extends Structure {
...@@ -340,27 +345,26 @@ package Presentation.World { ...@@ -340,27 +345,26 @@ package Presentation.World {
+ SetDestroyed(): void + SetDestroyed(): void
} }
class ProjectileData {
+ Color: Color
+ Sprite: Sprite
+ FlyingEffect: GameObject
+ ImpactEffect: GameObject
}
class Projectile {
+ SetTeamColor(Logic.Data.Color): void
}
class Tower extends Structure { class Tower extends Structure {
+ DestroyTower(): void + DestroyTower(): void
+ SetData(Logic.Data.World.Tower): void + SetData(Logic.Data.World.Tower): void
} }
class TowerData { class TowerTypeData {
+ Color: Color + PreviewSprite: Sprite
+ TowerSprite: Sprite + SpriteColored: Sprite
+ ShootingEffect: GameObject + SpriteConstant: Sprite
+ AmbientEffect: GameObject + SpriteBackground: Sprite
+ BlueColor: Color
+ RedColor: Color
+ Name: string
+ Damage: float
+ Range: float
+ CooldownTime: float
+ BuildingCost: int
+ DestroyRefund: int
+ UpgradeCost: int
+ AfterUpgradeType: ITowerTypeData
} }
class Obstacle extends Structure { class Obstacle extends Structure {
...@@ -371,21 +375,20 @@ package Presentation.World { ...@@ -371,21 +375,20 @@ package Presentation.World {
} }
class TileData { class TileData {
+ Color: Color + EvenColor: Color
+ OddColor: Color
+ Sprite: Sprite + Sprite: Sprite
+ AmbientEffect: GameObject
} }
class BarrackData { class BarrackData {
+ Color: Color + Color: Color
+ Sprite: Sprite + SpriteConstant: Sprite
+ AmbientEffect: GameObject + SpriteColored: Sprite
} }
class ObstacleData { class ObstacleData {
+ Color: Color + Color: Color
+ Sprite: Sprite + Sprite: Sprite
+ AmbientEffect: GameObject
} }
class SimulationCamera { class SimulationCamera {
...@@ -405,7 +408,7 @@ package Presentation.World { ...@@ -405,7 +408,7 @@ package Presentation.World {
Obstacle o-- ObstacleData Obstacle o-- ObstacleData
Barrack o-- BarrackData Barrack o-- BarrackData
Unit o-- UnitData Unit o-- UnitTypeData
TileHighlight o-- TileHighlightData TileHighlight o-- TileHighlightData
World o-- TileHighlight World o-- TileHighlight
...@@ -417,10 +420,15 @@ package Presentation.World { ...@@ -417,10 +420,15 @@ package Presentation.World {
World o-- Environment World o-- Environment
World o-- WorldLight World o-- WorldLight
Castle o-- HealthbarController
Unit o-- HealthbarController
SimulationManager o-- WorldConfig
SimulationManager o-- OverviewConfig
SimulationManager o-- EconomyConfig
Castle o-- CastleData Castle o-- CastleData
Tower o-- TowerData Tower o-- TowerTypeData
Tower o-- ProjectileData
Projectile o-- ProjectileData
} }
``` ```
... ...
......