-
Notifications
You must be signed in to change notification settings - Fork 18
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
GUI Proposal #132
Comments
Maybe |
I'm also not sure if all the properties should have both a getter and a setter -- one might want to build elements that dynamically adjust, for example, their disabledness depending on other state, with no way to override it. The current interfaces would require a throwing setter for that case. |
There's nothing stopping the element from just ignoring the setter, if its directly implementing the interface it can even hide the setter when the class is referenced, in every other case it can simply create an empty setter and ignore it. With something this automatic I don't think anything should be built with the expectation that changes need be reflected and it costs less than an exception to check even in that case. |
The GUI Proposal has been redone, the old one can still be found here |
Currently the only GUI in Pathfinder is PFButtons which are basically just a class wrapper over Hacknet's C-function vanilla buttons.
This proposal should cover all common usable GUI objects for the game and define them in a manner for which they are automatically handled. Behavior should also be intrinsically extendable. Feel free to comment desired additions or changes.
All definitions will be added to the Pathfinder.GUI namespace unless otherwise specified.
Current Interfaces:
Current Classes:
The
TrySet
pattern is to enable implementations to determine their own management of the objects, so its easy to know when a successful set has taken place.InputEvent
is a considered system for dealing with input events, enabling propagation and consumption of events by elements. It is likely to be flushed out after this is finalized.Gui Elements which are expected to manage their contents, like say a panel or window, can reference them via the Element related methods.
This is unfinished, but design additions are still welcomed.
The text was updated successfully, but these errors were encountered: