app/src/main/java/de/dhbw/game/game.plantuml
@startuml
title __GAME's Class Diagram__\n
namespace de.dhbw {
namespace game {
abstract class de.dhbw.game.ATimerUsage {
# lastTimeActionMillis : long
- delay : long
{abstract} + calculateDelay()
+ getDelay()
+ setLastTimeActionMillis()
# setDelay()
}
}
}
namespace de.dhbw {
namespace game {
enum Difficulty {
EASY
HARD
MEDIUM
difficultyAsNumber
}
}
}
namespace de.dhbw {
namespace game {
enum EnemyType {
BOSS_TANK
CAR
PLANE
TANK
label
}
}
}
namespace de.dhbw {
namespace game {
class de.dhbw.game.Game {
- clickedButton : Optional<Button>
- currentWaveNumber : int
- gameSettings : Map<Settings, Boolean>
- gameTimer : Timer
- isMenuOpen : boolean
- lastEnemyOfWaveSpawned : boolean
- lastWaveOut : boolean
- lifePoints : int
- money : int
- moneySpent : int
- numberOfBuiltTowers : int
- numberOfEnemiesKilled : int
- numberOfUpgrades : int
- showCircle : boolean
- spawnButton : Button
- waveTimer : Timer
+ Game()
+ addMoney()
+ allEnemiesSpawned()
+ buildTower()
+ closeMenu()
+ continueTimers()
+ createNewTowerOnField()
+ decreaseLifePoints()
+ getLifePoints()
+ getMapStructure()
+ getMatchField()
+ getMoney()
+ getPositionFromButtonId()
+ increaseMoneySpent()
+ increaseNumberOfBuiltTowers()
+ increaseNumberOfEnemiesKilled()
+ init()
+ isAnimationOn()
+ isSoundOn()
+ loseActions()
+ openSettings()
+ openTowerPopup()
+ pauseTimers()
+ sellTower()
+ setAnimationOn()
+ setCircle()
+ setIngameSound()
+ setLifePoints()
+ setMenu()
+ setMoney()
+ start()
+ startNextWave()
+ stop()
+ subMoney()
+ toggleMusic()
+ updateStatisticsIfHighScore()
+ upgradeTower()
+ winActions()
- generateButtonsOnMap()
- loadSettings()
- showGameFinishedDialog()
- startWave()
- triggerSpawnButtonImageChange()
- updateStatusBar()
}
}
}
namespace de.dhbw {
namespace game {
interface de.dhbw.game.IMoneyListener {
{abstract} + performMoneyUpdate()
}
}
}
namespace de.dhbw {
namespace game {
interface de.dhbw.game.IStatusBar {
{abstract} + setCurrentWaveNumber()
{abstract} + setLifePoints()
{abstract} + setMoney()
{abstract} + setWaveTimeRemaining()
}
}
}
namespace de.dhbw {
namespace game {
class de.dhbw.game.MusicPlayer {
- isStarted : boolean
- loopTime : int
- mediaPlayer : MediaPlayer
- on : boolean
- timer : Timer
- timerTask : TimerTask
+ MusicPlayer()
+ calculateDelay()
+ isStarted()
+ startMusicPlayer()
+ stop()
+ toggle()
}
}
}
namespace de.dhbw {
namespace game {
class de.dhbw.game.StatusBarCountDownTimer {
- seconds : int
- timer : Timer
+ StatusBarCountDownTimer()
+ stopTimer()
+ timer()
- setTime()
}
}
}
de.dhbw.game.Game o-- de.dhbw.util.Position : circleField
de.dhbw.game.Game o-- de.dhbw.game.StatusBarCountDownTimer : countDownTimer
de.dhbw.game.Game o-- de.dhbw.activities.GameActivity : gameActivity
de.dhbw.game.Game o-- de.dhbw.map.structure.MapStructure : mapStructure
de.dhbw.game.Game o-- de.dhbw.game.match.AMatch : match
de.dhbw.game.Game o-- de.dhbw.map.matchfield.MatchField : matchField
de.dhbw.game.Game o-- de.dhbw.game.IMoneyListener : moneyListener
de.dhbw.game.Game o-- de.dhbw.game.MusicPlayer : musicPLayer
de.dhbw.game.MusicPlayer -up-|> de.dhbw.game.ATimerUsage
de.dhbw.game.StatusBarCountDownTimer o-- de.dhbw.game.IStatusBar : status
right footer
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
For more information about this tool, please contact philippe.mesmeur@gmail.com
endfooter
@enduml