Пример #1
0
    public override void CloseRecord(int taskIndex)
    {
        // fill in error
        SpatialTask   task = TaskList[taskIndex] as SpatialTask;
        SpatialRecord rec  = RecordList[task.RecordIndex] as SpatialRecord;

        // record task result
        rec.CloseRecord(task);

        ActivateNextTask();
    }
    public override void CloseRecord(BaseTask task)
    {
        SpatialTask spatial = task as SpatialTask;

        angleError          = spatial.angleError;
        angleErrorOnPlane   = spatial.angleErrorOnPlane;
        taskPosition        = spatial.taskPosition;
        playerPosition      = spatial.playerPosition;
        controllerDirection = spatial.controllerDirection;

        long expStartTicks = ExperimentManager.ExpStartTicks;

        startTimeStamp      = TicksToSecond(spatial.startTick - expStartTicks);
        discoveredTimeStamp = TicksToSecond(spatial.discoveredTick - expStartTicks);
        questionedTimeStamp = TicksToSecond(spatial.questionedTick - expStartTicks);
        endTimeStamp        = TicksToSecond(spatial.closedTick - expStartTicks);
    }
Пример #3
0
    public void Init(List <BaseEnvBuilder.SpatialTaskData> infoList)
    {
        TaskList   = new List <BaseTask>();
        RecordList = new List <Record>();

        for (int i = 0; i < infoList.Count; i++)
        {
            GameObject gm = Instantiate(taskPrefab, infoList[i].startPos, Quaternion.identity);

            SpatialTask task = gm.GetComponent <SpatialTask>();
            TaskList.Add(task);

            task.endPos    = infoList[i].endPos;
            task.TaskIndex = i;

            gm.SetActive(false);
        }

        currentTaskIndex = 0;
        ActivateNextTask();
    }
 public SpatialRecord(SpatialRecord preRecord, SpatialTask task)
 {
     taskIndex   = task.TaskIndex;
     recordIndex = (preRecord == null) ? 0 : preRecord.recordIndex + 1;
 }