void Update() { //자극물을 60 * n 프레임(n초) 이상 쳐다봤을때 select 처리 if (countStart) { framecount++; if (framecount == 120) //2초 응시 { MarkerControl.onSelect = true; //UDPGeneration 의 Update()내에서 캐치하여 UDP값 전송. /* HM 중요 */ MarkerControl.SelectedMarker = gameObject.transform.root.name; Debug.Log("onSelect : Choose " + MarkerControl.SelectedMarker); // 이 시점에 UDP로 트리거 값 보내줘야함 MarkerControl.ActivateMarker(false); MarkerControl.ActivateStimuli(true); MarkerControl.GazeCursor.SetActive(false); // 명령어 선택단계에서 거슬리는 게이즈 비활성화 //onSelect하고 다시 명령어 선택단계로 돌아왔을때 이전에 인식된 아이콘 남아있지 않도록 처리해주어야함 //다음번 QR 인식시 Icon의 색깔 초기로 재설정 SpriteRenderer sprenderer = GetComponent <SpriteRenderer>(); sprenderer.color = ColorUnfocused; framecount++; //framecount 반복문 벗어나도록. 그래야 위 명령어들 한번만 실행됨 } } }
private void ShowMarkerValue(object sender, EventArgs eventArgs) { MarkerControl markerControl = sender as MarkerControl; EasyChartX parentChart = markerControl.Parent.Parent as EasyChartX; Point tipLocation = markerControl.Location; tipLocation.X += MarkerSize; tipLocation.Y += MarkerSize; const string markerValueFormat = "X:{0}{1}Y:{2}"; parentChart.ShowMarkerValue(string.Format(markerValueFormat, markerControl.XValue, Environment.NewLine, markerControl.YValue), tipLocation, true); }
//-----------------------------CUSTOM FUNCTION---------------------------------// //눈 네번 깜빡임시 시스템 껐다 끄기 public void EyeBlink(string fromIP, string fromPort, byte[] data) { string dataString = System.Text.Encoding.UTF8.GetString(data); if (dataString == EyeBlink4Times) { isOn = !isOn; /* IntroScene 이 첫 단계일때의 버전 * if (isOn) // off -> on 됐을때. off 되어있으면 현재 인트로 씬일수 밖에 없음 * { * if(SceneManager.GetActiveScene().buildIndex != 0) //IntroScene * { * return; * } * //Method Selection(디폴트로 씬 시작시 비활성화되어있어야함)을 위한 SSVEP 활성화 * StimuliSet.SetActive(true); * * } * else * { * SceneManager.LoadScene(0); //IntroScene * }*/ if (isOn) // Off->On { MarkerControl.SystemON(); } else //On -> Off { isQRFirstStage = true; //QR 씬에 원래 있는 GameObject와 싱글톤 충돌되어, 싱글톤 버려지고 초기값을 가진 정적변수가 들어가는듯 SceneManager.LoadScene("QR"); // QR씬 로드하는 순간 지금의 싱글톤 정적변수는 destroy 되는듯 //MarkerControl.SystemOFF(); // MarkerControl.isFirstStage = true; } } }
internal override void BindViewToDataPoint(DataPoint dataPoint, FrameworkElement view, string valueName) { MarkerControl markerControl = view as MarkerControl; if (markerControl != null) { IAppearanceProvider appearanceProvider = (IAppearanceProvider)dataPoint; if (appearanceProvider != null) { if (valueName == "Fill" || valueName == null) { markerControl.Background = appearanceProvider.Fill; } if (valueName == "Stroke" || valueName == null) { markerControl.Stroke = appearanceProvider.Stroke; } if (valueName == "StrokeThickness" || valueName == null) { markerControl.StrokeThickness = appearanceProvider.StrokeThickness; } if (valueName == "MarkerType" || valueName == null) { markerControl.MarkerType = dataPoint.MarkerType; } if (valueName == "MarkerStyle" || valueName == null) { markerControl.Style = dataPoint.MarkerStyle; } if (valueName == "MarkerSize" || valueName == null) { double markerSize = this.GetMarkerSize(dataPoint); markerControl.Width = markerSize; markerControl.Height = markerSize; } if (valueName == "Opacity" || valueName == "ActualOpacity" || valueName == null) { markerControl.Opacity = dataPoint.ActualOpacity; } if (valueName == "Effect" || valueName == "ActualEffect" || valueName == null) { markerControl.Effect = dataPoint.ActualEffect; } ((AnchorPanel)this.MarkersPanel).Invalidate(); } } Path path = view as Path; if (path == null) { return; } IAppearanceProvider appearanceProvider1 = (IAppearanceProvider)dataPoint; if (appearanceProvider1 == null) { return; } if (valueName == "Fill" || valueName == null) { path.Fill = appearanceProvider1.Fill; } if (valueName == "Stroke" || valueName == null) { path.Stroke = appearanceProvider1.Stroke; } if (valueName == "StrokeThickness" || valueName == null) { path.StrokeThickness = appearanceProvider1.StrokeThickness; } if (valueName == "MarkerType" || valueName == "MarkerSize" || valueName == null) { double markerSize = this.GetMarkerSize(dataPoint); path.Width = markerSize; path.Height = markerSize; path.Data = VisualUtilities.GetMarkerGeometry(dataPoint.MarkerType, new Size(markerSize, markerSize)); } if (valueName == "Opacity" || valueName == "ActualOpacity" || valueName == null) { path.Opacity = dataPoint.ActualOpacity; } if (!(valueName == "Effect") && !(valueName == "ActualEffect") && valueName != null) { return; } path.Effect = dataPoint.ActualEffect; }