Update Class-Diagram authored by Pőcze Barnabás's avatar Pőcze Barnabás
...@@ -145,8 +145,8 @@ package Model.Map { ...@@ -145,8 +145,8 @@ package Model.Map {
class Cell { class Cell {
} }
Cell *- "1" MapObject Cell o- "1" MapObject
Cell *-- "{0,1}" VertexHandle Cell o-- "{0,1}" VertexHandle
enum Orientation { enum Orientation {
NORTH NORTH
...@@ -157,17 +157,16 @@ package Model.Map { ...@@ -157,17 +157,16 @@ package Model.Map {
class Placement { class Placement {
+ Pos : Vector2 + Pos : Vector2
+ Orientation : Orientation
} }
Placement *- "1" Orientation
class Map { class Map {
+ Map(Vector2) + Map(Vector2)
+ CanBuild(IMapObjectBlueprint, Orientation) : bool + CanBuild(IMapObjectBlueprint, Orientation) : bool
+ Build(IMapObjectBlueprint, Orientation) : (IDisplayable, IInspectable) + Build(IMapObjectBlueprint, Orientation) : (IDisplayable, IInspectable)
} }
Map *- "*" Cell Map *- "*" Cell
Map *-- "1" NavigationGraph Map o-- "1" NavigationGraph
Simulation *-- "1" Map Simulation *-- "1" Map
IBuilder <|-- Map IBuilder <|-- Map
...@@ -206,6 +205,12 @@ package Model.People { ...@@ -206,6 +205,12 @@ package Model.People {
+ SetDestination(MapObject) + SetDestination(MapObject)
} }
class VisitorEffect {
+ MoodChange : int
+ MoneyChange : int
+ SatietyChange : int
}
class Visitor { class Visitor {
- mood : int - mood : int
- satiety : int - satiety : int
...@@ -213,7 +218,7 @@ package Model.People { ...@@ -213,7 +218,7 @@ package Model.People {
- inQueue : bool - inQueue : bool
+ Visitor(Vector2, float, int, int, int) + Visitor(Vector2, float, int, int, int)
- ChooseDestination() - ChooseDestination()
+ DeliverEffects(int, int, int) + DeliverEffects(VisitorEffect)
+ GameEnded(Vector2) + GameEnded(Vector2)
+ Tick() {override} + Tick() {override}
+ GetProperties() : IEnumerable<Property> {override} + GetProperties() : IEnumerable<Property> {override}
...@@ -275,11 +280,27 @@ package Model.Landscape { ...@@ -275,11 +280,27 @@ package Model.Landscape {
} }
PavementBlueprint --|> ObjectBlueprint PavementBlueprint --|> ObjectBlueprint
class QueuePavementBlueprint {
+ Place(Map, Placement) : MapObject {override}
}
QueuePavementBlueprint --|> PavementBlueprint
class StaffBuildingBlueprint { class StaffBuildingBlueprint {
+ SpawnedStaffCount: int
+ Place(Map, Placement) : MapObject {override} + Place(Map, Placement) : MapObject {override}
} }
StaffBuildingBlueprint --|> BuildingBlueprint StaffBuildingBlueprint --|> BuildingBlueprint
class CleaningLadyBuildingBlueprint {
}
CleaningLadyBuildingBlueprint --|> StaffBuildingBlueprint
class MaintenanceGuyBuildingBlueprint {
}
MaintenanceGuyBuildingBlueprint --|> StaffBuildingBlueprint
class VisitableBuildingBlueprint { class VisitableBuildingBlueprint {
+ Capacity: int + Capacity: int
+ EntryFee: int + EntryFee: int
...@@ -288,6 +309,8 @@ package Model.Landscape { ...@@ -288,6 +309,8 @@ package Model.Landscape {
+ ConstructionCost: int + ConstructionCost: int
+ MinVisitorCountToStart: int + MinVisitorCountToStart: int
+ TimePerRound: int + TimePerRound: int
+ EffectOnVisitor : VisitorEffect
+ RepairCost: int
+ Place(Map, Placement) : MapObject {override} + Place(Map, Placement) : MapObject {override}
} }
...@@ -298,6 +321,7 @@ package Model.Landscape { ...@@ -298,6 +321,7 @@ package Model.Landscape {
WORKING WORKING
WAITING WAITING
UNDER_CONSTRUCTION UNDER_CONSTRUCTION
BEING_REPAIRED
} }
abstract class Building { abstract class Building {
...@@ -312,12 +336,19 @@ package Model.Landscape { ...@@ -312,12 +336,19 @@ package Model.Landscape {
} }
StaffBuilding --|> Building StaffBuilding --|> Building
class CleaningLadyBuilding {
}
CleaningLadyBuilding --|> StaffBuilding
class MaintenanceGuyBuilding {
}
MaintenanceGuyBuilding --|> StaffBuilding
class VisitableBuilding { class VisitableBuilding {
- Capacity: int
- EntryFee: int - EntryFee: int
- MaintenanceCostPerVisitor: int
- MinVisitorCountToStart: int - MinVisitorCountToStart: int
- TimePerRound: int
+ Enter(Person) : Vector2? {override} + Enter(Person) : Vector2? {override}
+ Exit(Person) {override} + Exit(Person) {override}
... ...
......