Exemple #1
0
    //-----------------------------------------------------------------------------------------------
    private void DrawAgent(Agent agent, int agentIndex)
    {
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.LabelField(agent.gameObject.name);
            EditorGUILayout.LabelField("Next Task Index: " + agent.CurrentPlanIndex);
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.LabelField("");

            // Task info
            EditorGUILayout.BeginVertical();
            {
                PlanRunner agentPlanRunner = agent.ActivePlanRunner;
                Plan       agentPlan       = agentPlanRunner.PlanToExecute;

                if (agentPlan != null &&
                    agentPlan.TaskList.Count != 0)
                {
                    int planRunnerIndex = agentPlanRunner.CurrentPlanIndex;

                    for (int taskIndex = 0; taskIndex < agentPlan.TaskList.Count; ++taskIndex)
                    {
                        PrimitiveTask task = agentPlan.TaskList[taskIndex];
                        if (taskIndex == planRunnerIndex)
                        {
                            EditorGUILayout.LabelField("(Next) " + (taskIndex + 1) + ". " + task.Name);
                        }
                        else
                        {
                            EditorGUILayout.LabelField((taskIndex + 1) + ". " + task.Name);
                        }
                    }
                }
                else
                {
                    EditorGUILayout.LabelField("(Needs plan)");
                }
                EditorGUILayout.LabelField("");
            }
            EditorGUILayout.EndVertical();

            EditorGUILayout.EndHorizontal();
        }
    }
Exemple #2
0
 /// <summary>
 /// Start時に1度だけ呼ばれる
 /// </summary>
 protected virtual void OnStart()
 {
     planRunner = new PlanRunner(this, rootTask);
     planRunner.UpdatePlan(worldState);
 }