Changes
Page history
Update View
authored
Mar 01, 2021
by
Karikó Csongor Csanád
Show whitespace changes
Inline
Side-by-side
Class-Diagram.md
View page @
67f1a591
...
...
@@ -299,6 +299,7 @@ package Model.Landscape {
```
plantuml
@startuml View
skinparam classAttributeIconSize 0
left to right direction
class Model.Simulation {
+ Simulation(SimulationConfig)
...
...
@@ -308,8 +309,8 @@ class Model.Simulation {
}
interface Model.IBuilder {
+ IsPlacementAllowed(ObjectBlueprint, Orientation)
+ Place(ObjectBlueprint, Orientation) : (IDisplayable, IInspectable)
+ IsPlacementAllowed(
IMap
ObjectBlueprint, Orientation)
: bool
+ Place(
IMap
ObjectBlueprint, Orientation) : (IDisplayable, IInspectable)
}
interface Model.IInspectable {
...
...
@@ -337,8 +338,6 @@ View.GameManager "- simulation" *--- Model.Simulation
View.SingletonMonobehaviour <|-- View.UIManager
View.SingletonMonobehaviour <|-- View.BuildingPlacer
UnityEngine.MonoBehaviour <|-- View.BuildingSelector
View.BuildingPlacer "1" <. "*" View.BuildingSelector : <<use>>
View.UIManager "1" .> "1" View.BuildingPlacer : <<init>>
View.BuildingPlacer "1" o-- "1" Model.IBuilder
'Model.IBuilder --> Model.Simulation : <<use>> (TODO: change this to MAP)
...
...
@@ -348,7 +347,6 @@ UnityEngine.EventTrigger ..> View.HoverInfoDisplayer : EventTrigger calls into H
UnityEngine.MonoBehaviour <|-- View.Selectable
UnityEngine.MonoBehaviour <|-- View.InspectorWindow
View.InspectorWindow ..> Model.IInspectable
View.InspectorWindow --o View.UIManager
View.Selectable o--- Model.IInspectable
'Model.IInspectable --> Model.Simulation : <<use>> (TODO: chage this to ..)
...
...
@@ -372,8 +370,6 @@ class View.GameConfig {
+ GetConfig() : Model.SimulationConfig
}
View.BuildingConfig <.. View.GameManager
View.GameManager .> View.UIManager : "<<init>>"
class View.GameManager {
- config : GameConfig
- tickInterval : float
...
...
@@ -383,13 +379,12 @@ class View.GameManager {
- buildings : BuildingConfig[]
- simulation : Model.Simulation
- GetObjectBlueprints() : Model.ObjectBlueprint[]
- GetObjectBlueprints() : Model.
IMap
ObjectBlueprint[]
+ SetSimulationSpeed(int)
+ Tick() : IEnumerator
+ Start() // Called by unity
}
View.Selectable <--> View.UIManager
class View.UIManager {
- mode : UIMode
- placer : BuildingPlacer
...
...
@@ -401,8 +396,8 @@ class View.UIManager {
+ Select(Selectable)
}
View.UIManager *- View.UIManager.UIMode
View.UIManager o- View.BuildingPlacer
View.UIManager *-
-
View.UIManager.UIMode
View.UIManager o-
-
View.BuildingPlacer
enum View.UIManager.UIMode {
BUILD
...
...
@@ -433,7 +428,6 @@ class View.BuildingPlacer {
}
View.BuildingPlacer .> View.BuildingSelector : <<init>>
class View.BuildingSelector {
- config : BuildingConfig
+ Init(BuildingConfig)
...
...
@@ -479,16 +473,57 @@ View.DisplayBehaviour o--- Model.IDisplayable
UnityEngine.ScriptableObject <|-- View.BuildingConfig
View.BuildingConfig *-- Model.ObjectBlueprint
View.BuildingConfig *-- "-data" View.BuildingData
interface Model.IMapObjectBlueprint
class View.BuildingConfig {
-
blueprint : Model.ObjectBlueprint
-
data : View.BuildingData
+ BuildingPrefab : GameObject
+ UISprite : Sprite
+ GetBlueprint() : Model.ObjectBlueprint
+ GetBlueprint() : Model.
IMap
ObjectBlueprint
}
View.BuildingData --|> UnityEngine.ScriptableObject
abstract class View.BuildingData {
+ void GetBlueprint() : Model.IMapObjectBlueprint {abstract}
}
together {
abstract class View.BuildingData
class View.VisitableBuildingData
class View.StaffBuildingData
class View.PavementData
}
'View.VisitableBuildingData <-[hidden]- View.StaffBuildingData
'View.StaffBuildingData <-[hidden]- View.PavementData
together {
class Model.VisitableBuildingBlueprint
class Model.StaffBuildingBlueprint
class Model.PavementDataBlueprint
}
View.BuildingData <|-- View.VisitableBuildingData
View.VisitableBuildingData *-- "-blueprint" Model.VisitableBuildingBlueprint
class View.VisitableBuildingData {
- blueprint : Model.VisitableBuildingBlueprint
+ void GetBlueprint() : Model.IMapObjectBlueprint
}
View.BuildingData <|-- View.StaffBuildingData
View.StaffBuildingData *-- "-blueprint" Model.StaffBuildingBlueprint
class View.StaffBuildingData {
- blueprint : Model.StaffBuildingBlueprint
+ void GetBlueprint() : Model.IMapObjectBlueprint
}
View.BuildingData <|-- View.PavementData
View.PavementData *-- "-blueprint" Model.PavementDataBlueprint
class View.PavementData {
- blueprint : Model.PavementDataBlueprint
+ void GetBlueprint() : Model.IMapObjectBlueprint
}
@enduml
```
\ No newline at end of file