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