From 90b2915e73f1ad0222c3efd792843908209ee239 Mon Sep 17 00:00:00 2001 From: Simon Wilkening Date: Sun, 10 Nov 2024 14:22:02 +0100 Subject: [PATCH] =?UTF-8?q?ClassChart=5FCLIENT=5FV1.0=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Designphase/Klassendiagramme.md | 6 +++++- .../Designphase/Klassendiagramme/ClassChart_CLIENT_V1.0.svg | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 uploads/Designphase/Klassendiagramme/ClassChart_CLIENT_V1.0.svg diff --git a/Designphase/Klassendiagramme.md b/Designphase/Klassendiagramme.md index 900db95..725c273 100644 --- a/Designphase/Klassendiagramme.md +++ b/Designphase/Klassendiagramme.md @@ -7,4 +7,8 @@ Hier werden Klassendiagramme veröffentlicht * [ClassChart_V1.4](../uploads/Designphase/Klassendiagramme/ClassChart_V1.4.svg) * [ClassChart_V1.5](../uploads/Designphase/Klassendiagramme/ClassChart_V1.5.svg) * [ClassChart_V2.0](../uploads/Designphase/Klassendiagramme/ClassChart_V2.0.svg) -* [ClassChart_V2.1](../uploads/Designphase/Klassendiagramme/ClassChart_V2.1.svg) \ No newline at end of file +* [ClassChart_V2.1](../uploads/Designphase/Klassendiagramme/ClassChart_V2.1.svg) + +--- + +* [ClassChart_Client_V1.0](../uploads/Designphase/Klassendiagramme/ClassChart_CLIENT_V1.0.svg) \ No newline at end of file diff --git a/uploads/Designphase/Klassendiagramme/ClassChart_CLIENT_V1.0.svg b/uploads/Designphase/Klassendiagramme/ClassChart_CLIENT_V1.0.svg new file mode 100644 index 0000000..fa37f5c --- /dev/null +++ b/uploads/Designphase/Klassendiagramme/ClassChart_CLIENT_V1.0.svg @@ -0,0 +1,4 @@ + + + +

MonopolyApp


- MonopolyApp():


- escape(boolean): void
+ main(String[]): void
- makeServerConnection(): ServerConnection
+ simpleInitApp(): void
+ receivedEvent(InfoTextEvent): void
- close(): void
- makeSettings(): AppSettings
+ stop(boolean): void
~ confirmDialog(String, Runnable): void
+ closeApp(): void
+ simpleUpdate(float): void
+ requestClose(boolean): void
~ errorDialog(String): void
- attachGameSound(): void
- setupInput(): void
- setupStates(): void
- attachGameMusic(): void
+ receivedEvent(ClientStateEvent): void
- setupGui(): void


config: MonopolyAppConfig
dialogManager: DialogManager
infoText: String
executor: ExecutorService
gameLogic: ClientGameLogic
draw: Draw

MonopolyAppConfig


+ MonopolyAppConfig():


+ useGammaCorrection(): boolean
- makeColorRGBA(String): ColorRGBA
# convertToType(String, Class<?>): Object
+ fullScreen(): boolean
+ useRetinaFrameBuffer(): boolean


showStatistics: boolean
topColor: ColorRGBA
resolutionWidth: int
resolutionHeight: int
showSettings: boolean

MonopolyAppState


# MonopolyAppState():


+ showsDialog(): boolean
# enableState(): void
+ initialize(AppStateManager, Application): void
# disableState(): void


gameLogic: ClientGameLogic
enabled: boolean
app:MonopolyApp

<<interface>>
FileAction


+ run(File): void

GameMusic


+ GameMusic():


+ volumeInPreferences(): float
- loadSound(Application, String): AudioNode
+ initialize(AppStateManager, Application): void
+ enabledInPreferences(): boolean
+ toggleSound(): void


enabled: boolean
volume: float

GameSound


+ GameSound():


+ initialize(AppStateManager, Application): void
+ toggleSound(): void
+ enabledInPreferences(): boolean
- loadSound(Application, String): AudioNode
+ passGo(): void
+ cardEvent(): void

+ goJail(): void

+ rollDice(): void

+ earnMoney(): void

+ looseMoney(): void

+ acceptOffer(): void

+ refuseOffer(): void

+ winnerSound(): void

+ looserSound(): void

+ buttonSound(): void

+ receivedEvent(SoundEvent): void


enabled: boolean

MapView


~ MapView(GameBoard, MonopolyApp):


- setupBackground(): void
+ mouseToModel(Vector2f): IntPoint
+ addGrid(): void
- gridLine(Position, Position): Geometry
~ unregister(): void
+ modelToView(float, float): Position
+ viewToModel(float, float): IntPoint


height: float
width: float
app: MonopolyApp
node: Node
map: MonopolyMap

MapViewSynchronizer


+ MapViewSynchronizer(MapView):


+ visit(Pawn): Spatial
+ visit(House): Spatial
+ visit(Hotel): Spatial

Menu


+ Menu(MonopolyApp):


- handle(FileAction, TextInputDialog): void
- fileDialog(FileAction, String): void
+ update(): void
- saveDialog(): void
- loadDialog(): void
+ update(float): void
+ escape(): void

NetworkDialog


~ NetworkDialog(NetworkSupport):


- connect(): void
- startServerInThread(): void
+ update(float): void
- initNetwork(): Object
- success(): void
- failure(Throwable): void
- openProgressDialog(): void

NetworkSupport


+ NetworkSupport(MonopolyApp):


+ send(ClientMessage): void
~ initNetwork(String, int): void
+ clientDisconnected(Client, DisconnectInfo): void
+ disconnect(): void
+ messageReceived(Client, Message): void
+ clientConnected(Client): void
+ connect(): void


connected: boolean
app: MonopolyApp

ParticleEffectFactory


~ ParticleEffectFactory(MonopolyApp):


~ createSmokeEmitter(): ParticleEmitter
+ createConfetti(): ParticleEmitter

GameBoardSynchronizer


+ SeaSynchronizer(MonopolyApp, Node, GameBoard):


- removePawn(Pawn): void
+ visit(Pawn): Spatial
- createBox(Pawn): Spatial
+ visit(House): Spatial
+ visit(Hotel): Spatial
- createPawn(Pawn): Spatial
- createHouse(House): Spatial
- createColoredMaterial(ColorRGBA): Material
- createHotel(Hotel): Spatial
- calculateRotationAngle(Rotation): float

HouseControl


+ HouseControl(House, Node):


# controlRender(RenderManager, ViewPort): void
# controlUpdate(float): void

PawnControl


+ PawnControl(Pawn, Node):


# controlRender(RenderManager, ViewPort): void
# controlUpdate(float): void

VolumeSlider


+ VolumeSlider(GameMusic):


+ update(): void

gui

MainSynchronizer


# GameBoardSynchronizer(GameBoard, Node):


# addExisting(): void
+ receivedEvent(ItemRemovedEvent): void
+ receivedEvent(ItemAddedEvent): void
# translate(Item): Spatial

client
MainMenu
+showMenu(): void
+hideMenu(): void
NewGameMenu
+createNewGame(): void
+cancel(): void
SettingMenu
+loadSettings(): void
+saveSettings(): void
+adjustVolume(level: int): void
Trading
+initiateTrade(): void
+confirmTrade(): void
+cancelTrade(): void
PropertyAdmin
+manageProperty(): void
+upgradeProperty(): void
+mortgageProperty(): void
\ No newline at end of file