Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Überarbeitung des UI-Systems #260

Open
3 of 5 tasks
fnawratil opened this issue Nov 18, 2018 · 3 comments
Open
3 of 5 tasks

Überarbeitung des UI-Systems #260

fnawratil opened this issue Nov 18, 2018 · 3 comments
Assignees
Labels
enhancement Improvement suggestion for an existing feature

Comments

@fnawratil
Copy link
Member

fnawratil commented Nov 18, 2018

Nachdem ich mich endlich mal wieder mit OctoAwesome beschäftigt hab, sind mir einige Dinge aufgefallen, die am UI-System überarbeitet werden sollten. Das hier soll einfach mal eine Liste all dieser Dinge sein - ich werde dann bei Gelegenheit versuchen die Punkte abzuarbeiten.

  • Austausch von MonogameUI durch EngeniousUI. Das ist natürlich kein "muss", allerdings erachte ich es für sinnvoll die Entwicklung von MonogameUI für Engenious nicht nur in einem Branch von MonogameUI fortzuführen. (Zumal in EngeniousUI inzwischen einige Bugs gefixt sind die MonogameUI noch hat). Natürlich muss vorher nochmal überprüft werden, ob EngeniusUI alle Fixes aus dem feature/engenious branch hat.

  • Erweiterungen die Möglichkeit geben eigene Screens/Dialogs zu definieren. Das wurde schonmal angesprochen. Wie genau das realisiert wird muss noch geklärt werden.

  • Erweiterungen die Möglichkeit geben bestehende Screens zu verändern. (Kann nützlich sein, um Mods bspw. das Hinzufügen neuer Settings-Pages oder eine Anpassung des Inventars zu ermöglichen).

  • Pause-Menü überarbeiten. Da Pause-Menü sollte eigentlich ein Overlay sein und das Spiel im Hintergrund weiter anzeigen. Aktuell könnte man es auf den ersten Blick auch für das Hauptmenü halten.

  • Möglichkeit bieten, das Hauptmenü etc. mittels Command-Line Options zu überspringen. Das könnte fürs Debugging ganz interessant werden. Dann könnte man das Spiel bspw. direkt mit --multiplayer --server=localhost starten und spart sich das geklicke am Anfang.

Soweit mal meine Ideen, bin auf weitere Vorschläge/Verbesserungswünsche gespannt.

@fnawratil fnawratil added the enhancement Improvement suggestion for an existing feature label Nov 18, 2018
@ManuelHu
Copy link
Member

  • Pause-Menü überarbeiten: Der Code dazu ist schon vorhanden und auskommentiert, das mit dem Overlay sah damals nicht so gut aus, da die Simulation nicht angehalten wurde und sich so im Hintergrund die Entities weiter bewegt hatten.

  • Austausch von MonogameUI durch EngeniousUI: Wäre es hier nicht grundsätzlich möglich eine einheitliche Codebasis mit Conditional-Zeugs zu bauen? MonogameUI wäre sonst wohl sicher tot, wenn wir es selbst nicht mehr benutzen.

  • Erweiterungen die Möglichkeit geben bestehende Screens zu verändern: Zumindest war das früher mal drin, dass man eigene Screens zum Hauptmenü hinzufügen konnte. Ggf. kannst du dir das mal anschauen. Ist im ganz alten multiplayer-Branch.

  • Möglichkeit bieten, das Hauptmenü etc. mittels Command-Line Options zu überspringen Meine ich, ist erstmal nicht so wichtig.

@fnawratil
Copy link
Member Author

fnawratil commented Nov 18, 2018

  • Pause-Menü überarbeiten: Ja, ich erinner mich. Aber die Simulation anzuhalten ist ja zumindest im Multiplayer sowieso keine Option. Im Singleplayer sollte es doch kein Problem sein die Simulation zu pausieren?

  • Austausch von MonogameUI durch EngeniousUI: Theoretisch wäre es das schon, aber das bedeutet erheblich Mehraufwand. Wir müssten in jedem File die usings in Conditionals packen und müssten mit Namespaces generell höllisch aufpassen. Außerdem entspricht Engenious ja nicht (mehr) 1:1 Monogame. Wir könnten also auch nur unter Mehraufwand neue Features verwenden. => Ich finde das ist den Aufwand eindeutig nicht wert, zumal MonogameUI in seinem aktuellen Zustand funktionsfähig ist und soweit ich weiß von keinem anderen Projekt aktiv verwendet wird.

  • Erweiterung die Möglichkeit geben bestehende Screens zu verändern: Werd ich mir anschauen - Nur sollte das ja auch für andere Screens möglich sein und am besten schön einheitlich funktionieren.

  • Möglichkeit bieten, das Hauptmenü etc. mittels Command-Line Options zu überspringen: Also ich fände das schon sehr praktisch. Hat natürlich keine hohe Priorität, wäre aber vermutlich recht schnell zu implementieren.

@fnawratil
Copy link
Member Author

fnawratil commented Nov 18, 2018

EngeniousUI hat jetzt alle Fixes aus dem feature/engenious-Branch aus monogameui. Das NuGet-Package ist auch up to date und verwendet die neueste engenious-Version.

Ich schlage damit vor beizeiten auf das Nuget-Package umzustellen. Da ich Namespaces angepasst hab müssen die entsprechend angepasst werden.

Ich würde das in nem Branch basierend auf feature/multiplayer (sobald wir wissen wies mit dem jetzt aussieht) machen, weil alle anderen Branches seit längerem nicht mehr angegriffen wurden und wir sonst vermutl. Unmengen an Merge-Conflicts bekommen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement suggestion for an existing feature
Projects
None yet
Development

No branches or pull requests

2 participants