The app diagram is demonstrating the relationships between the main classes in the application and how they interact with each other to create the application window and handle user actions. The diagram also shows how the router handles routing for the application and how the menu bar and popup menu are created and used.
App: The main class that creates the application window and contains the router, menu bar, and popup menu.
AppMenuBar: The menu bar class that creates the application's menu bar and its associated menus. Behaves differentlyAppPopupMenu: The popup menu class that creates the MacOS application popup menu and its associated menu items.Router: The class that handles the routing for the application. It maps names to views and is responsible for loading and rendering the views on redirection. Router automatically registers all ViewPanel classes annotated with View.SystemActions: The class that handles system actions, such as quitting the application or opening the preferences dialog.The user interface views diagram is demonstrating the different views available in the application and their relationships. The diagram shows the names of the views and which views they inherit from.
app.router:
View: An annotation class that defines the basic properties of a view, including its name, whether or not it is the default view, and whether or not it is cacheable.ViewPanel: An abstract class that defines the behavior of all application views.ui.views — all the defined views for the application:
LoginView: A concrete class that inherits from ViewPanel and is responsible for rendering the login view.PlayersView: A concrete class that inherits from ViewPanel and is responsible for rendering the player selection view.EditPlayerView: A concrete class that inherits from ViewPanel and is responsible for rendering the player editing view.MapView: A concrete class that inherits from ViewPanel and is responsible for rendering the game map view.PauseView: A concrete class that inherits from ViewPanel and is responsible for rendering the pause menu view.The utility class diagram represents a set of utility classes that provide different functions to the application. For completeness, the diagram also shows packages that use the utility classes.
assets.Assets: Contains methods for loading and retrieving assets, such as icons and images.util.AppUtils: Contains methods for performing various utility tasks in the application.util.ClassUtils: Contains methods for working with Java classes, such as getting annotated types and creating instances.util.CoreUtils: Contains various utility methods, such as separating strings on capital letters and choosing a random item from a list.util.SwingUtils: Contains utility methods for working with Swing components, such as setting component visibility and creating a boxed panel.util.SystemInfo: Contains information about the user's system, such as the operating system and Java version.util.SystemUtils: Contains methods for performing system-level tasks, such as opening a link in the default browser.