This Unity project is a VR application designed for Meta Quest devices. The application consists of multiple experiments, each with multiple targets. The experiments are managed by a global object which communicates with a server through TCP.
- TCPClient: Establishes a TCP connection to a server, sends and receives messages, and handles the connection status.
- ExperimentManager: Manages the experiment flow by setting the active experiment and cycling through experiments. It also sets the OVR refresh rate to 90Hz.
- ExperimentData: Holds the experiment number and manages the visibility and SSVEP status of target objects within each experiment.
- SSVEPManager: Controls the start, pause, and resume of SSVEP components based on elapsed time and communicates with the server.
- TargetData: Manages the visibility of the "cross" object within each target.
- SSVEP: Controls the flickering of target objects (Left and Right) using sine or square wave patterns based on the specified frequency.
Global (GameObject)
|-- TCPClient (Script)
|-- ExperimentManager (Script)
|-- Experiment (GameObject)
| |-- ExperimentData (Script)
| |-- SSVEPManager (Script)
| |-- TargetData (Script)
| |-- Target (GameObject)
| | |-- Left (GameObject)
| | | |-- SSVEP (Script)
| | |-- Right (GameObject)
| | | |-- SSVEP (Script)
| | |-- Cross (GameObject)
| | | |-- CrossVisible (Script)
| |-- (Other Targets with similar structure)
|-- (Other Experiments with similar structure)
|-- ...