public void init()
    {
        //set ref
        managerScript         = Ref.getManagerGO().GetComponent <Manager>();
        gridScript            = Ref.getGridScript();
        boxCollider           = GetComponent <BoxCollider>();
        predictPathScript     = GetComponent <PredictPath>();
        getCoveredNodesScript = GetComponent <GetCoveredNodes>();


        if (managerScript.isLocalAvoidance)
        {
            getCoveredNodesScript.getPredictBox().SetActive(false);
            //change layer of obstacle to Unwalkable
            gameObject.layer = 9;
        }
    }
    void Start()
    {
        //set ref
        managerScript = Ref.getManagerGO().GetComponent <Manager>();
        gridScript    = Ref.getGridScript();
        GameObject activeAgent = managerScript.getActiveAgent();

        followPathScript  = activeAgent.GetComponent <FollowPath>();
        agentPropsScript  = activeAgent.GetComponent <AgentProps>();
        boxCollider       = GetComponent <BoxCollider>();
        obstManagerScript = GetComponent <ObstManager>();

        predictAheadTimeFrames = (agentPropsScript.cooperationLenght * 2 + 1);
        getCoveredNodesScript  = GetComponent <GetCoveredNodes>();
        getCoveredNodesScript.setPredictAheadTime(predictAheadTimeFrames);
        getCoveredNodesScript.init();
        lastNPoints = new List <Vector3>();
    }