Requesting help setting up AppRootView with efficiency and performance best practices
Hello NoesisGUI/Unity gurus!,
We are looking for help in creating responsive UI using the MVVM pattern for our Unity prototype 3v3 multiplayer MOBA.
Specifically the AppRootView.xaml, and the AppRootView.xaml.cs and RootViewViewModel.cs files
The Goal
- The goal is for the AppRootView (UserControl) to contain all the references and app level resources to the Views and a ViewModel to load/unload them as needed.
- utilize best practices based on the Optimizing NoesisGUI Performance document https://www.noesisengine.com/docs/Gui.C ... izing.html
The following is for context.
Existing functional Views
AppRootView.xaml - this is the one we need you to design with your expertise to accomodate the view use cases listed below.
- root content container for the app, loads/unloads the appropriate View(s) appropriate for the app state.
ConnectView.xaml
- Host/Join radio control group
- Spectator Checkbox
- Endpoint Textboxes (host/port)
- Host Button
- Join Button
GameSessionView.xaml
- The main game session view with the match state, local player UI, etc.
LobbyView.xaml
- List of Team 1 Players
- List of Team 2 Players
- Switch Team Button
- Ready Button
- Start Match Button
CharacterSelectionView.xaml
- Allows the player to select a character to use
- 3 Character Buttons
- Ready Button
- Start Match Button
RoundView.xaml
- display pre-round, post-round, and combat phase, slightly animated content for round transitions and damage/event notifications
- Round Starting, Round Ended: Victory!, Defeat!
- Round Number
- Time Remaining (seconds)
MatchOverView.xaml
- Match Over teams statistics
- List winning team players match stats: PlayerIcon, PlayerName, Score, Damage
- List of losing team players match stats.
- Lobby Button
- Disconnect Button
ConfirmView.xaml
- Message ex “Disconnect?”
- Confirm Button
- Cancel Button
Application States for View Use Cases
Foyer State
- AppRootView.xaml
– ConnectView.xaml
GameSession State
- AppRootView.xaml
– GameSessionView.xaml
— Lobby SubState
- LobbyView.xaml
— Match SubState
- RoundView.xaml (will display short lived messages during round transitions)
- ConfirmView.xaml (“Disconnect?” user may want to disconnect during the match”, show on disconnect keypress)
— MatchOver State
- MatchOverView.xaml
Expectations:
- Build all .xaml files consistent with the MVVM pattern
.xaml.cs backing files for root and all views
*ViewModel.cs for bindings and interactions
- Bind all Views and ViewModels (We will collab here)
- Framework allows for dynamic loading/unloading of views as needed
- We would like a Functional Pass
— get everything working properly.
— We do not need styling, animations, etc. on the content/controls.
We are looking for help in creating responsive UI using the MVVM pattern for our Unity prototype 3v3 multiplayer MOBA.
Specifically the AppRootView.xaml, and the AppRootView.xaml.cs and RootViewViewModel.cs files
The Goal
- The goal is for the AppRootView (UserControl) to contain all the references and app level resources to the Views and a ViewModel to load/unload them as needed.
- utilize best practices based on the Optimizing NoesisGUI Performance document https://www.noesisengine.com/docs/Gui.C ... izing.html
The following is for context.
Existing functional Views
AppRootView.xaml - this is the one we need you to design with your expertise to accomodate the view use cases listed below.
- root content container for the app, loads/unloads the appropriate View(s) appropriate for the app state.
ConnectView.xaml
- Host/Join radio control group
- Spectator Checkbox
- Endpoint Textboxes (host/port)
- Host Button
- Join Button
GameSessionView.xaml
- The main game session view with the match state, local player UI, etc.
LobbyView.xaml
- List of Team 1 Players
- List of Team 2 Players
- Switch Team Button
- Ready Button
- Start Match Button
CharacterSelectionView.xaml
- Allows the player to select a character to use
- 3 Character Buttons
- Ready Button
- Start Match Button
RoundView.xaml
- display pre-round, post-round, and combat phase, slightly animated content for round transitions and damage/event notifications
- Round Starting, Round Ended: Victory!, Defeat!
- Round Number
- Time Remaining (seconds)
MatchOverView.xaml
- Match Over teams statistics
- List winning team players match stats: PlayerIcon, PlayerName, Score, Damage
- List of losing team players match stats.
- Lobby Button
- Disconnect Button
ConfirmView.xaml
- Message ex “Disconnect?”
- Confirm Button
- Cancel Button
Application States for View Use Cases
Foyer State
- AppRootView.xaml
– ConnectView.xaml
GameSession State
- AppRootView.xaml
– GameSessionView.xaml
— Lobby SubState
- LobbyView.xaml
— Match SubState
- RoundView.xaml (will display short lived messages during round transitions)
- ConfirmView.xaml (“Disconnect?” user may want to disconnect during the match”, show on disconnect keypress)
— MatchOver State
- MatchOverView.xaml
Expectations:
- Build all .xaml files consistent with the MVVM pattern
.xaml.cs backing files for root and all views
*ViewModel.cs for bindings and interactions
- Bind all Views and ViewModels (We will collab here)
- Framework allows for dynamic loading/unloading of views as needed
- We would like a Functional Pass
— get everything working properly.
— We do not need styling, animations, etc. on the content/controls.
Re: Requesting help setting up AppRootView with efficiency and performance best practices
We're using Caliburn.Noesis with small modifications (eg. replaced IoC container with TinyIoC) and it's working great for us!
Who is online
Users browsing this forum: Google [Bot] and 6 guests