Exemple #1
0
        void Awake()
        {
            patrolManager = transform.GetComponent <PatrolManager>();
            nodeDiameter  = nodeRadius * 2.0f;
            gridSizeX     = Mathf.RoundToInt(gridWorldSize.x / nodeDiameter);
            gridSizeY     = Mathf.RoundToInt(gridWorldSize.y / nodeDiameter);

            foreach (TerrainType region in walkableRegions)
            {
                walkableMask.value |= region.terrainMask.value;
                walkableRegionsDictionary.Add((int)Mathf.Log(region.terrainMask.value, 2), region.terrainPenalty);
            }

            patrolManager.InitGridSize(gridSizeX, gridSizeY);
            //patrolManager.CheckExistArea("Border");
            patrolManager.CheckExistArea("UpBorder");
            patrolManager.CheckExistArea("DownBorder");
            patrolManager.CheckExistArea("LeftBorder");
            patrolManager.CheckExistArea("RightBorder");
            CreateGrid();

            offsetX = transform.position.x;
            offsetZ = transform.position.z;

            chooseValue = Mathf.FloorToInt(obstacleProximityPenalty / (blurSize * blurSize)) + chooseOffset;

            MaxBorderPoint = transform.position + 0.5f * new Vector3(gridWorldSize.x, 0, gridWorldSize.y);
            MinBorderPoint = transform.position - 0.5f * new Vector3(gridWorldSize.x, 0, gridWorldSize.y);
            Debug.Log(MaxBorderPoint + "   " + MinBorderPoint);
        }