예제 #1
0
        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;
            }
        }