void UpdateButtonState() { if (m_OnlineClient == null || m_OnlineClient.GetOnlineState() == OnlineClient.OnlineState.Disconnected) { btnDisconnect.IsEnabled = false; btnLogin.IsEnabled = true; listCharacter.IsEnabled = false; btnCreateCharacter.IsEnabled = false; btnRefreshCharacterList.IsEnabled = false; listZone.IsEnabled = false; btnZoneList.IsEnabled = false; return; } btnDisconnect.IsEnabled = true; btnLogin.IsEnabled = false; listZone.IsEnabled = false; btnZoneList.IsEnabled = false; var onlineState = m_OnlineClient.GetOnlineState(); switch (onlineState) { case OnlineClient.OnlineState.InGameServer: btnCreateCharacter.IsEnabled = true; listCharacter.IsEnabled = true; btnRefreshCharacterList.IsEnabled = true; listZone.IsEnabled = true; btnZoneList.IsEnabled = true; break; case OnlineClient.OnlineState.InGameJoiningGameInstance: case OnlineClient.OnlineState.InGameConnectingGameInstance: case OnlineClient.OnlineState.InGameInGameInstance: btnCreateCharacter.IsEnabled = false; listCharacter.IsEnabled = false; btnRefreshCharacterList.IsEnabled = false; break; } }