Changes
Page history
Update Presentation.UI
authored
Mar 21, 2022
by
Horváth István
Show whitespace changes
Inline
Side-by-side
Osztály-diagram.md
View page @
c0f60e58
...
...
@@ -369,82 +369,130 @@ package Presentation.World {
```
plantuml
package Presentation.UI {
class MainMenu {
Start(): void
OnNewGameClicked(): void
OnExitClicked(): void
-
Start(): void
-
OnNewGameClicked(): void
-
OnExitClicked(): void
}
class SimulationUI {
- _gameState: GameState
- _activePlayer: ActivePlayer
Start(): void
OnStateUpdated(): void
OnDestroy(): void
+ TopPanel: string { constant }
+ NextButton: string { constant }
+ BudgetText: string { constant }
+ BottomPanel: string { constant }
+ teamRedColor: Color
+ teamBlueColor: Color
- _activePlayer: Logic.Data.Color
- _battleUI: BattleUI
- _gameManager: GameManager
- _gameOverOverlay: GameOverOverlay
- _pauseOverlay: PauseOverlay
- _selectedTowerType: TowerTypeData
- _simulationManager: SimulationManager
- _towerPlacing: TowerPlacingUI
- _uiState: UIState
- _unitDeployment: UnitDeploymentUI
- GameOverview: GameOverview
- 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 {
- _activePlayer: ActivePlayer
Start(): void
Show(): void
Hide(): void
SetActivePlayer(ActivePlayer): void
OnUpdate(): void
OnTowerButtonClicked(Tower): void
ShowTowerStats(Tower): void
ShowTowerManagement(Tower): void
OnDestroy(): void
event OnTowerUpgraded(Tower)
event OnTowerSelected(Tower)
event OnNextClicked()
}
class UnitPurchasingUI {
- _activePlayer: ActivePlayer
Start(): void
Show(): void
Hide(): void
SetActivePlayer(ActivePlayer): void
OnUpdate(): void
OnUnitButtonClicked(Unit): void
OnDestroy(): void
event OnUnitPurchased(Unit)
event OnNextClicked()
- ui: UIDocument
- cardComponent: VisualTreeAsset
- towerToPlace: List<TowerTypeData>
- teamBlueColor: UnityEngine.Color
- teamRedColor: UnityEngine.Color
- _activePlayer: Logic.Data.Color
- Start(): void
+ Show(): void
+ Hide(): void
+ SetTeamColors(UnityEngine.Color, UnityEngine.Color): void
+ SetActivePlayer(Logic.Data.Color): void
+ SetPlayerMoney(int): void
- SetupCards(): void
+ event OnNextClicked: Action
+ event OnTowerTypeSelected: Action<TowerTypeData>
}
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
+ Hide(): void
+ SetTeamColors(UnityEngine.Color, UnityEngine.Color): void
+ SetupCards(): void
- UpdateCardUnitCount(VisualElement, int): void
+ SetActivePlayer(Logic.Data.Color): void
+ SetPlayerMoney(int): void
+ event OnUnitPurchased: Action<UnitTypeData>
+ event OnNextClicked: Action
}
class BattleUI {
Start(): void
Show(): void
Hide(): void
OnUpdate(): void
OnDestroy(): void
- ui: UIDocument
event OnExitClicked()
event OnPauseClicked()
- Start(): void
+ Show(): void
+ Hide(): void
+ event OnPauseClicked: Action
}
class GameOverOverlay {
Start(): void
Show(): void
Hide(): void
OnDestroy(): void
event OnOkClicked()
}
class PauseOverlay {
Start(): void
Show(): void
Hide(): void
OnDestroy(): void
- ui: UIDocument
- Start(): void
+ Show(): void
+ Hide(): void
+ event OnExitClicked()
+ event OnNewGameClicked()
+ event OnResumeClicked()
}
event OnExitClicked()
event OnNewGameClicked()
event OnResumeClicked()
enum UIState {
TowerPlacing
UnitDeployment
Battle
Paused
GameOver
}
SimulationUI *-- UnitPurchasingUI
SimulationUI *-- UIState
SimulationUI *-- UnitDeploymentUI
SimulationUI *-- TowerPlacingUI
SimulationUI *-- BattleUI
SimulationUI *-- GameOverOverlay
...
...
...
...