Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Du hast ziemlich viele Manager, was eigentlich heute nicht mehr so gern gesehen wird. Man neigt dadurch dazu, viel in einer Klasse zentral zu verwalten, was nicht gut ist.
Ich hätte wahrscheinlich eher einen Ansatz gewählt, dass du prinzipiell Objekte auf Client und Serverseite hast, die Eigenschaften haben, die der Server hält und dem Client publiziert. DerClient kann Kommandos an den Server schicken (welche du ja schon hast) und erhält irgendwann eine Antwort.
Jedes GameObject bietet verschiedene Eigenschaften an, die über GameObjectProperty verfügbar sind.
Dazu könnte das GameObject etwa eine Methode UpdateFromServer() bekommen. Diese müssen dann die speziellen Clientklassen (Player, Map) selbst auswerten.
Wenn der Client etwas zum server schicken will, dann könnte man auf dem GameObject eine Methode SendCommand() anbieten, die ziemlich generisch sein sollte (Stringtext oder vielleicht ein interface). Dieses muss zum server übertragen werden und zum jeweiligen Objekt weitergeleitet werden.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Glocke« (21.02.2014, 17:12)
Okay, danke! Das klingt schonmal sehr interessant
Zitat von »TrommlBomml«
Jedes GameObject bietet verschiedene Eigenschaften an, die über GameObjectProperty verfügbar sind.
Kann ich das so verstehen, dass mein GameObject (je nach konkreter Ableitung) verschiedene oder gemeinsame Properties hat? Eine gemeinsame "Über-Property" wäre afaik nicht "schön". Dann müsste allerdings GameObject generisch (hinsichtlich des Property-Typs) sein. Meinst du das so?
Also, dass PlayerObject entsprechend PlayerObjectProperties und MapObject analog MapObjectProperties besitzt.
Zitat von »Glocke«
Was meinst du genau mit "ziemlich generisch" und "Stringtext oder Interface" in diesem Zusammenhang?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »TrommlBomml« (22.02.2014, 14:25)
Erstmal wollte ich noch verdeutlichen, dass das hier nur Vorschläge von mir sind. Bitte überdenke sie auch kritisch Mein Ziel war es nicht, deine Architektur umzuwerfen.
Werbeanzeige