diff options
Diffstat (limited to 'AnodyneArchipelago/Menu')
| -rw-r--r-- | AnodyneArchipelago/Menu/BoxedConfigState.cs | 31 | ||||
| -rw-r--r-- | AnodyneArchipelago/Menu/MenuState.cs | 35 |
2 files changed, 53 insertions, 13 deletions
| diff --git a/AnodyneArchipelago/Menu/BoxedConfigState.cs b/AnodyneArchipelago/Menu/BoxedConfigState.cs new file mode 100644 index 0000000..229b82c --- /dev/null +++ b/AnodyneArchipelago/Menu/BoxedConfigState.cs | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | using AnodyneSharp.States; | ||
| 2 | using AnodyneSharp.States.MenuSubstates; | ||
| 3 | |||
| 4 | namespace AnodyneArchipelago.Menu | ||
| 5 | { | ||
| 6 | internal class BoxedConfigState : State | ||
| 7 | { | ||
| 8 | private ConfigSubstate _substate = new(true); | ||
| 9 | |||
| 10 | public BoxedConfigState() | ||
| 11 | { | ||
| 12 | _substate.GetControl(); | ||
| 13 | } | ||
| 14 | |||
| 15 | public override void Update() | ||
| 16 | { | ||
| 17 | if (_substate.Exit) | ||
| 18 | { | ||
| 19 | Exit = true; | ||
| 20 | } | ||
| 21 | |||
| 22 | _substate.Update(); | ||
| 23 | _substate.HandleInput(); | ||
| 24 | } | ||
| 25 | |||
| 26 | public override void DrawUI() | ||
| 27 | { | ||
| 28 | _substate.DrawUI(); | ||
| 29 | } | ||
| 30 | } | ||
| 31 | } | ||
| diff --git a/AnodyneArchipelago/Menu/MenuState.cs b/AnodyneArchipelago/Menu/MenuState.cs index 59a4fdf..c7be02a 100644 --- a/AnodyneArchipelago/Menu/MenuState.cs +++ b/AnodyneArchipelago/Menu/MenuState.cs | |||
| @@ -26,6 +26,7 @@ namespace AnodyneArchipelago.Menu | |||
| 26 | private UILabel _quitLabel; | 26 | private UILabel _quitLabel; |
| 27 | 27 | ||
| 28 | private State _substate = null; | 28 | private State _substate = null; |
| 29 | private bool _hide = false; | ||
| 29 | 30 | ||
| 30 | private string _apServer = ""; | 31 | private string _apServer = ""; |
| 31 | private string _apSlot = ""; | 32 | private string _apSlot = ""; |
| @@ -109,6 +110,7 @@ namespace AnodyneArchipelago.Menu | |||
| 109 | if (_substate.Exit) | 110 | if (_substate.Exit) |
| 110 | { | 111 | { |
| 111 | _substate = null; | 112 | _substate = null; |
| 113 | _hide = false; | ||
| 112 | } | 114 | } |
| 113 | 115 | ||
| 114 | return; | 116 | return; |
| @@ -131,19 +133,22 @@ namespace AnodyneArchipelago.Menu | |||
| 131 | 133 | ||
| 132 | public override void DrawUI() | 134 | public override void DrawUI() |
| 133 | { | 135 | { |
| 134 | _selector.Draw(); | 136 | if (!_hide) |
| 135 | _versionLabel1.Draw(); | 137 | { |
| 136 | _versionLabel2.Draw(); | 138 | _selector.Draw(); |
| 137 | _serverLabel.Draw(); | 139 | _versionLabel1.Draw(); |
| 138 | _serverValue.Draw(); | 140 | _versionLabel2.Draw(); |
| 139 | _slotLabel.Draw(); | 141 | _serverLabel.Draw(); |
| 140 | _slotValue.Draw(); | 142 | _serverValue.Draw(); |
| 141 | _passwordLabel.Draw(); | 143 | _slotLabel.Draw(); |
| 142 | _passwordValue.Draw(); | 144 | _slotValue.Draw(); |
| 143 | _connectionSwitcher.Draw(); | 145 | _passwordLabel.Draw(); |
| 144 | _connectLabel.Draw(); | 146 | _passwordValue.Draw(); |
| 145 | _settingsLabel.Draw(); | 147 | _connectionSwitcher.Draw(); |
| 146 | _quitLabel.Draw(); | 148 | _connectLabel.Draw(); |
| 149 | _settingsLabel.Draw(); | ||
| 150 | _quitLabel.Draw(); | ||
| 151 | } | ||
| 147 | 152 | ||
| 148 | if (_substate != null) | 153 | if (_substate != null) |
| 149 | { | 154 | { |
| @@ -257,6 +262,10 @@ namespace AnodyneArchipelago.Menu | |||
| 257 | case 4: | 262 | case 4: |
| 258 | _substate = new ConnectionState(_apServer, _apSlot, _apPassword, OnConnected); | 263 | _substate = new ConnectionState(_apServer, _apSlot, _apPassword, OnConnected); |
| 259 | break; | 264 | break; |
| 265 | case 5: | ||
| 266 | _substate = new BoxedConfigState(); | ||
| 267 | _hide = true; | ||
| 268 | break; | ||
| 260 | case 6: | 269 | case 6: |
| 261 | GlobalState.ClosingGame = true; | 270 | GlobalState.ClosingGame = true; |
| 262 | break; | 271 | break; |
