/// <summary> /// States the handle. /// State는 두개뿐이니 일단은 이렇게. /// 만약 더 추가 될게 있으면 State패턴으로 변경 /// </summary> /// <param name="state">The state.</param> public void SwitchStateHandle(TCPCommon.NETWORK_STATE state) { if (mTCPState == state) { return; } mTCPState = state; switch (mTCPState) { case TCPCommon.NETWORK_STATE.CONNECT: { mNetworkState = new NetworkConnectedState(mClientSession); } break; case TCPCommon.NETWORK_STATE.DISCONNECT: { mNetworkState = new NetworkDisconnectedState(mIp, mPort, mProtocolResolver, mClientSession); } break; case TCPCommon.NETWORK_STATE.NONE: { mNetworkState = new NetworkNoneState(); } break; default: return; } mNetworkState.Enter(this); }