private void Start()
    {
        Agent      = GetComponent <Agent>();
        Plaques    = Agent.Plaques;
        Professors = Agent.Professors;


        Instantiate(ActionManagerPrefab);

        var paulKryFind        = new FindProf();
        var paulKryPlaque      = new ReadPlaque();
        var paulKryAdvice      = new GetAdvice();
        var paulKryInteraction = new InteractionSequence();
        var paulKryIdle        = new Idle();

        paulKryInteraction.Add(paulKryFind);
        paulKryInteraction.Add(paulKryPlaque);
        paulKryInteraction.Add(paulKryAdvice);
        var paulKryAdviceSequence = new InteractionSequence();

        paulKryAdviceSequence.Add(paulKryInteraction);
        paulKryAdviceSequence.Add(paulKryIdle);

        var clarkFind        = new FindProf();
        var clarkPlaque      = new ReadPlaque();
        var clarkAdvice      = new GetAdvice();
        var clarkInteraction = new InteractionSequence();
        var clarkIdle        = new Idle();

        clarkInteraction.Add(clarkFind);
        clarkInteraction.Add(clarkPlaque);
        clarkInteraction.Add(clarkAdvice);
        var clarkAdviceSequence = new InteractionSequence();

        clarkAdviceSequence.Add(clarkInteraction);
        clarkAdviceSequence.Add(clarkIdle);

        var prakashFind        = new FindProf();
        var prakashPlaque      = new ReadPlaque();
        var prakashAdvice      = new GetAdvice();
        var prakashInteraction = new InteractionSequence();
        var prakashIdle        = new Idle();

        prakashInteraction.Add(prakashFind);
        prakashInteraction.Add(prakashPlaque);
        prakashInteraction.Add(prakashAdvice);
        var prakashAdviceSequence = new InteractionSequence();

        prakashAdviceSequence.Add(prakashInteraction);
        prakashAdviceSequence.Add(prakashIdle);

        var kimFind        = new FindProf();
        var kimPlaque      = new ReadPlaque();
        var kimAdvice      = new GetAdvice();
        var kimInteraction = new InteractionSequence();
        var kimIdle        = new Idle();

        kimInteraction.Add(kimFind);
        kimInteraction.Add(kimPlaque);
        kimInteraction.Add(kimAdvice);
        var kimAdviceSequence = new InteractionSequence();

        kimAdviceSequence.Add(kimInteraction);
        kimAdviceSequence.Add(kimIdle);

        var futureFind        = new FindProf();
        var futurePlaque      = new ReadPlaque();
        var futureAdvice      = new GetAdvice();
        var futureInteraction = new InteractionSequence();
        var futureIdle        = new Idle();

        futureInteraction.Add(futureFind);
        futureInteraction.Add(futurePlaque);
        futureInteraction.Add(futureAdvice);
        var futureAdviceSequence = new InteractionSequence();

        futureAdviceSequence.Add(futureInteraction);
        futureAdviceSequence.Add(futureIdle);

        var drakeFind        = new FindProf();
        var drakePlaque      = new ReadPlaque();
        var drakeAdvice      = new GetAdvice();
        var drakeInteraction = new InteractionSequence();
        var drakeIdle        = new Idle();

        drakeInteraction.Add(drakeFind);
        drakeInteraction.Add(drakePlaque);
        drakeInteraction.Add(drakeAdvice);
        var drakeAdviceSequence = new InteractionSequence();

        drakeAdviceSequence.Add(drakeInteraction);
        drakeAdviceSequence.Add(drakeIdle);

        var randomprofs = new RandomProfSelector(Professors, Plaques, Agent);

        randomprofs.Add(paulKryAdviceSequence);
        randomprofs.Add(clarkAdviceSequence);
        randomprofs.Add(prakashAdviceSequence);
        randomprofs.Add(kimAdviceSequence);
        randomprofs.Add(futureAdviceSequence);
        randomprofs.Add(drakeAdviceSequence);

        _myTree = new BehaviorTree(randomprofs);
        _myTree.InitializeTree();
    }
 /// <summary>
 /// Method that attempts to send a path-finding request for the agent from its current
 /// location to the location of the node's prof's plaque's tranform.
 /// </summary>
 /// <param name="findProf">The leaf node calling this method.</param>
 public void FindProfessor(FindProf findProf)
 {
     findProf.Agent.RequestPath(findProf.Plaque.transform);
 }