Пример #1
0
        public void VisualizePatient()
        {
            patient = GameObject.Find(GameManager.ActivePatient.Name);

            if (notVisualized)
            {
                foreach (var joint in joints)
                {
                    Text debugText;

                    debugTextPrefab = Instantiate(debugTextPrefab);
                    debugText       = debugTextPrefab.GetComponent <Text>();
                    debugText.name  = string.Format("{0}_debugText", joint);
                    debugText.transform.SetParent(patient.transform, true);
                    debugTexts.Add(joint.ToString(), debugText);
                }

                circlePrefab = Instantiate(circlePrefab);
                circlePrefab.transform.SetParent(sidebar.transform, false);
                showCircle = circlePrefab.GetComponent <ShowCircle>();
                drawables.Add(showCircle);

                linePrefab = Instantiate(linePrefab);
                linePrefab.transform.SetParent(patient.transform, true);
                showLine = linePrefab.GetComponent <ShowLine>();
                drawables.Add(showLine);

                infoTextPrefab  = Instantiate(infoTextPrefab);
                informationText = infoTextPrefab.GetComponent <Text>();
                informationText.transform.SetParent(informationPanel.transform, false);

                notVisualized = false;
            }
        }
    /// <summary>
    /// Punkt wejœcia aplikacji rysuj¹cej okr¹g.
    /// </summary>
    public static void Main()
    {
        Form f = new ShowCircle();

        f.ClientSize = new Size(500, 500);
        f.Text       = "Okr¹g za pomoc¹ równañ parametrycznych";
        Application.Run(f);
    }
Пример #3
0
    /// <summary>
    /// The main entry point for this circle-drawing program.
    /// </summary>
    public static void Main()
    {
        Form f = new ShowCircle();

        f.ClientSize = new Size(500, 500);
        f.Text       = "A Circle from Parametric Equations";
        Application.Run(f);
    }
Пример #4
0
    private void OnSceneGUI()
    {
        ShowCircle sC = target as ShowCircle;

        Handles.color = sC.color;
        Handles.DrawSolidDisc(sC.transform.position, Vector3.up, sC.radius);

        sC.radius = Handles.ScaleValueHandle(sC.radius, sC.transform.position, Quaternion.identity, 1, Handles.ConeCap, 1);
    }
Пример #5
0
 public static void Move2Start()
 {
     m2MoveTimer -= Time.deltaTime;
     if (m2MoveTimer < 0)
     {
         timeLine += Time.deltaTime;
         csvContent.AppendLine((float)timeLine + "," + trials + "," + "M2Reset" + "," + DynaLinkHS.StatusRobot.PositionDataJoint1 + "," + DynaLinkHS.StatusRobot.PositionDataJoint2);
         DynaLinkHS.CmdServoOff();
         ShowCircle.EndPointCircle(blockNum);
         RunFSM.currState = RunFSM.GameState_Enum.STATE_TRIALSTART;
     }
     else
     {
         timeLine += Time.deltaTime;
         csvContent.AppendLine((float)timeLine + "," + trials + "," + "M2Reset" + "," + DynaLinkHS.StatusRobot.PositionDataJoint1 + "," + DynaLinkHS.StatusRobot.PositionDataJoint2);
     }
 }
Пример #6
0
    public static void Break()
    {
        if (taskNum >= SetYaml.trialNum)
        {
            ShowCircle.aimObject.SetActive(false);
            // save data
            //SaveCsv.SaveData(System.Environment.CurrentDirectory + "\\FittsTouchingEXP\\" + GlobalVar.FILENAME + "1.csv",
            //timeSequence, trialNum, taskState, postitionX, postitionY);

            string csvfullfilename = System.Environment.CurrentDirectory + "\\FittsTouchingEXP\\" + GlobalVar.FILENAME + ".csv";

            File.WriteAllText(csvfullfilename, "Time,Trial,State,PositionX,PositionY\n");
            File.AppendAllText(csvfullfilename, csvContent.ToString());
            Application.Quit();
        }
        else
        {
            ShowCircle.aimObject.GetComponent <Renderer>().enabled = false; // circle vanish
            breakTimer -= Time.deltaTime;                                   // break timer --
            timeLine   += Time.deltaTime;
            timeSequence.Add(timeLine);                                     // time
            postitionX.Add(MoveObject.screenPos.x);                         // cursor X
            postitionY.Add(MoveObject.screenPos.y);                         // cursor Y
            trialNum.Add(taskNum);
            taskState.Add("State_Break");
            print("State_Break");
            csvContent.AppendLine((float)timeLine + "," + taskNum + "," + "State_Break" + "," + MoveObject.screenPos.x + "," + MoveObject.screenPos.y);

            if (breakTimer <= 0f)
            {
                // 【break】transfer to【circle shows, next trial starts】
                RunFSM.currState = RunFSM.GameState_Enum.STATE_CIRCLESHOWING;
                taskTimer        = SetYaml.taskTimeSet; // next trial starts
                ShowCircle.RandomCircle(taskNum);       //new circle
                GlobalVar.isCollisionOn  = false;
                GlobalVar.isCollisionOff = false;
            }
        }
    }
Пример #7
0
    public static void InCircle()
    {
        taskTimer   -= Time.deltaTime;
        circleTimer -= Time.deltaTime;
        ShowCircle.ChangeCircleColor(taskNum);
        // record data
        timeLine += Time.deltaTime;
        timeSequence.Add(timeLine);             // time
        postitionX.Add(MoveObject.screenPos.x); // cursor X
        postitionY.Add(MoveObject.screenPos.y); // cursor Y
        trialNum.Add(taskNum);
        taskState.Add("State_InCircle");
        print("State_InCircle");
        csvContent.AppendLine((float)timeLine + "," + taskNum + "," + "State_InCircle" + "," + MoveObject.screenPos.x + "," + MoveObject.screenPos.y);


        if (taskTimer <= 0f)
        {
            // 【in circle】transfer to 【trial fail】
            RunFSM.currState = RunFSM.GameState_Enum.STATE_TRIALFAIL;
        }
        else
        {
            if (GlobalVar.isCollisionOff == true)
            {
                // 【in circle】transfer to【out circle】
                RunFSM.currState = RunFSM.GameState_Enum.STATE_OUTCIRCLE;
            }
            else
            {
                if (circleTimer <= 0f)
                {
                    // 【in circle】transfer to【trial succeed】
                    RunFSM.currState = RunFSM.GameState_Enum.STATE_TRIALSUCCEED;
                }
            }
        }
    }