Update Osztály diagram authored by Horváth István's avatar Horváth István
...@@ -408,9 +408,6 @@ package Presentation.World { ...@@ -408,9 +408,6 @@ package Presentation.World {
```plantuml ```plantuml
package Presentation.UI { package Presentation.UI {
class MainMenu { class MainMenu {
- Start(): void
- OnNewGameClicked(): void
- OnExitClicked(): void
} }
class SimulationUI { class SimulationUI {
...@@ -420,100 +417,70 @@ package Presentation.UI { ...@@ -420,100 +417,70 @@ package Presentation.UI {
+ BottomPanel: string { constant } + BottomPanel: string { constant }
+ teamRedColor: Color + teamRedColor: Color
+ teamBlueColor: Color + teamBlueColor: Color
- _activePlayer: Logic.Data.Color
- _battleUI: BattleUI + event OnTowerSelected: Action<Tower>
- _gameManager: GameManager + event OnBuildingPossibleChanges: Action<GameTeam>
- _gameOverOverlay: GameOverOverlay + event OnBarrackSelected: Action<Barrack>
- _pauseOverlay: PauseOverlay + event OnGameViewMouseEnter: Action<MouseEnterEvent>
- _selectedTowerType: TowerTypeData + event OnGameViewMouseLeave: Action<MouseLeaveEvent>
- _simulationManager: SimulationManager + event OnGameViewMouseDown: Action<MouseDownEvent>
- _towerPlacing: TowerPlacingUI + event OnGameViewMouseUp: Action<MouseUpEvent>
- _uiState: UIState + event OnGameViewMouseMove: Action<MouseMoveEvent>
- _unitDeployment: UnitDeploymentUI
- GameOverview: IGameOverview
- Start(): void
- UpdateUiState(UIState): void
- OnDestroy(): void
- OnResumeClicked(): void
- OnNewGameClicked(): void
- OnExitClicked(): void
- HideUIs(): void
- OnPauseClicked(): void
- SetupMousePanning(): void
- OnUnitPurchased(UnitTypeData): void
- StartTowerPlacing(Logic.Data.Color): void
- StepTowerPlacing(): void
- OnTowerTypeSelected(TowerTypeData): void
- OnTileSelected(TilePosition): void
- StepUnitDeployment(Logic.Data.Color): void
- StartBattle(): void
- ShowPauseOverlay(): void
- UpdateUiState(): void
+ event OnGameViewPanStart: Action<MouseDownEvent>
+ event OnGameViewPanEnd: Action<MouseUpEvent>
+ event OnGameViewPanUpdate: Action<MouseMoveEvent>
} }
class TowerPlacingUI { class TowerPlacingUI {
- ui: UIDocument + ShowInstructions(): void
- cardComponent: VisualTreeAsset + ResetUI(): void
- towerToPlace: List<TowerTypeData> + SetTeamColors(UnityEngine.Color, UnityEngine.Color): void
- teamBlueColor: UnityEngine.Color + SetActivePlayer(Color activePlayer): void
- teamRedColor: UnityEngine.Color + SetPlayerMoney(Color, int): void
- _activePlayer: Logic.Data.Color
- Start(): void
+ Show(): void + Show(): void
+ Hide(): void + Hide(): void
+ SetTeamColors(UnityEngine.Color, UnityEngine.Color): void + ShowTowerTypeStats(TowerTypeData): void
+ SetActivePlayer(Logic.Data.Color): void + ShowTowerStats(Tower): void
+ SetPlayerMoney(int): void
- SetupCards(): void + event OnTowerDestroyed: Action<Tower>
+ event OnTowerUpgraded: Action<Tower>
+ event OnNextClicked: Action + event OnNextClicked: Action
+ event OnTowerTypeSelected: Action<TowerTypeData> + event OnTowerTypeSelected: Action<TowerTypeData>
} }
class UnitDeploymentUI { class UnitDeploymentUI {
- cardComponent: VisualTreeAsset
- ui: UIDocument
- unitTypes: List<UnitTypeData>
- _unitCards: Dictionary<UnitTypeData, VisualElement>
- _teamBlueColor: UnityEngine.Color
- _teamRedColor: UnityEngine.Color
- _activePlayer: Logic.Data.Color
- Start(): void
+ Show(): void + Show(): void
+ Hide(): void + Hide(): void
+ SetTeamColors(UnityEngine.Color, UnityEngine.Color): void + SetTeamColors(UnityEngine.Color, UnityEngine.Color): void
+ SetupCards(): void + SetupCards(): void
- UpdateCardUnitCount(VisualElement, int): void
+ SetActivePlayer(Logic.Data.Color): void + SetActivePlayer(Logic.Data.Color): void
+ SetPlayerMoney(int): void + SetPlayerMoney(Color, int): void
+ OnUnitBough(): void
+ UpdateUnitStatistics(GameTeam): void
+ event OnUnitPurchased: Action<UnitTypeData> + event OnUnitPurchased: Action<UnitTypeData>
+ event OnNextClicked: Action + event OnNextClicked: Action
} }
class BattleUI { class BattleUI {
- ui: UIDocument + ShowPauseButton(): void
+ ShowExitButton(): void
- Start(): void
+ Show(): void + Show(): void
+ Hide(): void + Hide(): void
+ SetPlayerMoney(Color, int): void
+ SetTeamStatistics(GameTeam): void
+ UpdateRemainingTime(float): void
+ event OnPauseClicked: Action + event OnPauseClicked: Action
+ event OnExitClicked: Action
} }
class GameOverOverlay { class GameOverOverlay {
+ UpdateMessage(GameTeam): void
+ Show(): void
+ Hide(): void
+ event OnOkClicked: Action
} }
class PauseOverlay { class PauseOverlay {
- ui: UIDocument
- Start(): void
+ Show(): void + Show(): void
+ Hide(): void + Hide(): void
... ...
......