// Use this for initialization
    void Start()
    {
        initialPos = transform.position;
        agent = GetComponent<NavMeshAgent>();
        seekAllOtherPlayers();
        InvokeRepeating("chooseATarget", 0, 1f);

        #region startTree
        Task taskSeePlayer = new Task(seePlayer);
        Task taskCAnShoot = new Task(canIShoot);
        Task taskShoot = new Task(shoot);
        Task taskEsquive = new Task(esquive);
        Task taskIsNear = new Task(isNear);
        Task taskIdle = new Task(stay);
        Task taskWalk = new Task(walk);

        S1 = new Selector();
        Selector S2 = new Selector();
        Selector S3 = new Selector();

        Sequence SE1 = new Sequence();
        Sequence SE3 = new Sequence();
        Sequence SE4 = new Sequence();

        List<NodeTree> list1 = new List<NodeTree>();
        list1.Add(taskIsNear);
        list1.Add(taskIdle);
        SE4.addListNode(list1);
        List<NodeTree> list2 = new List<NodeTree>();
        list2.Add(SE4);
        list2.Add(taskWalk);
        S3.addListNode(list2);
        List<NodeTree> list3 = new List<NodeTree>();
        list3.Add(taskCAnShoot);
        list3.Add(taskShoot);
        SE3.addListNode(list3);
        List<NodeTree> list4 = new List<NodeTree>();
        list4.Add(SE3);
        list4.Add(taskEsquive);
        S2.addListNode(list4);
        List<NodeTree> list5 = new List<NodeTree>();
        list5.Add(taskSeePlayer);
        list5.Add(S2);
        SE1.addListNode(list5);
        List<NodeTree> list6 = new List<NodeTree>();
        list6.Add(SE1);
        list6.Add(S3);
        S1.addListNode(list6);

        #endregion

        InvokeRepeating("checkTree", 0, 0.1f);
    }