示例#1
0
    public void setupTasks(Routine routine)
    {
        tasks = new List<Task>();

        if (allowAllTasks)
        {
            int numAllTasks = System.Enum.GetNames(typeof(Task)).Length;

            for (int i = 0; i < numAllTasks; i++)
            {
                Task currentTask = (Task)i;
                if((currentTask != Task.Idle)&&(currentTask != Task.Custom))
                    tasks.Add(currentTask);
            }
        }
        else
        {
            Task[] allTasks = routine.getTasks();
            
            int numAllTasks = allTasks.Length;

            for (int i = 0; i < numAllTasks; i++)
            {
                if (!tasks.Contains(allTasks[i]))
                    tasks.Add(allTasks[i]);
            }  
        }

        numTasks = tasks.Count;  

        modValues = new float[numTasks, numStates];

        for (int i = 0; i < numTasks; i++)
            for (int j = 0; j < numStates; j++)
                modValues[i, j] = Random.Range(-0.1f, 0.1f);
    }