protected override JobHandle OnUpdate(JobHandle inputDeps) { Entities .WithoutBurst() .ForEach((ref PaddleMovementData moveData, in PaddleInputData inputData) => { moveData.direction = 0; moveData.direction += Input.GetKey(inputData.upKey) ? 1 : 0; moveData.direction -= Input.GetKey(inputData.downKey) ? 1 : 0; BrainFlowData bfScript = GameManager.main.brainflowPrefab.GetComponent <BrainFlowData>(); if (bfScript.isBoardNull()) { return; } //double data = (BrainFlowData.ratios[6] + BrainFlowData.ratios[7]) / 2; //Debug.Log(data); double emg_thresh = .2d; double data = BrainFlowData.ratios[0]; GameManager.main.updatePlayerData(0, string.Format("{0:N2}", data)); moveData.direction += data > emg_thresh ? 1 : 0; double data2 = BrainFlowData.ratios[1]; //Debug.Log(data2); GameManager.main.updatePlayerData(1, string.Format("{0:N2}", data2)); moveData.direction += data2 > emg_thresh ? -1 : 0; /* * double data3 = BrainFlowData.accelData[BrainFlowData.accelData.Length - 2]; * GameManager.main.updatePlayerAccelData(string.Format("{0:N2}", data3)); * int direction = data3 > 0 ? 1 : -1; * moveData.direction += Math.Abs(data3) > .4f ? 1 * direction : 0; */ }).Run(); return(default);
private void Awake() { if (main != null && main != this) { Destroy(gameObject); return; } main = this; playerScores = new int[2]; manager = World.DefaultGameObjectInjectionWorld.EntityManager; GameObjectConversionSettings settings = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null); ballEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(ballPrefab, settings); oneSecond = new WaitForSeconds(1f); halfSecond = new WaitForSeconds(.5f); delay = new WaitForSeconds(respawnDelay); Instantiate(brainflowPrefab); //Pass information from main menu to the brainflow object BrainFlowData bfScript = brainflowPrefab.GetComponent <BrainFlowData>(); bfScript.setLocalControlParameters(MainMenu.boardSelect, MainMenu.controlMethod); bfScript.init(); mainText = Instantiate(mainTextPrefab, Vector3.zero, Quaternion.identity) as Text; mainText.transform.SetParent(renderCanvas.transform, false); mainText.text = ""; mainText.gameObject.SetActive(false); StartCoroutine(CountdownAndSpawnBall(mainText)); }