// Use this for initialization void Start() { ws = GameObject.Find("WebsocketManager").GetComponent <WSManager>(); hand_l = GameObject.Find("Hand_l").gameObject; hand_r = GameObject.Find("Hand_r").gameObject; }
public AdministrationViewModel(WSManager ds) : base(ds) { MessengerInstance.Register <AdmNavigationMessage>(this, (m) => { switch (m.View) { case AdminViewEnum.Course: AdmContent = SimpleIoc.Default.GetInstance <AdmCourseViewModel>(); break; case AdminViewEnum.Topic: AdmContent = SimpleIoc.Default.GetInstance <AdmTopicViewModel>(); break; case AdminViewEnum.Question: break; case AdminViewEnum.NewPerson: AdmContent = SimpleIoc.Default.GetInstance <NewPersonViewModel>(); break; default: break; } }); if (IsInDesignMode) { } else { } }
public override async Task ReceiveAsync(WebSocket socket, WebSocketReceiveResult result, byte[] buffer) { var socketId = WSManager.GetId(socket); var message = $"{socketId} said: {Encoding.UTF8.GetString(buffer, 0, result.Count)}"; await SendMessageToAllAsync(message); }
public WSManager WSMObj; //ワールドセレクトマネージャーのオブジェクト // Start is called before the first frame update void Start() { NowTime = 0.0f; MoveEnd = true; WSMObj = GameObject.FindWithTag("WSManager").GetComponent <WSManager>(); WSMObj.SetMoveEndFlg(MoveEnd); }
public void S2_OK_OnHit() { WSManager ws = FindObjectOfType <WSManager>(); if (ws != null) { string active_hand = ws.getActiveHand(); float dis = -1.0f; if (active_hand == "LEFT_HAND") { dis = Vector3.Distance(m_leftHandPalm.position, Camera.main.transform.position); } else if (active_hand == "RIGHT_HAND") { dis = Vector3.Distance(m_rightHandPalm.position, Camera.main.transform.position); } if (dis > GlobalStates.globalConfigFile.NearLeapOutboundDistance) { GlobalStates.globalConfigFile.FarLeapOutboundDistance = dis; m_Stage = 3; m_Stage3.gameObject.SetActive(false); OnFinished(); } } }
public override async Task OnDisconnected(WebSocket socket) { var id = WSManager.GetId(socket); await base.OnDisconnected(socket); await SendMessageToAllAsync($"{id} has disconnected"); }
public override async void OnConnected(WebSocket socket) { base.OnConnected(socket); var socketId = WSManager.GetId(socket); await SendMessageToAllAsync($"{socketId} is now connected"); }
// Start is called before the first frame update void Start() { wsmanager = GameObject.Find("WebsocketManager").GetComponent <WSManager>(); if (DummyDataReplay) { GetComponent <WSManager>().enableDummyDataReplay(); loadCache(); } }
public RealTimeWSMiddleware( RequestDelegate next, WSManager WSManager, WSHandler wsHandler) { _next = next; _wSConnectionManager = WSManager; _wsHandler = wsHandler; }
public AdmTopicViewModel(WSManager ds) : base(ds) { if (IsInDesignMode) { } else { } }
public LoginViewModel(WSManager ds):base(ds) { if (IsInDesignMode) { ErrorMsg = "Error message"; UserName = "******"; Password = "******"; } else { } }
public NewPersonViewModel(WSManager ds) : base(ds) { if (IsInDesignMode) { } else { } }
public LoginViewModel(WSManager ds) : base(ds) { if (IsInDesignMode) { ErrorMsg = "Error message"; UserName = "******"; Password = "******"; } else { } }
public AdmTopicCWViewModel(WSManager ds) : base(ds) { ErrorMsg = string.Empty; if (IsInDesignMode) { } else { } }
public TestDetailsViewModel(WSManager ds) : base(ds) { if (IsInDesignMode) { SetInstance(new List <TestDetails>()); Instance.Add(new TestDetails { QuestionText = "kerdes", ChekedAnswer = "jo valasz", CorrectAnswer = "jo valasz" }); Instance.Add(new TestDetails { QuestionText = "kerdes", ChekedAnswer = "valasz", CorrectAnswer = "rossz valasz" }); } }
public StudentViewModel(WSManager ds) : base(ds) { NumberQuestion = 15; if (IsInDesignMode) { _LoggedInPerson = new PersonDetails() { PersonID = 1, FirstName = "jozsika" }; TestResultCaption = string.Format("Eddigi Tesztek Eredményei: {0}", _LoggedInPerson.TreeDisplayName); ErrorMsg = "Ez meg az error"; ShowPersonList = true; StatisticList = new ObservableCollection <Statistics>(); StatisticList.Add(new Statistics { Generated = DateTime.Now, TestID = 2, Questions = 15, CorrectAnswer = 3, Percent = 3, TotalTime = TimeSpan.FromSeconds(69) }); PersonTreeList = new List <PersonRole>(); PersonTreeList.Add(new PersonRole { RoleName = "Saját", Children = new List <PersonDetails>() { _LoggedInPerson } }); PersonTreeList.Add(new PersonRole { RoleName = "Diák", Children = new List <PersonDetails>() { new PersonDetails { FirstName = "vki", LastName = "vki" } } }); } else { } }
public TestExecutionViewModel(WSManager ds, TestExecutionInit testinitdata) : base(ds) { if (IsInDesignMode) { TestQuestion = "Ez egy jo kis kerdes?"; Answer1 = "Valasz 1"; Answer2 = "Valasz 2"; Answer3 = "Valasz 3"; Answer4 = "Valasz 4"; CheckedAnswer = 0; } else { _InitData = testinitdata; } }
public async override Task ReceiveAsync(WebSocket socket, WebSocketReceiveResult result, byte[] buffer) { var id = WSManager.GetId(socket); var message = GetMessageFromByteArray(result, buffer); try { SocketMessage m = JsonConvert.DeserializeObject <SocketMessage>(message); if (m != null) { AllConnectedUsers.TryGetValue(socket, out SocketUser socketUser); m.Content.UserId = socketUser.User.Id; //_mmw.Create(m.Content); switch (m.Type) { case "BROADCASTMESSAGE": await SendMessageToAllAsync(message); break; case "PRIVATEMESSAGE": await SendMessageAsync(m.To, message); break; case "COMMAND": await SendMessageToAllAsync(message); break; default: await SendMessageAsync(socket, "{ \"error\": \"bad request\"}"); break; } } } catch (Exception e) { await SendMessageAsync(socket, "bad request"); } }
public override async void OnConnected(WebSocket socket, HttpContext context) { var user = _am.Authenticate(context); if (user == null) { socket.Abort(); return; } base.OnConnected(socket, context); var socketUser = new SocketUser(user, _cm, socket); AllConnectedUsers.TryAdd(socket, socketUser); foreach (var c in socketUser.SubscribedChannels) { Channels.TryGetValue(c.Id, out SocketChannel channel); channel.JoinChannel(socketUser); } var socketId = WSManager.GetId(socket); await SendMessageToAllAsync("{ \"type\": \"USERCONNECTED\", \"message\":\"" + user.Email + " is now connected\"}"); }
static void gui_PluginReady(object sender, EventArgs e) { manager = new WSManager(); GuiLoaded.Invoke(null, null); }
public MainViewModel(WSManager ds) : base(ds) { MessengerInstance.Register <AfterLoginLogoutMessage>(this, AfterLogin); MessengerInstance.Register <TestExecutionRunningMessage>(this, (m) => { if (m.IsTestRunning) { IsAdminVisible = false; IscmdLogoutVisible = false; } else { IsAdminVisible = _DataService.LoggedInUser.RoleEnum == PersonRoleEnum.Teacher || _DataService.LoggedInUser.RoleEnum == PersonRoleEnum.Admin; IscmdLogoutVisible = true; } }); MessengerInstance.Register <NavigationMessage>(this, (m) => { switch (m.View) { case ViewEnum.Login: CurrentViewModel = SimpleIoc.Default.GetInstance <LoginViewModel>(); if (m.UserState != null && m.UserState.ToString() == "SessionExpired") { IscmdLogoutVisible = false; IsAdminVisible = false; WelcomeString = "Lejárt a Session. Kérlek, jelentkezz be újra."; } break; case ViewEnum.Student: CurrentViewModel = SimpleIoc.Default.GetInstance <StudentViewModel>(); CurrentViewModel.ErrorMsg = string.Empty; if (m.UserState != null && ((string[])m.UserState)[0] == "TestCreateFailed") { CurrentViewModel.ErrorMsg = ((string[])m.UserState)[1]; } break; case ViewEnum.NewPerson: CurrentViewModel = SimpleIoc.Default.GetInstance <NewPersonViewModel>(); break; case ViewEnum.TestExecution: // force viewmodel initialization always in order to handle the right test execution if (SimpleIoc.Default.IsRegistered <TestExecutionViewModel>()) { SimpleIoc.Default.Unregister <TestExecutionViewModel>(); } // register TestExec Init data - if it is not yet registered if (!SimpleIoc.Default.IsRegistered <TestExecutionInit>()) { SimpleIoc.Default.Register <TestExecutionInit>(); } var init = SimpleIoc.Default.GetInstance <TestExecutionInit>(); init.NumberOfQuestions = ((TestExecutionInit)m.UserState).NumberOfQuestions; init.TopicIDs = ((TestExecutionInit)m.UserState).TopicIDs; SimpleIoc.Default.Register <TestExecutionViewModel>(); CurrentViewModel = SimpleIoc.Default.GetInstance <TestExecutionViewModel>(); break; case ViewEnum.Admin: CurrentViewModel = SimpleIoc.Default.GetInstance <AdministrationViewModel>(); break; default: break; } }); if (this.IsInDesignMode) { } else { MessengerInstance.Send <NavigationMessage>(new NavigationMessage { View = ViewEnum.Login }); } }
public BaseViewModel(WSManager ds) { _DataService = ds; }
// Use this for initialization void Start() { ws = GameObject.Find("WebsocketManager").GetComponent <WSManager>(); dataManager = GameObject.Find("gDataManager").GetComponent <DataManager> (); l_palm = this.transform.GetChild(5).gameObject; l_finger0 = this.transform.GetChild(0).gameObject; l_finger0_bone0 = l_finger0.transform.GetChild(0).gameObject; l_finger0_bone1 = l_finger0.transform.GetChild(1).gameObject; l_finger0_bone2 = l_finger0.transform.GetChild(2).gameObject; l_finger1 = this.transform.GetChild(1).gameObject; l_finger1_bone0 = l_finger1.transform.GetChild(0).gameObject; l_finger1_bone1 = l_finger1.transform.GetChild(1).gameObject; l_finger1_bone2 = l_finger1.transform.GetChild(2).gameObject; l_finger2 = this.transform.GetChild(2).gameObject; l_finger2_bone0 = l_finger2.transform.GetChild(0).gameObject; l_finger2_bone1 = l_finger2.transform.GetChild(1).gameObject; l_finger2_bone2 = l_finger2.transform.GetChild(2).gameObject; l_finger3 = this.transform.GetChild(3).gameObject; l_finger3_bone0 = l_finger3.transform.GetChild(0).gameObject; l_finger3_bone1 = l_finger3.transform.GetChild(1).gameObject; l_finger3_bone2 = l_finger3.transform.GetChild(2).gameObject; l_finger4 = this.transform.GetChild(4).gameObject; l_finger4_bone0 = l_finger4.transform.GetChild(0).gameObject; l_finger4_bone1 = l_finger4.transform.GetChild(1).gameObject; l_finger4_bone2 = l_finger4.transform.GetChild(2).gameObject; l_arm = transform.Find("arm"); kalmanPalm = new MatrixKalmanWrapper(); kalmanIndex = new MatrixKalmanWrapper(); kalmanThumb = new MatrixKalmanWrapper(); kalmanHand = new MatrixKalmanWrapper(); //moving average queues queuePalm = new Vector3[smoothingBuffer]; queueIndex = new Vector3[smoothingBuffer]; queueThumb = new Vector3[smoothingBuffer]; queueHand = new Vector3[smoothingBuffer]; //initialization for (int i = 0; i < smoothingBuffer; i++) { queuePalm[i] = Vector3.zero; queueIndex[i] = Vector3.zero; queueThumb[i] = Vector3.zero; queueHand[i] = Camera.main.transform.position + Camera.main.transform.rotation * leapMotionOffset; } //check Debug.Log("Sync check hand." + GlobalStates.globalConfigFile.Available); if (GlobalStates.globalConfigFile.Available) { initialLeapMotionOffset = GlobalStates.globalConfigFile.HandOffset; } else { initialLeapMotionOffset = leapMotionOffset; } }
// Update is called once per frame protected virtual void Update() { // _UpdateApplicationLifecycle(); if (m_ARSupport == null) { return; } m_AllPlanes = m_ARSupport.getPlanes(); // If Interaction with ARCore planes is available. if (m_EnableARPlaneInteraction) { if (Input.touchCount == 0) { return; } Touch touch = Input.GetTouch(0); // if current touch is valid. (notice: here is a ! mark before the logic) if (!(Input.touchCount < 1 || touch.phase != TouchPhase.Began)) { // if hitting on a gui button, then don't do any interaction. /* condition only passes when no gui is hit */ if (EventSystem.current == null || !(EventSystem.current.IsPointerOverGameObject() || EventSystem.current.currentSelectedGameObject != null)) { List <PortalbleHitResult> hits = new List <PortalbleHitResult>(); if (m_ARSupport.Raycast(touch.position, hits)) { OnARPlaneHit(hits[0]); } } } } // If interaction with Unity planes is available if (m_EnableUnityPlaneInteraction && m_UnityPlaneInteractionLayer >= 0) { if (m_FirstPersonCamera) { Touch touch; // If current touch is valid. (Notice: Here is a ! mark before the logic) if (!(Input.touchCount < 1 || (touch = Input.GetTouch(0)).phase != TouchPhase.Began)) { // If hitting on a gui button, then don't do any interaction. if (EventSystem.current == null || !(EventSystem.current.IsPointerOverGameObject() || EventSystem.current.currentSelectedGameObject != null)) { Ray ray = m_FirstPersonCamera.ScreenPointToRay(touch.position); RaycastHit hit; if (Physics.Raycast(ray, out hit, 9999f, 0x0fffffff)) { if (hit.transform.GetComponent <UnityEngine.XR.ARFoundation.ARPlane>() != null) { OnUnityPlaneHit(hit); } } } } } } //if (m_EnablePlaneGenerator) { // if (Session.Status == SessionStatus.Tracking) { // // Must be tracking. // // Iterate over planes found in this frame and instantiate corresponding GameObjects to visualize them. // Session.GetTrackables<DetectedPlane>(m_NewPlanes, TrackableQueryFilter.New); // for (int i = 0; i < m_NewPlanes.Count; i++) { // // Instantiate a plane visualization prefab and set it to track the new plane. The transform is set to // // the origin with an identity rotation since the mesh for our prefab is updated in Unity World // // coordinates. // GameObject planeObject = Instantiate(m_DetectedPlanePrefab, Vector3.zero, Quaternion.identity, transform); // planeObject.GetComponent<DetectedPlaneVisualizer>().Initialize(m_NewPlanes[i]); // } // } //} if (m_EnableHandDistanceWarning) { // Find two hands UpdateHandTransform(); bool foc = false; /** * if (m_tLeftHand != null && CheckDistance(m_tLeftHand, out foc)) { * OnHandInappropriateDistance(foc); * } * else if (m_tRightHand != null && CheckDistance(m_tRightHand, out foc)) { * OnHandInappropriateDistance(foc); * }**/ // Check visualization availability.. if (m_RedScreenInstance == null) { m_RedScreenInstance = GameObject.Instantiate(m_RedScreen); } // Currently, only check for right hand. Cause we don't know activity of hand. if (m_WSManager == null) { m_WSManager = GameObject.FindObjectOfType <WSManager>(); } if (m_WSManager != null && m_RedScreenInstance != null) { string activeHand = m_WSManager.getActiveHand(); bool distanceCheckResult = false; if (activeHand == "NO_HAND") { m_RedScreenInstance.SetActive(false); } else if (activeHand == "LEFT_HAND") { distanceCheckResult = m_tLeftHand != null && CheckDistance(m_tLeftHand, out foc); } else { distanceCheckResult = m_tRightHand != null && CheckDistance(m_tRightHand, out foc); } if (distanceCheckResult) { if (m_RedScreenInstance != null && m_RedScreenInstance.activeSelf == false) { m_RedScreenInstance.SetActive(true); } OnHandInappropriateDistance(foc); } else { if (m_RedScreenInstance != null && m_RedScreenInstance.activeSelf == true) { m_RedScreenInstance.SetActive(false); } } } } }
public StudentViewModel(WSManager ds):base(ds) { NumberQuestion = 15; if (IsInDesignMode) { _LoggedInPerson = new PersonDetails() { PersonID = 1, FirstName = "jozsika" }; TestResultCaption = string.Format("Eddigi Tesztek Eredményei: {0}", _LoggedInPerson.TreeDisplayName); ErrorMsg = "Ez meg az error"; ShowPersonList = true; StatisticList = new ObservableCollection<Statistics>(); StatisticList.Add(new Statistics { Generated = DateTime.Now, TestID = 2, Questions = 15, CorrectAnswer = 3, Percent = 3, TotalTime = TimeSpan.FromSeconds(69) }); PersonTreeList = new List<PersonRole>(); PersonTreeList.Add(new PersonRole { RoleName = "Saját", Children = new List<PersonDetails>() { _LoggedInPerson } }); PersonTreeList.Add(new PersonRole { RoleName = "Diák", Children = new List<PersonDetails>() { new PersonDetails { FirstName = "vki", LastName = "vki" } } }); } else { } }
public BaseCWViewModel(WSManager ds) : base(ds) { }
public MainViewModel(WSManager ds) : base(ds) { MessengerInstance.Register<AfterLoginLogoutMessage>(this, AfterLogin); MessengerInstance.Register<TestExecutionRunningMessage>(this, (m) => { if (m.IsTestRunning) { IsAdminVisible = false; IscmdLogoutVisible = false; } else { IsAdminVisible = _DataService.LoggedInUser.RoleEnum == PersonRoleEnum.Teacher || _DataService.LoggedInUser.RoleEnum == PersonRoleEnum.Admin; IscmdLogoutVisible = true; } }); MessengerInstance.Register<NavigationMessage>(this, (m) => { switch (m.View) { case ViewEnum.Login: CurrentViewModel = SimpleIoc.Default.GetInstance<LoginViewModel>(); if (m.UserState != null && m.UserState.ToString() == "SessionExpired") { IscmdLogoutVisible = false; IsAdminVisible = false; WelcomeString = "Lejárt a Session. Kérlek, jelentkezz be újra."; } break; case ViewEnum.Student: CurrentViewModel = SimpleIoc.Default.GetInstance<StudentViewModel>(); CurrentViewModel.ErrorMsg = string.Empty; if (m.UserState != null && ((string[])m.UserState)[0] == "TestCreateFailed") { CurrentViewModel.ErrorMsg = ((string[])m.UserState)[1]; } break; case ViewEnum.NewPerson: CurrentViewModel = SimpleIoc.Default.GetInstance<NewPersonViewModel>(); break; case ViewEnum.TestExecution: // force viewmodel initialization always in order to handle the right test execution if (SimpleIoc.Default.IsRegistered<TestExecutionViewModel>()) SimpleIoc.Default.Unregister<TestExecutionViewModel>(); // register TestExec Init data - if it is not yet registered if (!SimpleIoc.Default.IsRegistered<TestExecutionInit>()) { SimpleIoc.Default.Register<TestExecutionInit>(); } var init = SimpleIoc.Default.GetInstance<TestExecutionInit>(); init.NumberOfQuestions = ((TestExecutionInit)m.UserState).NumberOfQuestions; init.TopicIDs = ((TestExecutionInit)m.UserState).TopicIDs; SimpleIoc.Default.Register<TestExecutionViewModel>(); CurrentViewModel = SimpleIoc.Default.GetInstance<TestExecutionViewModel>(); break; case ViewEnum.Admin: CurrentViewModel = SimpleIoc.Default.GetInstance<AdministrationViewModel>(); break; default: break; } }); if (this.IsInDesignMode) { } else { MessengerInstance.Send<NavigationMessage>(new NavigationMessage { View = ViewEnum.Login }); } }
public AdministrationViewModel(WSManager ds):base(ds) { MessengerInstance.Register<AdmNavigationMessage>(this, (m) => { switch (m.View) { case AdminViewEnum.Course: AdmContent = SimpleIoc.Default.GetInstance<AdmCourseViewModel>(); break; case AdminViewEnum.Topic: AdmContent = SimpleIoc.Default.GetInstance<AdmTopicViewModel>(); break; case AdminViewEnum.Question: break; case AdminViewEnum.NewPerson: AdmContent = SimpleIoc.Default.GetInstance<NewPersonViewModel>(); break; default: break; } }); if (IsInDesignMode) { } else { } }