Пример #1
0
    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);
Пример #2
0
    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));
    }