Update Osztály diagram: sense-making model authored by Bahil Botond's avatar Bahil Botond
...@@ -4,6 +4,19 @@ ...@@ -4,6 +4,19 @@
package Model.Field{ package Model.Field{
interface ITowerTypeData{
+ Name: String
+ Damage: int
+ Range: float
+ CooldownTime: float
}
class TilePosition{
WidthPosition: int
HeightPosition: int
}
class Field{ class Field{
+ Width: int + Width: int
+ Height: int + Height: int
...@@ -15,17 +28,14 @@ package Model.Field{ ...@@ -15,17 +28,14 @@ package Model.Field{
} }
abstract Building{ abstract Building{
+ Owner: ? + Owner: GameTeam
} }
class Obstacle{ class Obstacle{
} }
abstract Tower{ class Tower{
+ Damage: int
+ Range: int
+ Fire rate: double
+ BuildingCost: int + BuildingCost: int
+ UpgradeCost: int + UpgradeCost: int
+ Target: Unit + Target: Unit
...@@ -40,39 +50,35 @@ package Model.Field{ ...@@ -40,39 +50,35 @@ package Model.Field{
+ Health: int + Health: int
} }
class Tower1{}
class Tower2{}
class Tower3{}
Tower <|-- Tower1
Tower <|-- Tower2
Tower <|-- Tower3
TileObject <|-- Building TileObject <|-- Building
TileObject <|-- Obstacle TileObject <|-- Obstacle
Building <|-- Tower Building <|-- Tower
Building <|-- Castle Building <|-- Castle
Building <|-- Barrack Building <|-- Barrack
Field o-- TileObject Field o-- TileObject
TileObject *-- TilePosition
Tower *-- ITowerTypeData
} }
package Model.Unit{ package Model.Unit{
abstract Unit{ abstract Unit{
+ Owner: ? + Owner: GameTeam
+ Cost: int
+ Destination: TileObject?
}
interface IUnitTypeData{
+ Name: String
+ Health: int + Health: int
+ Damage: int + Damage: int
+ Speed: int + Speed: int
+ Cost: int
+ Destination:
} }
class CircleUnit{} Unit *-- IUnitTypeData
class TriangleUnit{}
Unit <|-- CircleUnit
Unit <|-- TriangleUnit
} }
...@@ -81,6 +87,11 @@ enum Phase{ ...@@ -81,6 +87,11 @@ enum Phase{
FIGHT FIGHT
} }
enum GameTeam{
RED
BLUE
}
``` ```
# Nézet, UI nélkül (azaz VFX, SFX) # Nézet, UI nélkül (azaz VFX, SFX)
... ...
......