protected static void BaseCallStateChanged(int callId, ESessionState callState, string info) { if (CallStateChanged != null) { CallStateChanged(callId, callState, info); } }
public override void Disconnect(ESessionState sessionState) { if (ClientSession.DisconnectState != ESessionState.None) { return; } ClientSession.DisconnectState = sessionState; }
public virtual void Disconnect(ESessionState sessionState) { if (ClientSession.DisconnectState != ESessionState.None) { return; } ClientSession.DisconnectState = sessionState; ClientSession.Disconnect(); }
/// <summary> /// 서버와의 연결을 끊는다. /// </summary> public void Disconnect(ESessionState sessionState) { if (_clientSession.NetState == ENetState.Disconnected) { return; } _logger.Debug(string.Format("[NetClient] Disconnect. socketHandle: {0}, sessionState: {1}", _clientSession.Socket.Handle, sessionState)); _clientSession.DisconnectState = sessionState; _clientSession.Disconnect(); }
private void OnCallStateChanged(int callId, ESessionState callState, string info) { if (callState == ESessionState.SESSION_STATE_INCOMING) { IStateMachine machine = this.Factory.createStateMachine(); if (machine.IsNull && this.Config.CFBFlag) { this.StackProxy.createCallProxy().serviceRequest(5, this.Config.CFBNumber); } else { machine.Session = callId; if (this.CallList.ContainsKey(callId)) { this.CallList[callId].State.endCall(); } else { this._calls.Add(callId, machine); } } } else { IStateMachine machine2 = this.getCall(callId); if (!machine2.IsNull) { switch (callState) { case ESessionState.SESSION_STATE_CALLING: case ESessionState.SESSION_STATE_INCOMING: case ESessionState.SESSION_STATE_CONFIRMED: return; case ESessionState.SESSION_STATE_EARLY: machine2.State.onAlerting(); return; case ESessionState.SESSION_STATE_CONNECTING: machine2.State.onConnect(); return; case ESessionState.SESSION_STATE_DISCONNECTED: OnIncomingCall(0, machine2.CallingNumber, "Answer"); machine2.State.onReleased(); return; } } } }
public URLSelectorDropboxPage() { InitializeComponent(); Messenger.Default.Register<SessionState>(this, (sessionState) => { switch (sessionState.State) { case ESessionState.Signingin: if (!string.IsNullOrEmpty(sessionState.SigningInURL)) { this.SwitchToSigningInStep2State(sessionState.SigningInURL); } else { this.sessionState = ESessionState.Signingin; } break; case ESessionState.Connected: this.SwitchToSignedInState(); break; case ESessionState.NotConnected: case ESessionState.Unknown: this.SwitchToSignedoutState(); break; default: break; } }); this.baseProgressOverlay = this.progressOverlay; this.baseProgressBarLabel = this.progressBarLabel; if (((DropboxViewModel)this.DataContext).RunningSession) { SwitchToSignedInState(); if (((DropboxViewModel)this.DataContext).ChangingDirectory) { this.progressBarLabel.Text = NewDownload.LoadingLabel; this.progressOverlay.Show(); } } else { SwitchToSignedoutState(); } }
public static void ProcessMessage(LunarSession session, LunarRequestInfo requestInfo) { EProtocolId id = (EProtocolId)requestInfo.ProtocolID; loger.Info($"中转{(EServerType)session.SessionType} 协议->{id} -> {session.SessionUuid} 。"); var objMsg = ProtocolDump.Dump(id, requestInfo.Body); if (objMsg == null) { loger.Warn("错误协议!"); return; } //登录服务器消息 if (id > EProtocolId.L2E_GAME_START && id < EProtocolId.L2E_GAME_END) { //检测连接状态 ESessionState SessionState = (ESessionState)session.SessionState; if (SessionState == ESessionState.Logined) { loger.Warn($"已登陆收到登陆协议-> {id} -> {(int)id} 。"); return; } else { //后期人多则会添加登录服务器获取人少的服 ((ProtocolMsgBase)objMsg).Shuttle = session.SessionID; SendToLogin(objMsg); } } else if (id > EProtocolId.B2T_GM_START && id < EProtocolId.B2T_GM_END) { if (session.SessionType != (short)EServerType.后台工具) { loger.Warn($"错误的GM协议-> {id} -> {(int)id} 。"); return; } } //游戏服消息 else { ((ProtocolMsgBase)objMsg).Puid = session.SessionUuid; SendToGame(objMsg); } }
private void ProcessData() { EGameState gameState = (EGameState)_data.MGameState; ESessionState sessionState = (ESessionState)_data.MSessionState; if (gameState != _lastGameState) { if (gameState == EGameState.GameFrontEnd) { Reset(); } _lastGameState = gameState; } if (gameState != EGameState.GameFrontEnd) { lock (_timingData) { if (_timingData.RaceInfo.TrackLongName == null) { if (_data.MTrackLocation.Value != "") { _timingData.RaceInfo.TrackLongName = _data.MTrackLocation.Value + " " + _data.MTrackVariation.Value; _timingData.RaceInfo.TrackShortName = _data.MTrackLocation.Value; _timingData.RaceInfo.TrackName = _data.MTrackLocation.Value + " " + _data.MTrackVariation.Value; _timingData.RaceInfo.TrackVariation = _data.MTrackVariation.Value; _timingData.RaceInfo.TrackLength = (int)_data.MTrackLength; _timingData.RaceInfo.TrackTemperature = _data.MTrackTemperature; _timingData.RaceInfo.AmbientTemperature = _data.MAmbientTemperature; _trackManager.LoadCurrentTrack(_timingData.RaceInfo.TrackName, _displayName); } } } lock (_telemetryData) { _telemetryData.Car.InCar = true; _telemetryData.Engine.RPM = _data.MRpm; _telemetryData.Car.Speed = ConvertSpeedToMPH(_data.MSpeed); _telemetryData.Car.Gear = _data.MGear; _telemetryData.Car.FuelRemaining = _data.MFuelLevel * _data.MFuelCapacity; _telemetryData.Car.FuelCapacity = _data.MFuelCapacity; _telemetryData.Engine.WaterTemp = _data.MWaterTempCelsius; _telemetryData.Timing.CurrentLapTime = _data.MCurrentTime; if (_recording) { SetTrackname(_timingData.RaceInfo.TrackName); for (int i = 0; i < _data.MNumParticipants; i++) { float lapDistance = _data.MParticipantInfo[i].mCurrentLapDistance; if (_lastLapDistance[i] == -1 || (Math.Abs(_lastLapDistance[i] - lapDistance) > _recordingDelta)) { AddTrackPoint(i, _data.MParticipantInfo[i].mCurrentLap, _data.MParticipantInfo[i].mWorldPosition); _lastLapDistance[i] = lapDistance; } } } if (_trackManager.CurrentTrack != null) { _telemetryData.ResetPlayers(); for (int i = 0; i < _data.MNumParticipants; i++) { float x = -_data.MParticipantInfo[i].mWorldPosition[0] + Math.Abs(_trackManager.CurrentTrack.TrackBounds.MaxGameX); float y = _data.MParticipantInfo[i].mWorldPosition[2] + Math.Abs(_trackManager.CurrentTrack.TrackBounds.MinGameY); float z = _data.MParticipantInfo[i].mWorldPosition[1] + Math.Abs(_trackManager.CurrentTrack.TrackBounds.MinGameZ); bool isMe = false; if (i == _data.MViewedParticipantIndex) { isMe = true; } _telemetryData.AddPlayer(x, y, z, isMe); } } } } else { _telemetryData.Car.InCar = false; } }
//////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// /// </summary> /// <param name="callId"></param> /// <param name="callState"></param> private void OnCallStateChanged(int callId, ESessionState callState, string info) { if (callState == ESessionState.SESSION_STATE_INCOMING) { IStateMachine incall = Factory.createStateMachine(); // couldn't create new call instance (max calls?) if (incall.IsNull) { // check if CFB, activate redirection if (Config.CFBFlag == true) { // get stack proxy ICallProxyInterface proxy = StackProxy.createCallProxy(); // assign callid to the proxy... //proxy.SessionId = callId; proxy.serviceRequest((int)EServiceCodes.SC_CFB, Config.CFBNumber); return; } } // save session parameters incall.Session = callId; // check if callID already exists!!! if (CallList.ContainsKey(callId)) { // shouldn't be here // release the call CallList[callId].State.endCall(); return; } // add call to call table _calls.Add(callId, incall); return; } IStateMachine call = getCall(callId); if (call.IsNull) return; switch (callState) { case ESessionState.SESSION_STATE_CALLING: //sm.getState().onCalling(); break; case ESessionState.SESSION_STATE_EARLY: call.State.onAlerting(); break; case ESessionState.SESSION_STATE_CONNECTING: call.State.onConnect(); break; case ESessionState.SESSION_STATE_DISCONNECTED: call.State.onReleased(); break; } }
/// <summary> /// /// </summary> /// <param name="callId"></param> /// <param name="callState"></param> /// <returns></returns> private static int onCallStateChanged(int callId, ESessionState callState) { BaseCallStateChanged(callId, callState, ""); return(0); }
protected static void BaseCallStateChanged(int callId, ESessionState callState, string info) { if (null != CallStateChanged) CallStateChanged(callId, callState, info); }
private void SwitchToSigningInStep2State(string signinUrl) { this.sessionState = ESessionState.Signingin; this.step2InProgress = true; this.webBrowser.Visibility = Visibility.Visible; this.webBrowser.Navigate(new Uri(signinUrl, UriKind.RelativeOrAbsolute)); }
public static void OnCallStateChanged(int callId, ESessionState callState, string info) { BaseCallStateChanged(callId, callState, info); }
/// <summary> /// /// </summary> /// <param name="callId"></param> /// <param name="callState"></param> /// <returns></returns> private static int onCallStateChanged(int callId, ESessionState callState) { ICallProxyInterface.BaseCallStateChanged(callId, callState, ""); return 0; }
/// <summary> /// /// </summary> /// <param name="callId"></param> /// <param name="callState"></param> /// <returns></returns> private static int onCallStateChanged(int callId, ESessionState callState) { ICallProxyInterface.BaseCallStateChanged(callId, callState, ""); return(0); }
/// <summary> /// /// </summary> /// <param name="callId"></param> /// <param name="callState"></param> private void OnCallStateChanged(int callId, ESessionState callState, string info) { if (callState == ESessionState.SESSION_STATE_INCOMING) { IStateMachine incall = Factory.createStateMachine(); // couldn't create new call instance (max calls?) if (incall.IsNull) { // check if CFB, activate redirection if (Config.CFBFlag == true) { // get stack proxy ICallProxyInterface proxy = StackProxy.createCallProxy(); // assign callid to the proxy... //proxy.SessionId = callId; proxy.serviceRequest((int)EServiceCodes.SC_CFB, Config.CFBNumber); return; } } // save session parameters incall.Session = callId; // check if callID already exists!!! if (CallList.ContainsKey(callId)) { // shouldn't be here // release the call CallList[callId].State.endCall(); return; } // add call to call table _calls.Add(callId, incall); return; } IStateMachine call = this[callId]; if (call.IsNull) { return; } switch (callState) { case ESessionState.SESSION_STATE_CALLING: //sm.getState().onCalling(); break; case ESessionState.SESSION_STATE_EARLY: call.State.onAlerting(); break; case ESessionState.SESSION_STATE_CONNECTING: call.State.onConnect(); break; case ESessionState.SESSION_STATE_DISCONNECTED: call.State.onReleased(); break; } }
private void SwitchToSignedoutState() { this.sessionState = ESessionState.NotConnected; this.webBrowser.Visibility = Visibility.Collapsed; this.FileBrowserControl.Visibility = System.Windows.Visibility.Collapsed; this.SigninLabel.Visibility = System.Windows.Visibility.Visible; var buttons = (this.Resources["ApplicationBarResources"] as ApplicationBar).Buttons; this.ApplicationBar.Buttons.Clear(); this.ApplicationBar.Buttons.Add(buttons[0]); }