Minor fixes authored by Karikó Csongor Csanád's avatar Karikó Csongor Csanád
......@@ -25,6 +25,10 @@ package Model.Common {
+ IsReadOnly() : bool
}
/'class ModelObjectHandle {
+ IsValid() : bool
}'/
interface IDisplayable {
+ IsVisible() : bool
+ GetPosition() : Vector2
......@@ -42,7 +46,7 @@ package Model.Common {
}
interface IBuilder {
+ CanBuild(IMapObjectBlueprint, Orientation) : bool
+ CanBuild(IMapObjectBlueprint, Vector2, Orientation) : bool
+ Build(IMapObjectBlueprint, Orientation) : (IDisplayable, IInspectable)
}
......@@ -162,8 +166,8 @@ package Model.Map {
class Map {
+ Map(Vector2)
+ CanBuild(IMapObjectBlueprint, Orientation) : bool
+ Build(IMapObjectBlueprint, Orientation) : (IDisplayable, IInspectable)
+ CanBuild(IMapObjectBlueprint, Vector2, Orientation) : bool
+ Build(IMapObjectBlueprint, Vector2, Orientation) : (IDisplayable, IInspectable)
}
Map *- "*" Cell
Map o-- "1" NavigationGraph
......@@ -281,6 +285,7 @@ package Model.Landscape {
PavementBlueprint --|> ObjectBlueprint
class QueuePavementBlueprint {
- capacity : int
+ Place(Map, Placement) : MapObject {override}
}
QueuePavementBlueprint --|> PavementBlueprint
......@@ -384,14 +389,14 @@ package Model.Landscape {
skinparam classAttributeIconSize 0
left to right direction
class Model.TickResult {
/'class Model.TickResult {
+ GameOver : bool
+ {field} NewVisitors : IEnumerable<(IDisplayable, IInspectable)>
+ {field} NewCleaningStaff : IEnumerable<(IDisplayable, IInspectable)>
+ {field} NewMaintenanceStaff : IEnumerable<(IDisplayable, IInspectable)>
}
}'/
Model.Simulation *- Model.TickResult
'Model.Simulation *- Model.TickResult
class Model.Simulation {
- people : Person[]
......@@ -412,8 +417,8 @@ class Model.Simulation {
interface Model.IBuilder {
+ CanBuild(IMapObjectBlueprint, Orientation) : bool
+ Build(IMapObjectBlueprint, Orientation) : (IDisplayable, IInspectable)
+ CanBuild(IMapObjectBlueprint, Vector2, Orientation) : bool
+ Build(IMapObjectBlueprint, Vector2, Orientation) : (IDisplayable, IInspectable)
}
interface Model.IInspectable {
......@@ -441,11 +446,15 @@ class View.SingletonMonobehaviour<T> {
+ Awake() // called by Unity, used as constructor
}
View.SingletonMonobehaviour <|-- View.GameManager
View.GameManager "- simulation" *--- Model.Simulation
View.GameManager "- simulation" o--- Model.Simulation
View.GameConfig "-config" --o View.GameManager
View.BuildingConfig "-buildings" --o View.GameManager
View.GameManager o- View.UIManager
View.BuildingConfig -o View.BuildingSelector
View.SingletonMonobehaviour <|-- View.UIManager
View.SingletonMonobehaviour <|-- View.BuildingPlacer
UnityEngine.MonoBehaviour <|-- View.BuildingSelector
View.BuildingPlacer "1" o-- "1" Model.IBuilder
View.BuildingPlacer o-- "-builder" Model.IBuilder
'Model.IBuilder --> Model.Simulation : <<use>> (TODO: change this to MAP)
UnityEngine.MonoBehaviour <|-- View.HoverInfoDisplayer
......@@ -455,7 +464,7 @@ UnityEngine.EventTrigger ..> View.HoverInfoDisplayer : EventTrigger calls into H
UnityEngine.MonoBehaviour <|-- View.Selectable
UnityEngine.MonoBehaviour <|-- View.InspectorWindow
View.InspectorWindow --o View.UIManager
View.Selectable o--- Model.IInspectable
View.Selectable o--- "-modelObject" Model.IInspectable
'Model.IInspectable --> Model.Simulation : <<use>> (TODO: chage this to ..)
UnityEngine.MonoBehaviour <|-- View.CameraController
......@@ -470,7 +479,7 @@ class View.CameraController {
UnityEngine.ScriptableObject <|-- View.GameConfig
View.GameConfig *-- Model.SimulationConfig
View.GameConfig o-- Model.SimulationConfig
class View.GameConfig {
- config : SimulationConfig
......@@ -523,6 +532,8 @@ class View.BuildingPlacer {
- allowedMaterial : Material
- disallowedMaterial : Material
- builder : IBuilder
- Place(Vector3, Quaternion)
+ Init(BuildingConfig[])
......@@ -573,7 +584,7 @@ class View.DisplayBehaviour {
+ Update() // called by Unity
}
View.DisplayBehaviour o--- Model.IDisplayable
View.DisplayBehaviour o--- "displayedObject" Model.IDisplayable
......@@ -581,7 +592,7 @@ View.DisplayBehaviour o--- Model.IDisplayable
UnityEngine.ScriptableObject <|-- View.BuildingConfig
View.BuildingConfig *-- "-data" View.BuildingData
interface Model.IMapObjectBlueprint
'interface Model.IMapObjectBlueprint
class View.BuildingConfig {
- data : View.BuildingData
+ BuildingPrefab : GameObject
......@@ -595,42 +606,45 @@ 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
View.VisitableBuildingData o-- "-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
View.BuildingData <|-- View.CleaningBuildingData
View.CleaningBuildingData o-- "-blueprint" Model.CleaningBuildingBlueprint
class View.CleaningBuildingData {
- blueprint : Model.CleaningBuildingBlueprint
+ void GetBlueprint() : Model.IMapObjectBlueprint
}
View.BuildingData <|-- View.MaintenanceBuildingData
View.MaintenanceBuildingData o-- "-blueprint" Model.MaintenanceBuildingBlueprint
class View.MaintenanceBuildingData {
- blueprint : Model.MaintenanceBuildingBlueprint
+ void GetBlueprint() : Model.IMapObjectBlueprint
}
View.BuildingData <|-- View.PavementData
View.PavementData *-- "-blueprint" Model.PavementDataBlueprint
View.PavementData o-- "-blueprint" Model.PavementDataBlueprint
class View.PavementData {
- blueprint : Model.PavementDataBlueprint
+ void GetBlueprint() : Model.IMapObjectBlueprint
}
View.BuildingData <|-- View.QueuePavementData
View.QueuePavementData o-- "-blueprint" Model.QueuePavementBlueprint
class View.QueuePavementData {
- blueprint : Model.QueuePavementBlueprint
+ void GetBlueprint() : Model.IMapObjectBlueprint
}
@enduml
```