public async Task <ActionResult <Session> > PostSession(OnlineSession onlineSession) { _context.OnlineSessions.Add(onlineSession); await _context.SaveChangesAsync(); return(RedirectToAction("GetSession", new { id = onlineSession.Id })); }
public async Task <IActionResult> PutSession(int id, OnlineSession onlineSession) { if (id != onlineSession.Id) { return(BadRequest()); } _context.Entry(onlineSession).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SessionExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public static OamDeviceWatcherProxy GetOamDeviceWatcherProxy(this OnlineSession session) { OamDeviceWatcher watcher = Reflector.GetInstanceFieldByName(session, "OamDeviceWatcher", ReflectionWays.SystemReflection) as OamDeviceWatcher; OamDeviceWatcherProxy proxy = new OamDeviceWatcherProxy(watcher); return(proxy); }
/// <summary> /// Called after EndGame /// </summary> public void Exit() { NativeFunction.arreterSons(); cts.Cancel(); OnlineSession.TerminateSession(); _windowOpengl?.HideWinform(); Program.MainWindow.Show(); }
public OnlineGame(IntegratedOpenGl.Mode mode, GameModel model) { _mode = mode; Model = model; OnlineSession.InitializeSession(model); var playerPos = Model.ParticipantsHashId.IndexOf(Profile.Instance.CurrentProfile.UserHashId); _userPointsManager = new PointsManager(playerPos); cts = new CancellationTokenSource(); CancellationToken token = cts.Token; Task.Factory.StartNew(() => UpdateGameModelTask(token), token); }
public static IOamConfiguration GetConfigurationByIndex( string boardName, int boardNumber, int configIndex ) { IOnlineSession onlineSession = OnlineSession.GetOnlineSession(); List <IOamLocalBoard> boards = onlineSession.Boards; IOamLocalBoard board = onlineSession.GetBoard(boardName, boardNumber); OamConfigurationScanner OCS = new OamConfigurationScanner(); OCS.Board = board; IEnumerable <IOamConfiguration> configs = OCS.Scan(); List <IOamConfiguration> configList = new List <IOamConfiguration>(configs); IOamConfiguration config = configList[configIndex]; return(config); }
private void Join() { // Don't join if already in game if (OnlineSession.Instance?.SessionId == _model.HashId) { CloseAction(); return; } OnlineSession.TerminateSession(); EventManager.Instance.Interrupt(new ChangeStateEvent() { NextState = Enums.States.OnlineGame }); EventManager.Instance.Notice(new JoinOnlineGameRequestEvent() { HashId = _model.HashId, IsPrivate = _model.IsPrivate, Password = Password, Name = _model.Name }); CloseAction(); }
/// <summary> /// 切换仿真状态 /// from OamPlcSimCtl /// </summary> /// <param name="simulated"></param> public static void SwitchBoardsToSimulationState(this OnlineSession session, bool simulated) { List <IOamLocalBoard> boards = session.Boards; foreach (IOamLocalBoard oamLocalBoard1 in boards) { OamLocalBoardBase oamLocalBoardBase = oamLocalBoard1 as OamLocalBoardBase; if (oamLocalBoardBase != null) { OamLocalBoard oamLocalBoard2 = oamLocalBoard1 as OamLocalBoard; if (oamLocalBoard2 != null) { bool isPlcSimulation = oamLocalBoard2.IsPlcSimulation(); oamLocalBoardBase.ChangeSimulated(simulated, isPlcSimulation); } else { oamLocalBoardBase.ChangeSimulated(simulated, false); } } } }
public static List <OamLocalBoardBaseProxy> GetBoardProxies(this OnlineSession session) { IList <IOamLocalBoard> boards = session.Boards; List <OamLocalBoardBaseProxy> boardproxies = new List <OamLocalBoardBaseProxy>(); foreach (IOamLocalBoard board in boards) { if (board.IsOamComBoard()) { OamComBoardProxy proxy = new OamComBoardProxy(board); boardproxies.Add(proxy); } if (board.IsOamCustomBoard()) { } if (board.IsOamLocalBoard()) { OamLocalBoardProxy proxy = new OamLocalBoardProxy(board); boardproxies.Add(proxy); } } return(boardproxies); }
public static IOamConfiguration GetConfigurationByName( string configName ) { IOnlineSession onlineSession = OnlineSession.GetOnlineSession(); List <IOamLocalBoard> Boards = onlineSession.Boards; foreach (var board in Boards) { OamConfigurationScanner OCS = new OamConfigurationScanner(); OCS.Board = board; IEnumerable <IOamConfiguration> configs = OCS.Scan(); List <IOamConfiguration> configList = new List <IOamConfiguration>(configs); foreach (var config in configList) { if (config.Name == configName) { return(config); } } } return(null); }
public static OamPlcSimCtlProxy GetPlcSimController(this OnlineSession session) { OamPlcSimCtl simCtl = session.PlcSimController as OamPlcSimCtl; return(new OamPlcSimCtlProxy(simCtl)); }
public static ClientSessions GetClientSessions(this OnlineSession session) { return(session.SessionContainer); }
public void SetContext(OnlineSession session) { DataContext = session; }