void createBatches() { VariableFetcher fetch = VariableFetcher.Get; batches = new TaskBatch[STANDARD_BATCH_COUNT + HYBRID_BATCH_COUNT]; for (int i = START_BATCH; i <= STANDARD_BATCH_COUNT; i++) { int batchNum = i; int batchIndex = batchNum - 1; fetch.GetBool(getImageCheckKey(batchNum), delegate(bool isImages) { string batchName = string.Format("{0}{1}", BATCH_KEY, batchNum); if (isImages) { batches[batchIndex] = new ImageTaskBatch(batchName, processBatch); } else { batches[batchIndex] = new TaskBatch(batchName, processBatch); } // In the Editor the arrays are not full initialized when all batches have been processed // So the post processing callback should run here, to ensure the array has been populated #if UNITY_EDITOR postProcessBatch(); #endif }); } randomBatch = UnityEngine.Random.Range(0, STANDARD_BATCH_COUNT); }
TSTaskDescriptor trackTask(StimuliSet set, int stimulusPosition) { TSTaskDescriptor task = new TSTaskDescriptor(); task.BlockName = data.CurrentBatch.ToString(); task.StimulusPosition = stimulusPosition; task.TaskType = (int)boardTiles[stimulusPosition].GetMatchType + 1; if (batch is HybridTaskBatch) { ImageStimuliSet imageSet = set as ImageStimuliSet; HybridTaskBatch hybridBatch = batch as HybridTaskBatch; if (imageSet.HasImage1) { task.Stimuli1Index = hybridBatch.GetStimuli1Index(imageSet.Stimuli1Img); } else { task.Stimuli1Index = hybridBatch.GetStimuli1Index(imageSet.Stimuli1); } if (imageSet.HasImage2) { task.Stimuli2Index = hybridBatch.GetStimuli2Index(imageSet.Stimuli2Img); } else { task.Stimuli2Index = hybridBatch.GetStimuli2Index(imageSet.Stimuli2); } } else if (set is ImageStimuliSet) { ImageStimuliSet imageSet = set as ImageStimuliSet; ImageTaskBatch imageBatch = batch as ImageTaskBatch; task.Stimuli1Index = imageBatch.GetStimuli1Index(imageSet.Stimuli1Img); task.Stimuli2Index = imageBatch.GetStimuli2Index(imageSet.Stimuli2Img); } else { task.Stimuli1Index = batch.GetStimuli1Index(set.Stimuli1); task.Stimuli2Index = batch.GetStimuli2Index(set.Stimuli2); } task.TypeOfBlock = ((int)data.CurrentBatchIndex) + 1; TSTaskType taskType = data.IsTaskSwitch ? TSTaskType.TaskSwitch : TSTaskType.TaskRepeat; task.IsNewTaskSwitch = (int)taskType; data.StartTimer(getTaskKey()); return(task); }
bool isValidPlacementImage(TSPieceID id, ImageTaskBatch batch, TSGameTile targetTile) { switch (targetTile.GetMatchCondition) { case TSMatchCondition.Stimuli1Category1: return(batch.IsValidStimuli1Category1(id.Stimuli1Image)); case TSMatchCondition.Stimuli1Category2: return(batch.IsValidStimuli1Category2(id.Stimuli1Image)); case TSMatchCondition.Stimuli2Category1: return(batch.IsValidStimuli2Category1(id.Stimuli2Image)); case TSMatchCondition.Stimuli2Category2: return(batch.IsValidStimuli2Category2(id.Stimuli2Image)); default: return(false); } }